NTE003 - 物质设定简介
1
核热速递的世界中,实体物质主要由限元、限元键和限元场组成。
前言
由于计算机机能限制,游戏设计必须有很大的妥协(不然为什么不直接搓成地球OL模拟呢?),因此,在游戏设计时,必须对现实世界进行简化,同时引入一些刻意的游戏设计来提高世界的自洽性。因为这些简化,所以必然会提到些许游戏实现,不过本文主要内容还是游戏设计。
如果没有加单位,默认采用“万国公制”。
简化之处
物质尺度
在现实世界中,物质尺度非常复杂,从原子到分子,再到宏观物体,再到宇宙,尺度跨度极大。而在游戏中,为了简化,我们相当于放大了分子到宏观尺度(1尺),并称之为限元物质(unit substance),简称限元。限元间可以通过限元键连接,类似于现实中的分子间作用力成的化学键,拥有多种分类,以实现不同的物质种类。
同时,为了计算机能够运行,星球的尺度被缩小。 本游戏的星球放缩尺度约为1:100,即一个类地宜居星球在本游戏中直径为120k尺,地表重力为1g。 下列几个参考游戏中的星球尺度:
- 1:1(不放缩),如RKSP,Space Engine,CDE等
- 1:10,如KSP,SR,Juno: New Origin等
- 1:100到1:1000,如Space Engineer(直径12-120km的行星)等
- 1:24000,星际拓荒
- 1:40000,戴森球计划
旧设定 - 支持混合物的限元物质
已弃用设定:两个或多个混合物体系的相互反应实现难度大增,且在不规定一个限元物质可以拥有的化学物质种类的情况下,会带来很大的额外化学系统计算开销。
旧设定 - 多碰撞箱形式的限元物质
已弃用设定:限元物质有三角形、圆形等碰撞箱,由于现在有了更好的、统一的办法,因此弃用。
限元 - 限元物质的载体
何为限元?限元之名取自“有限元”,但并非应用了有限元方法。限元只是一种拉格朗日视角下的应用了部分元胞自动机思想的模拟质点。
限元一般携带的属性有:交互范围场,刚体类排斥场,成分属性,位置属性,约束状态,动热属性,电磁属性。
交互范围场
我们可以将交互范围场理解为物质的可能性位置(由于热和其他效应导致,但由于约束和其他物质的碰撞并没有真的移动)。
两个限元的交互范围场相交便可以进行成键尝试,表示两个限元间可以存在交互。
同时,限元会与交互范围场内的物质进行化学反应尝试。
我们所关心的碰撞检测一般指的就是交互范围场之间的碰撞。
刚体类排斥场
刚体类排斥场对空间进行了宣称,一般而言,不希望看到刚体排斥场相交。使用刚体约束来处理。
约束状态
约束状态记录了目前存在的约束了限元的键,可以分为短程约束与长程约束。其中,短程约束即一般性的限元键。
约束状态会影响限元的动热转化和其运动。
一般而言,我们可以根据物质的约束状态将其分为凝聚态和非凝聚态。
动热属性
由于动热一体设计,限元的动属性和热属性被整合,并可以在一些情况下相互转化。
在限元稀疏的情况下,限元趋向于动代热,其热属性被消灭,完全转化为动属性,高速移动。
在限元稠密的情况下,限元趋向于热代动,其动属性被转化为热属性,限元相对速度降低。
我们可以这样理解:在稠密环境下,由于在一个步长内发生的大量碰撞,限元被其他物质限制了移动,表现为几乎不移动,因此出现了热代动的现象。而在稀疏环境下,限元可以自由移动,没有热意义,因此出现了动代热的现象。
请注意:在全过程中需始终保持动量守恒。
物质的组织 - 相态
自由与约束 - 基本相态简述
物质的相反应了大量限元的一个运动规律。而这种规律在游戏中由约束体现。 我们根据约束和表现将物质大致分为以下几种基本相态:
固态、液态、气态、超临界流体态、等离子态、粒子态、自由态。 其中,固态、液态中的限元处于凝聚态,其他的处于非凝聚态。
凝聚态下的物质有基本完全的热代动转化。如果一个凝聚态限元失去了最后一个短程约束键,会立即转化为非凝聚态并有完全动代热转换,以满足动量守恒。
我们有时也将超临界流体态、稠密环境中的气态组织下的限元作为准凝聚态或亚凝聚态物质,由于其热代动属性。
凝聚态物质
固态
固态组织下的限元,有固态限元键连接,本身的交互范围较小,略大于其刚体约束范围。
固态限元键一般分两种:纯弹性键和刚体键。
纯弹性键是类似弹簧的模型,只有力的约束来试图维持两个限元间的距离。因此允许的固体声速相当小。
我们可以将刚体键试做一种劲度系数相当大的弹性键,由于受到游戏步长限制,为了满足刚体键的表现,我们需要引入刚体代限元机制来处理。
液态
液态组织下的限元,有液态限元键连接,本身的交互范围较小,略大于其刚体约束范围。
液态键类似于固态中的纯弹性键,但是液态键通常服从流体约束,且有来去自由机制(距离近自动形成液态键,距离远自动断开液态键)。
非凝聚态物质
超临界流体态
超临界流体态组织下的限元,有超临界流体态限元键连接,本身的交互范围较小,略大于其刚体约束范围。
满足超临界相变判据的时候,气态键或液态键转化为超临界流体键,反之亦然。 超临界流体态限元键类似于液态键,尽管此时限元本身属于非凝聚态,其表现却类似液态。在游戏中我们将其视作一个近乎液态的稠密气态情形来处理。
气态
气态组织下的限元,有气体限元键连接,本身的交互范围随压力、温度可变,通常远大于其刚体约束范围。
在满足一定条件时,限元会进行动代热转化尝试,若尝试成功,其解除所有短程键约束并飞出。
气体键通常只给予两个限元压力,同样来去自由机制。
等离子态
目前,我们可以将等离子态视为气态的一个亚型,只不过限元的电磁属性有所差异。
粒子态
目前尚无明确设定。
自由态
自由态是对单个独立限元的称呼。由于其无约束限制,无热意义。通常由脱离其他组织态的限元转化而来。我们有时可以将其视作空间气体来处理。
不同相态组织限元间的交互
一般而言,气体平等的与其他任何接近的的物质形成气体键进行排斥。液体/超临界流体物质则与固体物质成浸润/非浸润键来产生吸引或排斥力。 不同的固体物质间若发生碰撞则有刚体约束系统来处理,同时也会调用反应系统来处理可能的反应。
超低温 - 其他相态
这里主要阐述游戏中超流态、超导态、爱因斯坦-玻色凝聚态的实现。
超流态 - 热简并对象
超流态/超固态物质中没有温差,因此我们将其视为一个热简并对象,限元本身不再处理热属性,而是交给这个热简并对象来处理。
满足超流判据的时候进行转化。反之亦然。 通过在基础键上添加超流键来实现。如果是液态物质,同时获得零黏度属性。
超导态 - 电简并对象
超导态物质中没有电阻,不存在电势差,因此我们将其视为一个电简并对象,限元本身不再处理电磁属性,而是交给这个电磁简并对象来处理。
满足超导判据的时候进行转化。反之亦然。 通过在基础键上添加超导键来实现。
爱因斯坦-玻色凝聚态 - 全简并对象
同时有超导超流效果。不管有没有满足超流或超导判据(尽管大部分情况下是都满足了)。
满足爱因斯坦-玻色转化判据的时候进行转化,反之亦然。 通过在基础键上添加爱玻键来实现。