我在“系列作品”功能上取得了不错的进展。虽然视觉上可能看不出什么变化,但底层逻辑已经有了大量改动。由于这些改动会增加 CPU 的负载,我必须花时间对所有能优化的部分进行优化。废话不多说,这就为你详细道来!
本周回顾
让我们直接进入“系列作品”的主题。在这个版本中,游戏已经开始编译你的创作数据,并将其组织成系列。加载存档时会花费一点时间,存档越大,加载时间也就越长。它到底在编译什么?问得好。City Game Studio 会为每一款非续作、非年度版、非移植版或非重制版的游戏创建一个系列。然后,它会遍历所有尚未归入系列的游戏,并将它们分配给相关游戏的系列:续作归入前作系列,重制版或移植版则归入原始游戏系列。

一旦系列构建完成,City Game Studio 就会计算出评分最高的游戏和销量最好的游戏。最后,它会计算出整个系列的综合评分,以及每个系列的粉丝数量、总收入和销量。所以,后台确实在进行大量的运算工作。
这意味着额外的计算量,所以我认为最好对游戏进行一些优化。我重构了 City Game Studio 计算每款游戏销量的方式。它现在速度更快,且占用的内存更少,非常完美。我还进行了第二次优化,将显示所有游戏图表时的计算时间缩短了 30%。这是因为我现在调用了一个比之前更轻量的函数。只需修改一次调用,砰的一声,图表显示速度就快了 30%。
既然已经深入到了旧代码中,我就顺便解决了不少老旧的错误。其中一个涉及 City Game Studio 发出的 HTTP 请求。例如,游戏在连接 Twitch 时会发送请求。之前,每个 HTTP 请求都有导致游戏崩溃的风险。谢天谢地,这个问题已经修复了。
另一个相当古老的错误是 Windows 窗口模式下鼠标光标偏移的问题。我不得不重新编译了 Godot 引擎,但这个错误现在已经修复了。事实证明,偏移是因为引擎没有正确考虑到 Windows 窗口装饰导致的。
还有一个修复,然后我就告诉大家系列作品功能的下一步计划。那就是员工体力条在发布游戏时会消失的问题。天哪,这个错误修复起来真是让人头疼。我不得不彻底重构它,因为它之前没有正确使用 UI 管理框架。结果就是,现在它运行起来更流畅,效果也更好了。
后续计划
关于系列作品,你可能已经注意到一些信息仍然缺失。例如,我们还不知道一个系列有多少 DLC。实际上,是游戏本身缺少这些信息,而不一定是系列本身缺少。如果每款游戏都能显示其 DLC 和更新的数量会很好。所以我计划在接下来的几周内研究一下这一点。此外,目前你还无法在游戏中看到系列作品。我会尽快着手处理,好让你最终能看到它们。
好了,本期开发日志就到这里,感谢阅读。下周见。在此期间,请保重(没错,我每周都会写这句话)。
Xavier 又名 Binogure
【来源:steam】

