我正在开发一个2D顶视角的殖民模拟游戏,使用Rust进行模拟,通过gdext与Godot作为渲染引擎。Rust是大脑:一个巨大的sim.rs运行整个世界,风扇在CPU核心之间工作,游戏保持决定性。 我已经写了超过100k行代码,但我仍然没有一个游戏,只有很多系统慢慢地连接起来。 而单独消耗最多时间的就是分块流式世界。 我建立了性能基准测试系统,并在世界中填充了5k名殖民者,发现瓶颈出在关系形成处。 每个人都与世界的任何地方的人成为好友! 当我开始开发时,我从一个场景开始,构建“场景”以在独立测试系统。 这样很快就可以迭代,但从来没有形成一个整体的游戏。 所以我开始移除场景代码并将其替换为一个连续的、分块的、流式世界,每个系统都从开始就被植入。 这次迁移花了我太久了,我现在正在忽略除世界生成测试外的所有测试,以避免范围爆炸。 目前,我专注于生成世界,选择其中的一个点,将玩家扔进他们选择的块中。 没有其他内容。 你们如何决定模拟(而不是仅仅是渲染)中的块边界? 俯卧者行走和运输跨块边界时,我的决定性就被打破了。 当有很多系统但没有游戏时,如何得到可玩的循环? 是否剪掉系统,扔掉代码,之后再从git中恢复,还是强制进入并不断地使用绷带?