【问题标题】:Browser based game behind the scenes基于浏览器的游戏幕后
【发布时间】:2014-01-07 00:39:35
【问题描述】:

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

City calculateCityState(City databaseCity, long msTime);

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

【问题讨论】:

    标签: browser


    【解决方案1】:

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

    【讨论】:

    • 如果一个城市与另一个城市交互,例如city1想查看city2的资源,我宁愿认为city1的所有者必须计算city2的CityState()。
    猜你喜欢
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2022-06-10
    • 2010-12-17
    • 2019-04-19
    • 1970-01-01
    相关资源
    最近更新 更多