私はTCPソケット、UDP通信などの基本を持っていますが、これらをリアルタイムゲーム環境に適用する方法についてはあまりわかりません。
私は4プレーヤーのPongクローンを持っていて、3つのクライアントとサーバーの間でパドルの位置を同期する必要があります(サーバーは4番目のプレーヤーです)。現在、UDPを使用してリアルタイムの更新(パドルの動き)を送信し、TCPを使用してゲームロビーを設定しています。
大量のUDPトラフィックをスパム送信するのは悪いことですか?輻輳機能については、DCCPのようなものを検討する必要がありますか?それとも、これはこのような小規模プロジェクトでは本当に問題ではないのですか?
クライアント/サーバー間で同期メッセージを送信する必要があるのはいつですか?現在、サーバーは、現在のゲーム状態のUDPパケットを管理可能な限り速くスパム送信しており、クライアントは、パドルの位置をできるだけ早くサーバーに送信しています。これはそれを行うための最良の方法ですか?Xミリ秒ごとにメッセージが送信されるように追加する必要がある遅延のようなものはありますか、またはイベントが発生したときにのみメッセージを送信する必要がありますか?(例えば、ユーザー入力によりパドル速度が変化した)
クライアントにパドル位置をピアツーピアで通信させる方が良いでしょうか?
私はPongのコンテキスト内でこれらの質問をしていますが、これらの問題が他のゲームまたは一般化されたソリューションでどのように克服されるかにも興味があります。