数え切れないほどのスタック オーバーフロー スレッドや Web 上の記事を読んで、これが何度も議論されてきたことに気づきました。現在、VPS で実行されている TCP 非同期 C# .NET サーバーを使用しています。
これは、プレイヤーをゲームに接続するなどのマルチプレイヤー ロビーでうまく機能するようになりました。私の主な問題は、ゲームの開始時です。だから私の研究では
Interpolation に関するいくつかの非常に役立つスレッドを見つけて、基本的な (Difference (Serverpos - Localpos) * Deltatime (Time between server updates?) * Interpolation Constant) に案内してくれました。これは、フレームレートを滑らかにするという意味では機能しましたが、サーバーの更新時間にはまだ一時的な遅れがありました.
ただし、私の主な問題は、加速度計を使用して各プレーヤーの位置を更新していることですが、サーバーがそのデータを受信して加速度計の更新と同じ速さで処理できないため、混乱が始まります。
そのため、今日は単純にデータをサーバーに送信しようとしましたが、最大転送時間は約 350MS であり、誤ってメッセージを結合することはありません。
その後、「推測航法」に出くわしました。これは理論的には機能しますが、理論的には最新のパドル位置を追跡できないためです。相手のパドルにボールが当たるとどうなりますか? パドルを所定の位置に自動的にジャークし、ボールの位置を反転しますか?
基本的に、これを行うためのさまざまな方法を理論化するだけで、大きな輪の中で自分自身を回転させたと思います. UDP も認識していますが、Pong マルチプレイヤーで UDP 接続を実行する必要があるとは想像できません。TCP を使用する方法が必要です。
とにかく、皆さんが私を助けてくれてありがとう。私はこれが初めてで、ネットワーキングのウェブで迷子になったと思います。