クライアントとサーバーで同じ「物理」ループを実行するリアルタイムマルチプレーヤーゲームを構築しています。私は、本質的なランダムな動きであるステアリング動作「ワンダー」を使用しています。ワンダーアルゴリズムを実行すると、クライアントとサーバーは異なる乱数を生成します。
自然にランダムに見える動きをどのように保つことができるのか疑問に思っていますが、クライアントとサーバーが同じ結論になることを保証する定数を使用します。
4
擬似乱数列から同じ乱数列を生成するのは簡単です。難しいのは、そのシーケンスの使用を同期させることです。ランダムシーケンスを使用していないという意味ではなく、ゲームロジックを確定的にする必要がありますが、ランダムシーケンスを確定的に使用する必要があります。これを実現する最も簡単な方法は、通常、ゲームロジックループで同時実行性を回避することですが、PRNGにランダムな値を要求するときにスレッドがPRNGのタイミングとシーケンスに依存しない限り、同時実行性を持つことが可能です。ここでドラゴンになります。
—
Lie Ryan 14