在设计飞船建造的游戏时,我想做一个空气流动的模拟系统。这里有一个初步的方案,不知道好不好,先记录一下:
为什么要做基于格子而不是基于舱室的空气模拟?例如, FTL 的氧气气压模拟就是基于房间的。
因为,这个模拟需要结合游戏本身其它玩法的需要。预计之后会做气闸舱,真空室等设定。需要有一个更微观的空气流动模拟,简单的给船舱加上气压的数值是不够的。和 FTL 不同,我希望做一个基地建设风格的游戏,舱室的结构是动态的,难以以房间为单位计算。
目前有气体流动模拟的游戏中,最流行是缺氧。为什么不直接使用缺氧的模拟系统?
缺氧的基本规则是:每个格子只能有一种物质,这种物质可能有三态:固态、液态、气态。物质会因为温度发生三态转换。不同形态的物质属于不同的东西,每一格不能混装。特殊情况下,气体会直接消失。气体倾向于从高压格流向临近的低压格,并受重力影响向下运动。
缺氧的流体系统是和其它游戏系统相结合的:动植物需要在不同的气体环境下生长,小人会对环境气体尤其是有毒气体做出反应。这些玩法我应该不会做。尤其是,我的游戏地图是平面的,和缺氧不同,没有上下之分,所以不考虑气体重力分层。
对于缺氧来说,它的核心玩法之一是治理无序的自然空间。在玩家拓展空间时,必须考虑原有空间的环境。配合这个设定,才有衍生玩法。而我暂时不想在我的游戏中设计这些。我需要和气体模拟相配合的玩法主要是,根据环境气压影响人物或动植物的状态。
我希望模拟系统简单、准确、符合直觉。
简单:每个格子可以单独运算,不涉及复杂的公式。
直观:尽可能符合玩家的预期。例如,空气从高温区流向低温区,从高气压处流向低气压处,直到平衡。如果空气中混入一点毒气,也会缓慢的随时间扩展,稀释。
准确:规则上可以保证,不会因为模拟计算的误差而出现气体总量的变换。
下面还有一些对玩法的初步想法,尚未推敲细节: