0

ogame や travian などのブラウザ ベースのゲームが舞台裏でどのように機能しているかについて質問があります。これらのゲームのそれぞれで、すべてのプレイヤーは、鉄、木、石などのリソースを持つ独自の惑星または都市を持っています。各惑星/都市には、その資源を生産する適切な建物もあります。そして今、私のトピックのポイントは、サーバー上でゲームがどのように機能しているのか? オンラインのプレイヤーが 100 人しかいない場合でも、毎秒 10000 人のプレイヤーの都市の状態を更新する計算がサーバー上で実行されるかどうかは想像できませんでした。むしろ、引数として与えられた時間の後に都市の状態を計算する関数があると思います:

City calculateCityState(City databaseCity, long msTime);

最初の引数としてデータベースから都市の状態をタイムスタンプとともに渡し、2 番目の引数として、時間とともに変化するリソースやその他のものを都市に持たせたい後に時間を渡します。たとえば、データベースから現在の木材の量、Luberjack の生産量がわかっていれば、msTime の後にすべてのリソースを簡単に計算できます。これについてあなたはどう思いますか ?私は正しいですか?

4

1 に答える 1

0

まあ、それは設計上の選択です。間違いなく理にかなっているのは、オフラインの場合は毎秒実行しないということです. 一方、あなたが持っているリソースは他のユーザーに影響を与える可能性があります。例えば。ユーザーは、自分を攻撃できるように、リソースが最も多いプレーヤーを見たいと考えています。これは、これらの数値がおそらく特定の間隔で計算されることを意味します。10分ごと。

于 2013-03-26T11:55:30.213 に答える