ネット対戦対応計画 -2- 99/11/06

さて、前回では接続に成功しました。
いよいよ次からは、こちらの情報を相手に「送信」しなければなりません。
これが遅いと、ゲームにならないようです。

DelphiX付属の「DXPlay」コンポーネントでは、
データ送信には「OnMessage」イベントと 「SendMessage」関数を使います。
前者はデータを受信したときに発生するイベントで、後者はデータを送信する
ものです。主に使うやつは、こんだけで済みます。


それでは、適当に送信について説明したので、
実際に送信してみましょう。
送信方法よりも、こっちの方が厄介です。

例として、「百人組手」をネット対戦対応にさせようとしてみました。
ご存知のとおり、リアルタイムの格闘アクションゲームです。

まず「こちらの情報」をあっちがわに送るわけですが、
どう送ればいいでしょうか?
私がまず思いついたのは、 「常にこちらの必要な全情報を送信」
というものです。試しにやってみたら、LANでも話にならないくらいの遅さでした。


次に、データ量を小さくしてみました。
しかし、これもアウト。考えてみれば、秒間60フレームのげーむで、
10 バイトずつ送っているとしても、毎秒 60 * 10 = 600 バイト送っていることになります。



実際に送っているデータは、
自分の位置、アニメーション情報、当たり判定情報...
と計100バイトを超えていました(^^;)
これをリアルタイムで送ることは、どうやら無理みたいです。

うーん、困った。
これじゃせっかくLAN環境があるのに、ネット対戦さえできやしない。
どうにかして、データを小さくしないと....。

こうして、「ネット対戦対応計画」の初日は幕を閉じました。



次へ

もどる