« 【よみもの】もーりおのつぶやき 第17回 | メイン | 【よみもの】もーりおのつぶやき 第18回 »

2007年09月19日

【講座】「教えて!おにたま!!」

<和之 さんからのおたより>
hspsockを使って4台のパソコンを使って4人対戦ゲームを作り
たいんですが、ソケットの使い道などがよくわからず、
2人対戦が限界です。やり方とかってあるんですか?
32人までできるそうですが、二人対戦が限界でした・・・

<こたえ>
お便りありがとうございます。
hspsockは、様々な通信機能を持ったプラグインですが、
基本的には1対1でデータを送受信することを想定しています。
1つのサーバーソケットに対しては、1つのクライアントのみ
接続することができます。
複数の相手と通信を行なう場合には、複数のソケットを
接続する必要があります。たとえば、4人同時に対戦する
場合では、サーバーの役割を行なう側で4つのソケットを
作成しなければなりません。また、データが到着した時にも、
すべてのマシンに同じデータを振り分けて同期する必要があり、
とても複雑なものになります。
一般的なネットゲームでは、ネット上にメインのサーバーを
持っていて、そのマシンがソケットの待ち受けや、データの
振り分けを行なっています。(HSP/O2は、この仕組みを利用
しています。)
メインのサーバーを持たず、ソケット(hspsock)だけで複数人数を
こなす場合は、P2Pと呼ばれる分野に近い構造となります。
hspsockを使って実現することは、不可能ではありませんが、
かなり難しいと考えた方が良いでしょう。
前述のHSP/O2は、HSP3から利用する場合に少し難がありますが、
複数人数で対戦を行なうのに適したプラグインです。
また、hspsock以外にも、pcbnetや、hspsockAなどの通信用
プラグインが存在するので、調べてみては如何でしょうか。

何にしても、二人対戦まで作れたのであれば、大いに可能性が
あると思います。これからも頑張ってください。

それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。

(おにたま)

投稿者 usuaji : 2007年09月19日 13:52

口臭チェッカー市場