0

我对 ogame、travian 等基于浏览器的游戏如何在幕后工作有疑问。在这些游戏中,每个玩家都有自己的星球或城市,那里拥有铁、木头、石头或其他任何资源。每个星球/城市也都有相应的建筑来生产该资源。现在我的主题是,游戏在服务器上的运行情况如何?我无法想象是否在服务器上每秒对 10000 名玩家进行计算,每秒更新他们所在城市的状态,即使只有 100 名玩家在线。我认为在给定时间后有一个计算城市状态的函数,例如:

City calculateCityState(City databaseCity, long msTime);

作为第一个参数,您从数据库中传递一个带有时间戳的城市状态,作为第二个参数,您希望在您的城市拥有资源和其他随时间变化的东西之后传递时间。如果您从数据库、luberjack 生产中知道例如您当前的木材数量,您可以在 msTime 之后轻松计算所有资源。你怎么看待这件事 ?我对吗 ?

4

1 回答 1

0

好吧,这是一个设计选择,绝对有意义的是,如果您处于离线状态,它不会每秒都这样做。另一方面,您拥有的资源可能会影响其他用户。例如。用户希望看到拥有最多资源的玩家,以便他可以攻击他。这意味着这些数字可能是在某些间隔计算的,例如。每 10 分钟一次。

于 2013-03-26T11:55:30.213 回答