5年後起業することを夢見る、初心者ゲームプログラマーの神楽坂 冬月による同人と気ままな日記ブログです。

スポンサーサイト

--.--.--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

あらたな ぶきを てにいれた!

2010.01.11
冬月 どもー
東方狼煙焔のプログラムを組んでいたら、思わぬ欠陥が生じているのにいまさら気づき
あたふたしている冬月です

なんでも
オンライン対応のゲームなのにその処理を一切考慮していなく、
大本から手無しを入れているそうです、冬華です
冬華

冬月 過去の冬月に文句言いたい。
何mこの拡張しにくいプログラム……
必死こいてプログラム上ではネットワークでも動くように改良しましたよ。

そのかわり、過去のプログラムと現在のプログラムが入り混じり
ブラックボックス化してしまい、自分でも何をどうしているのかわからなくなったそうです
それで大丈夫なんですか?
冬華

冬月 冬月のプログラムの仕組みから言って、画像表示とか基本的なところこそ
カオスになってます。どーせ、基本的な場所だからもういじらないと思ったんですが……
仕様追加(この場合NetWork対応)していくときにどうしても間に処理を挟むことになり、つぎはぎプログラムで対応したということなんですよね

後、大きなところは
敵の処理をどこに負担させるかとかネットワークの仕分けについてなんですよね
ここから長くなりますので「つづきから」でお願いいたします~
冬華

冬月 さて、今回ネットラークゲームということで
いくつか普通のゲームと大きく変えなくてはいけない場所があります



・敵の処理をどこで行うか
・最大何人のユーザーを参加させるのか
・各パソコン間での同期をどのように取るのか

オフラインゲームではまず問題にならないこの3点ですが

オフラインになるととんでもなく高い壁になってしまいます
冬華

冬月 まず、敵の処理をどこで行うのか ですが、普通のオンラインゲームならばサーバーで行えばいいので問題ないのですが、
このゲーム、モンハンやファンタシースターのような、あるPCが親になったり、ならなかったりするものだと
動的に処理を変化させなくてはいけないんですよね。

相互に情報を共有できるといいのですがこのゲームの場合、弾幕などの数多くの情報を保持するため
すべてを共有すると、ネットワーク量がハンパないことになり、
下手したらネットワークが落ちるかもしれません。
冬華

冬月 初めてネットワークゲームを作るので
どのデータを親に送って、親はどのデータを返せばいいのか効率のいい方法を
悪戦苦闘しながら考えています

今のところ、各プレイヤーのコントローラーのボタン情報を親送って、敵キャラも親で処理して
すべでの処理が終わったものを子に返しています
簡単に説明すると、『親になったパソコンがゲーム本体でそこから子になったパソコンにコントローラーだけが伸びている』ような感じでしょうか?
冬華

冬月 ただ、親にすべての処理を投げているので
親となったパソコンは多少のスペックが必要かと思います
といっても、最新のパソコンを持っていれば必ず動くようにはしているので下手に古いものを使っていない限り大丈夫だと思います

次に 最大何人のユーザーを参加させるのか?

ですね
冬華

冬月 プログラム的にはとりあえずの数として100人まで同時にアクセスできるようになっていますが
正直100人も同時にアクセスすればパソコンは落ちます。
せいぜい10~15人ぐらいを考えています

のちに、中央サーバーとかつくりそこで本当のMMOのような仕組みにできたらいいなと考えています


冬華

冬月 最後にパソコン間の同期をどうするかなのですが、これがちょっと難解ですね
同期を取ろうとすればデータ通信量が多くなります
いまの、『コントローラー情報送信法(冬月命名)』ではかなりの頻度で同期がずれてしまいます


同期がずれるというのは、
まず、AとBというパソコンでオンラインゲームをして遊んでいたとします
AとBは同じパソコンではないので、どちらかが何らかの影響で処理落ちを起こしたとします(今はBが処理落ちを起こしたと過程)
すると、Aで操作した情報が数秒間ほどBの方では適応されなくなります。しかし、その間にもAのほうではキャラが移動していたり、敵と戦ったりしているはずです
しかし、Bではその情報が伝わっていないために、Bから見たAのキャラクターは変な方向を向いて攻撃していたり、見当違いの方向に歩いているのかもしれません
これが、同期がずれたために起きてしまう状態です。

PSPのモンハンがよくこの状態に陥った記憶があります。
ランスがチャージして特攻していけど、見当違いな方向に進んでいるとかあったりします
ただ、モンハンの場合は一定間隔で座標をチェックして直すようになっているようです
冬華

冬月 以上のようなことがありまして
悪戦苦闘しながらプログラムしています。
ここさえ乗り越えればあとは簡単なんですけどねぇ。。。

目標は夏までですがどうなることやら~


冬華

関連記事

テーマ : 東方プロジェクト

ジャンル : ゲーム

コメント
コメントの投稿


管理者にだけ表示を許可する

FC2カウンター
プロフィール

神楽坂 冬月(かぐらざか ふゆつき)

Author:神楽坂 冬月(かぐらざか ふゆつき)
【イベント情報】

2015年08月14日(1日目)
コミックマーケット88に参加します!
【金曜日 東地区 "ソ" ブロック 43a】
です!
東方紅魔烏【ウォーシミュレーション】
妖夢龍剣伝(体験版)【アクション】
の2点を出店予定です
よろしくお願い致します!

-----------------------------------------
2014年12月29日
コミックマーケット87に参加します!
【月曜日 東地区 "ハ" ブロック 50a】
参加してくださった型、ありがとうございます&
お疲れ様でした!

-----------------------------------------

めざせ!業界有名人!ということで新米ゲームプログラマーとして活動しています。
次の段階へ移行!
5年後起業という目標に目指してがんばりますぞ!

バナー2
http://studio-cross.com/
HPも作ってますので、どうぞよろしくお願いします

pixiv
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。