2026年4月16日 · Mikhail Vasilyev

《构宙》开发日志:太阳系

Watch on YouTube

上个阶段新增了一个模拟——太阳系。这里还没有玩法,也没有真实的物理,只是引擎的一个演示。

太阳系

中心是太阳,周围环绕着带卫星的行星和小行星。每个天体都有属性:质量、大小、温度,还有十几项其他参数,而且全都基于真实的天文数据。于是它就像一部互动的维基百科——点开一个天体就能查看了解。目前这只是一个观赏模式:可以看,但不能玩。还有第二个模式,战术模式。那里的轨道是示意性的,没有运动,但画面被划分成六边形格子——在格子上调动舰队、建造空间站很方便,就像太空策略游戏那样。这是为将来的玩法做的铺垫。

模拟中的太阳系:太阳、带小行星带的行星,选中的行星打开了属性面板
同一个世界的战术模式——轨道被划分成六边形格子

引擎有什么新东西

这个月最主要的是做了一个带图形和动画的 2D 客户端。而在内部,解决了几个从老游戏一直拖到现在的问题。属性变成通用的了:拿质量来说,行星有,一袋米也有——这是适用于任何实体的同一种属性。具体用哪些属性,由每款游戏的设计来决定。

顺便也把很大和很小的数字理顺了。以前我们一些早期的游戏就栽在这上面:人口一旦超过十亿,就开始冒出万亿、亿亿这样的大数,根本没法好好显示。现在这类数值用十的幂来简短表示:10³⁰,而不是 1 后面跟着三十个零。混乱也就没有了。

整个系统可以随时用命令来改。格式很简单:/set,后面跟天体、属性和数值。下面是视频里的两个例子:

/set Jupiter Orbit 2
/set Earth Weight 1e35

第一条把木星挪到第二条轨道,离太阳更近——它的特洛伊小行星也跟着一起搬过去,就是那些一直待在它附近的小行星。第二条把地球加得很重,重到它塌缩成一个黑洞,其他所有属性一下子全没了。任何一步都能撤销——一切都会恢复原样。

用命令把质量加到 10³⁵ 的地球,塌缩成了黑洞

密度是引擎根据质量和大小自己算出来的。不过这里没有完整的物理,只是个演示:就像木星,哪怕紧挨着太阳也还是冷的,我只是没顾上做这块。

语音控制

在手机上,这一切都能用语音来控制。点一下麦克风,说出要做什么。“删掉火星”——行星连同轨道一起消失。“把木星和海王星的轨道对调”——它就对调了。“给太阳加上大气层”——它加了,不过是有毒的。AI 能听懂很多,但不是全部:你让它“把月球变好”,它就懵了,因为“好”是很主观的。而且目前所有的图形和说明都只针对太阳系:系外行星或者星系这样是加不进去的,那是另外的内容,还在计划里。

手机版:底部的语音控制按钮

语言与联机

语言用一条命令就能切换:

/lang arSA
/lang enUS

这样界面就切到阿拉伯语,再切回来,语言一共有二十多种。联机方面,可以再开一个客户端,连到同一个会话里——现在还只是演示,但将来就能这样一起联机玩工作室的老游戏,比如《大理石时代》之类。手机版几乎把这些都照搬了过来,所以躺在沙发上就能改太阳系。

模拟我已经放到网站上了——在模拟目录就能试。关于《构宙》和后续计划的更多内容,见《构宙》专区