私は最初のオンラインマルチプレイヤーゲームを構築しており、特定の範囲内のすべてのプレーヤーを見つける最良の方法を見つけようとしています。範囲内のものを探す
私は周りを見回しました。他のすべての解決策は、距離探索機能を組み込んだゲームエンジンAPIに基づいています。
各プレイヤーは生のx,y
の座標を持ちます。
私が考えた最初のことは、サーバー上のすべてのユーザーをループし、範囲内のユーザーをフィルタリングすることでした。単にPythagorasの定理を使用していました。しかし、もっと良い方法があるはずです。
私が考えている最も良いことは、約100(10 x 10)のセクションにマップを分割し、それに応じてセクションにユーザーを配置することです。私はその後、ユーザーがいるセクションを取得し、サーバー上のすべてのユーザーをループする代わりに、9つの四角形(3x3、ユーザーセクションおよびそれを囲むすべてのユーザー)のすべてのユーザーをループします。
これは、サーバー全体を1秒に1000回ループするよりも優れていると確信していますが、それを行う標準的な方法がありますか?
クライアント側とサーバー側の両方でliteを維持したいと考えています。