ゲームを開発していて、マルチプレイヤー オプションを追加しようと考えています。Snake などのリアルタイム ゲームなので、スプライトの位置を非常に高速に更新しています。
while (isRunning) {
...
if (sprite instanceof PlayerSprite) {
PlayerSprite player = ((PlayerSprite) sprite);
collisionManager.checkCollision(player, map, elapsedTime, currTime);
updatePosition(player, elapsedTime);
player.animeUpdate(elapsedTime);
}
...
}
最初に RMI を試してみました。すべての位置をオブジェクトに格納し、リモートにしました。したがって、サーバーとクライアントの両方がそれを更新できます。しかし、私が言ったように、リアルタイムで更新する必要があります。そして、RMI はこれを解決できるようには見えません。でも本当に初心者なのでよくわかりません。
私の質問は、RMI または単純な IO (ソケット) がリアルタイム ゲームに最適なソリューションでしょうか?
ソケットの方が優れている場合: ObjectOutput/ObjectInput を介して位置格納オブジェクトをクライアントに送信し、オブジェクトを更新 (および画面に描画) してから、更新されたオブジェクトをサーバーに送り返すことはできますか?
前もって感謝します:)