SimCity 的首席工程师 Simon Fox 在一篇新博客文章中解释了 Maxis 团队如何让游戏离线。
据福克斯称,他的团队一直在努力清理离线模式的道路,同时努力保持“模拟的完整性”。
“露西·布拉德肖曾经说过,‘如果没有大量的工程工作’,离线是不可能的,她是对的,”福克斯说。 “当我们完成时,我们将花费超过 6.5 个月的时间来编写和重写游戏的核心部分,以使其发挥作用。即使是看起来微不足道的事情,例如保存和加载城市的方式,也必须为了使该功能正常工作而进行彻底的修改。
“我希望它就像按下开关并告诉游戏与虚拟客户端而不是我们的服务器进行通信一样简单,但事实并非如此。为了使游戏正常运行,必须重写整个计算。”
Fox 表示,《SimCity》最初是为了依赖服务器而编写的,并且会定期对所述服务器进行 ping 操作,以获取其赖以保持模拟运行的关键数据。
“这意味着重写以前用 Java 存在的整个系统,并将其放入 C++ 中,”他进一步解释道。 “我们必须取消互联网管道的东西。有很多代码会访问服务器来寻找信息。我们必须编写大量代码来在本地生成这些数据,特别是区域信息。
“现在,所有的区域模拟都需要在本地完成。管理城市之间交易的算法需要重新调整,以使城市之间的行为对这种类型的游戏更加敏感。这本身就需要进行重大优化才能运行本地模拟。我们有义务让游戏在所有规格的机器上变得有趣且功能齐全。我们不希望喜欢多人游戏的人发现单人游戏由于优化不佳而瘫痪。
“我们必须删除游戏的某些部分才能使其正常运行。这意味着删除多人游戏中不可或缺的大量代码,包括支持交易、社交功能、全球市场、排行榜和成就的代码和 UI。而且,所有这些都不会影响多人游戏游戏。”
Fox 继续表示,离线模式目前处于 Alpha 阶段,处于测试的最后阶段,之后将作为 Update 10 的一部分发布。
留言