幕后的基于浏览器的游戏

时间:2013-03-26 11:40:30

标签: browser

我有一个问题,关于像ogame,travian这样的基于浏览器的游戏如何在幕后工作。 在每个游戏中,每个玩家都拥有自己的行星或城市,其中拥有铁,木材,石头或其他任何资源。每个星球/城市都有适当的建筑物来生产这种资源。现在我的主题是,游戏如何在服务器上运行?我无法想象,如果在服务器上每秒对10000名玩家进行计算,即使只有100名玩家在线,也会每秒更新一次城市状态。我认为有一个函数在给定时间之后计算城市状态作为参数:

City calculateCityState(City databaseCity, long msTime);

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

1 个答案:

答案 0 :(得分:0)

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