DelphiX付属の「DXPlay」コンポーネントでは、
データ送信には「OnMessage」イベントと
「SendMessage」関数を使います。
前者はデータを受信したときに発生するイベントで、後者はデータを送信する
ものです。主に使うやつは、こんだけで済みます。
それでは、適当に送信について説明したので、
実際に送信してみましょう。
送信方法よりも、こっちの方が厄介です。
例として、「百人組手」をネット対戦対応にさせようとしてみました。
ご存知のとおり、リアルタイムの格闘アクションゲームです。
まず「こちらの情報」をあっちがわに送るわけですが、
どう送ればいいでしょうか?
私がまず思いついたのは、
「常にこちらの必要な全情報を送信」
というものです。試しにやってみたら、LANでも話にならないくらいの遅さでした。
次に、データ量を小さくしてみました。
しかし、これもアウト。考えてみれば、秒間60フレームのげーむで、
10 バイトずつ送っているとしても、毎秒 60 * 10 = 600 バイト送っていることになります。
実際に送っているデータは、
自分の位置、アニメーション情報、当たり判定情報...
と計100バイトを超えていました(^^;)
これをリアルタイムで送ることは、どうやら無理みたいです。
うーん、困った。
これじゃせっかくLAN環境があるのに、ネット対戦さえできやしない。
どうにかして、データを小さくしないと....。
こうして、「ネット対戦対応計画」の初日は幕を閉じました。
次へ