calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< January 2019 >>

categories

archives

ネット対戦3D格闘ゲーム作ってみたい その10

0
    JUGEMテーマ:ゲーム


    今回は、コマンド入力やヒット判定をTCPサーバを経由して行うようにしてみました。


    今回のはデモ無しです。すいません。


    ラグがでないように、またタイミングや位置が万が一ずれた場合を考えたりしなくてはいけません。
    技の発生、ヒット確認等はそれぞれ自分のキャラ側で判定を行っています。

    例えば「1P側がパンチ出して2P側にヒットした」という動作をするのに
    ・1P側から、技が発生する旨サーバへメッセージ送信
    ・1P側/2P側で1P側技発生のメッセージを受信し、双方1P技モーション開始
    ・2P側から、当たり判定フレームでヒットを確認し、結果をサーバへ送信
    ・1P側/2P側で2P側技ヒットのメッセージを受信して、双方で食らいモーション開始
    というステップを踏んでます。

    自分の側の動作であっても、わざわざサーバに投げて帰ってきた値を拾って動作さてます。これは万が一サーバ側の反応が遅くなった場合のラグを同期させる対策と、第三者が観戦している場合の通信ロジックも作成しやすいという理由から。あと自分側も相手側も同じロジックで動作させる仕様にした方がプログラム的に楽という理由もあります。

    この手順でいけば、それぞれが技を同時に出した場合のカウンターヒット判定もある程度は対応できそうです。
    今回のテストでは体感できるほどのタイムラグはほとんどないです。多分日本国内で対戦する分には大丈夫かと予想してます。空中コンボとかも普通にできそうだし。

    ただ東京から離れた場所とか、ネット環境が遅い場所に行ってテストはしてみないと駄目でしょうね。あとはサーバが込み合ってきた場合の反応速度とかも。

    ある程度ゲームできたらβテストは必要かなと。

    コメント
    コメントする








       
    この記事のトラックバックURL
    トラックバック