- 88 名前:名前は開発中のものです。 [04/04/11 21:24 ID:Y7UXRpou]
- 22人がインターネットを通して対戦可能なリアルタイム3Dサッカーゲームを
作ってるものです。行き詰まってしまい、どうしようもなくなってきたので、 ここに書いてみました。クライアント−サーバ形式でTCPを使用します。 移動する場合を考えますと、 ・クライアントが移動イベントをサーバに送信する。 ・サーバは、他の21クライアントに上記の移動イベントを配信する。 となります。この時、クライアント->サーバ->クライアントと流れる時に 現在のインターネット環境では100ms前後の遅延が発生します。 その100msの遅延をどこでカバーすべきかというところで悩んでいます。 方法としてはいくつかあると思いますが、2つの方法が頭に浮かんでいます。 (1)送信元のクライアントでカバーする この方法は、キーやマウスからの操作を100ms後に発生するものと課程して、 100ms後の状態をサーバに送信します。この問題点は、100ms後の状態を予測 しなければいけないということです。人と人が当たった時など予測不能になります (2)サーバでカバーする 受け取った移動イベントに100msの遅延値をつけて、他のクライアントに配信 します。この問題点は画面上の自分のプレイヤーと他のプレイヤーが100msずれて いる状態で共存するということです。※現在はこの方法を採用しています。 2つとも一長一短です。通常ネット対戦ゲームを作る時、どういった手法を とるものなのかが分かれば・・。多分こんな書き方じゃ分からないだろなぁ。 慣れていないものですみませぬ。
|

|