专注于虚拟空间内自推演世界的构建与实现。
如何实现一个模拟世界(1):让世界带着过去继续运行
一个具体问题:当一个世界持续发生变化,又不断被查看、暂停、重新打开和干预时,它怎样保留自己的过去,让后续发展有据可循?
可以设想这样一个场景:几个地区之间存在物资供应关系,设施需要维护,角色通过有延迟的消息了解远处的情况。一名角色决定去领取物资时,依据的是它当时收到的报告;等它到达,库存可能已经发生变化。与此同时,其他角色仍在行动,新的消息仍在途中,生产也按自己的节奏继续。
在这样的世界里,角色掌握的信息可能有限,也可能过时。世界实际发生了什么、角色知道什么,以及它预计接下来会发生什么,需要分别处理。即使某次判断后来被事实推翻,我们仍应当能够找到它当时的行动依据,理解这个决定是怎样作出的。
当操作者开始介入,问题会进一步展开。我们可能想单独查看某个群体成员,之后再把注意力移到别处;可能暂停模拟,隔一段时间再继续;也可能回到一个过去的位置,改变生产条件,看看另一种发展。这些操作之后,已有角色的身份、已经发生的经历,以及尚未结束的影响,都需要有明确的去向。
我们将这个问题归纳为“跨操作连续性”。在已实现的操作范围内,原型能够在调整计算详细程度时保留已有角色的身份和状态,回查行动当时的信息依据,并从支持恢复的保存位置继续运行。恢复后,角色依据保留下来的状态重新安排后续行动;从过去建立分支时,新旧发展路径各自保留记录,让人能够继续观察不同条件下的演化。
第一阶段已经把这些能力放进同一个模拟场景中进行联合验证。在一个涉及三个相互连接地区的实验中,原型经过分段保存、重新打开和分支干预后继续运行,实验终点包含 24 个实际参与决策的主体。分支建立时仍在途的 9 条消息,也在该分支后续运行中全部送达。对象身份、原行动依据和历史边界另有相应的记录检查。这些结果支持了原型在所用场景与规则下的接续能力。
这项研究让我们能够具体考察:一个对象经历过什么,一次行动根据什么作出,以及改变条件后,哪些过去应当被继承。这些问题共同影响着我们能否持续观察一个模拟世界,并对它的发展作出有意义的比较。对于后续的模拟与创作工具,我们希望这种能力能够支持更长时间的探索,让创作者逐步设置条件、观察变化,再尝试不同的发展路径。
目前,第一阶段的成果包括运行原型、实验记录、技术报告预览稿,以及用于核对部分记录的配套材料。研发与文稿整理广泛使用了 AI 协作,现有验证来自项目内部,尚未经过外部独立复现。当前结论以已实现的规则和实验范围为依据,更广的场景、规模与操作边界仍需继续验证。