我玩过的一些四维游戏

(** 23年9月更新:添加了4DGolf4DMiner **)

要想进一步体验四维空间的“感觉”,在电脑上做一个交互程序是再好不过的了。我曾经梦到玩像3dMax那样的4D复杂建模软件(可惜不存在)。这里我将整理我玩过的四维程序(不一定算游戏),并给一些主观评价。

最近游戏圈子里比较火的《Miegakure》,现在还在开发之中,游戏宣传片号称是史上第一款数学意义上真正的4D游戏,但展现给我们的方式是比较抽象的截面法,截面都是选垂直于地面的。游戏以四面体胞为基础对象进行渲染,就像3D图形学里的三角形一样。宣传片里不仅有常规的超长方体房屋墙壁,还有3D的地面贴图、12面体胞柱体和椎体的结合体,甚至四维树。可惜作者只在youtube上放了几个Demo,不知要多久才能开发完。
miegakure

建模方面我认为还是比较符合我的“四维世界观”的,但不足之处一是截面法比较抽象,二是我不是很确定视图操作的灵活性和自由度是不是能让我能够“自由地”感受到四维的空间感。因为这个游戏的作者还开发了另一个游戏《4D Toys》(网上搜得到盗版),这个游戏的亮点是它有4D物理引擎!你可以控制超球碰撞,搭四维积木,甚至玩串在Hopf圆环上的超球珠子。当然,作者还是用的截面法。但是视图操作的灵活性我的体验极差:我不能随意选取截面方向,我能做的只能前后移动我的截面,无法给我全面的四维空间感(好像后面作者有更新加入旋转截面的功能了)。值得一提的是,《4D Toys》里面自带所有正多胞体“积木”,甚至还有我们之前讨论过的“圆环环”中的两种,我从这个游戏中发现其中一种圆环环被命名为“tiger”(像老虎一样凶恶的图形?其实是取自日式英语圆环tori的谐音),而且这似乎这个名称还是正式通用的,因为后来我在网站higherspace上也找到了对它们的描述。
4d Toys
23年更新1:
Mashpoe仿照minecraft制作了4dMiner。值得一提的是,我之前写的Minecraft4D(2020年)其实远比他的(2022年)早,所以我的应该才是世界上第一个四维MC哦!(虽然只能算个Demo)我直到23年初才发现4DMiner这个游戏的存在。
这款游戏首先操作上是第一人称截面法,且截面只可以绕z轴旋转,即截面永远垂直与地面。这款游戏的成功之处是它吸引了还不算少的玩家群体,但游戏社区里都过度把玩四维截面的性质,比如很多造密室的,即把入口弄得很小,然后特别的位置的截面才截得到那个入口才能走进去,更有人直接把这个当平行世界,一层一层地修三维建筑,把旋转截面只是当成通往不同平行世界的桥梁……玩家群体里很少有能理解四维世界的整体各向同性感。估计很多玩家的建筑都没法在体素照片中看。但也有玩家开发了可以支持体素视野的“全息投影”视图的mod!而作者说这东西太吃性能,不想用于游戏中。。这确实很现实。

最后我想吐槽两点:一是他的方块贴图的配色很阴间,主世界的风格搞得跟下界似的;二是游戏的美工宣传是一个无厘头的戴着像二郎神那样的有第三只眼睛的”4D眼镜”来看到截面之外的东西的矿工,似乎作者完全不懂四维人眼睛的成像原理……(后面会看到他这样做的原因)
4D Miner
23年11月Mashpoe更新视频说4DMiner支持多人游戏了!里面的玩家的皮肤是3D的且可高度定制,但遗憾的是,玩家模型其实只是四维世界里的三维纸片人,大家画贴图也都是画的二维人物的贴图,并且把人体内部的组织骨骼都画出来那种,这里也就解释了为什么作者要弄二郎神眼睛了——他设计的游戏世界里的人压根不是四维人而是三维人,这些三维人在四维世界中都是没有厚度的薄片其实很不“科学”,不符合我的四维“世界观”,当然总的来说我还是很肯定这款游戏的,他们甚至建了史上第一个4DMiner自治服务器4D4T,这一看就是在模仿Minecraft中的2B2T

23年更新2:
Youtuber CodeParade 制作了一款4D高尔夫求游戏,从该游戏的预告片中可以看出,它是唯一一个支持任意旋转截面的游戏,特别是可以将竖直的截面旋转到水平,让你体会到三维地面上那种类似太空遨游的失重感。它还可以显示一些其它相邻截面的重影,有点接近体素照片的意思。游戏中的关卡使用了波函数坍缩算法来程序化生成,也有可以手动编辑三维地图的地形编辑器(见这个Youtube视频),至于具体玩法是否会单一还不得而知。他的另一个双曲空间中的游戏Hyperbolica我认为虽然数学含量高,但玩法不咋样。但我想说,虽然4DMiner的可玩性应该远大于4D高尔夫,但4D高尔夫这款游戏的作者对于四维空间的理解是要高于4DMiner的。
4D Golf
23年11月作者更新介绍四维模型制作时,他说到在制作草地的三维贴图时,他先是生成了很多棒状物杂乱无章地填充在三维区域中,但这样截面接下来却往往得到的是点状的颗粒,看起来不再像草,最后他改用有面状纹路的二维草图形,成功让各方向截面截出来都是线状的图形。我其实想吐槽:这虽然对游戏玩家很有好,但事实上“真实”四维世界的草地还是线状的,截面就该是点状颗粒,这样改贴图迎合三维人的习惯有点削足适履了。当然为了大众玩家的可接受性,可能也不得不妥协吧。

还有一款致敬《miegakure》的游戏,叫《Tetra Space》,它也是截面显示。这个游戏分成很多关,每一关的任务就是到达指定的通关点,你需要像走迷宫一样找路,还有可以在三维地面上推动的超立方体方块,和激光等等。让我感到美中不足的是截面朝向只能在两个方向上切换,而且我发现只要我画出“平面图”(其实是3d的地图),那么障碍物在3d地图上一览无余,很快我就能规划出路线。有几关纯粹就是把平面地图(a*b*1*1)硬是用截面截得条线(a*1*1),我都不用画3d地图了。所以这款游戏其实并没给我很好的四维空间感的体验,但纯粹从游玩的体验来说还是很好的。

tetra space

tetra space

最后我要说的是一个外表有些丑陋,可能初次玩完全懵逼的游戏:4dBlock(下载地址),但是它才是我心目中真正四维生物的感受方式。它是基于透视原理,将4d图形投影到3d“视网膜”上(其实就是一个普通3d显示区域),当然,4D透视投影并不稀罕,但最NB的是它能够剔除一些部分做到呈现四维物体前后正确的遮挡关系!我曾经就想过类比3D光栅渲染技术,将四面体单元在三维栅格中栅格化,然后再记录深度缓存,做遮挡剔除。然而这个软件它只做到了对线段的检测和剔除,所以整个视图都是线框显示模式,并且一堆线看起来一团糟。其实我们作为只能看二次投影的三维生物也没有那个福分看这种栅格化的3d投影,因为在复杂场景中如果用“实心”的方式来显示的话,那我们里面就又什么都看不见了。所以线框显示是必须的。好在这个软件给了左右眼两个视图,可以用做“对对眼”(这又是一道门槛)的方式看到三维立体感,总算“稍微”捡回来一维。这个游戏里内置了四维迷宫(超晕,才开始每一幅画面我都必须线类比想想三维才知道发生了什么,每一个动作也是),但我觉得对于第一次玩的人来说,真的不是很友好:
即使给了左右眼两个视图也是一团糟的线
当然,我们不要被这些线所吓到,先尝试看一些简单的东西,通过从三维的类比,你就会慢慢体会到四维的视觉了!比如下面的公路模型:
3d/4d公路类比对比
里面的4D小火车也是一个亮点,你可以控制火车运动,它有车厢,有些场景里面车厢上还开了窗户(4d车厢上的3d窗户!)。还有些更复杂的道路,通过3d类比还是很容易理解的:

3d城市之中的田字形铁路网
俯视3d城市(注意楼房的透视效果)
远距离像看平面地图一样看3d城市(太远,透视效果几乎消失)

4d城市之中的立体“田”字形铁路网
俯视4d城市(注意楼房的透视效果)
远距离像看立体地图一样看4d城市(太远,透视效果几乎消失)

这个游戏中的铁轨还支持一种没有三维类比的特有的“自旋”轨道,我对这部分非常满意。

一列火车即将通过“自旋”轨道

车厢以前进方向为轴旋转(其实在四维中是以前进方向和重力方向张成的平面旋转)

注意这种自旋本质上就是3d世界游乐场过山车那种旋转轨道,但在四维世界中,这种旋转可以不涉及到重力所在的方向,也就是说车厢并没有“翻”,里面的人只是感觉换了一种“朝向”,他们一直可以舒服地坐在座位上。

软件的操作方式也很灵活,平动、转动都可以,有90°和格点的对齐模式(回车键对齐),也有你想怎么斜就怎么斜的自由模式,这款游戏真正让我感到离4d世界更进了一步,但这里面没有真实物理,也没有重力。这个游戏的键位也有点奇怪:前进、后退对应键盘E/D,左右转向对应J/L,上下转向(抬头/俯看)I/K,四维多出来的“侧前”“侧后”转向(它们类似于左右转向)对应U/O,按住Alt键加这些方向键就可以沿指定方向平动,按住Shift键可以只旋转(终于是我们熟悉的3d旋转)“视网膜”呈现出来的3D投影。X\C\V用于控制火车运动……游戏还有碰撞检测,不允许你穿过物体(当然,不然4D迷宫的墙就没意义了)。似乎还可以选取并移动物体、自己编辑场景文件,我还没探究过。

知道基本操作后就可以走迷宫了。我们来看一些四维迷宫中的类比:(四维迷宫没想象的那么难,你不需要有四维“方向感”,我在里面瞎逛了一会就找到终点了。)

前方、右边有墙(死路)
前方、两边都有墙(死路)
死胡同
转角
往前延伸的死胡同,但注意这里似乎地面和天花板也被封住了,只是没画正方形色块
往上转角

前方、右边有墙(死路)
前方、两边(注意四维有“四边”)都有墙(死路)
四维情况可以不是死胡同,还有“四边”中剩下两边(“侧前”“侧后”)可走
转角
往前延伸的??(同上,不是死胡同,或者是死胡同,但只有两面墙上画了正方形色块)
往上转角

最后我想说,如果把4dToy的物理引擎和4dBlock的显示方式结合起来就完美了。这个游戏是开源的,我想分析一下源码,试着移植一个网页版的,做一个4D赛车游戏(当然只是设想,因为真的要做还是很有难度的)
我之所以花这么多篇幅介绍block4d主要是知道它的人太少了,而且对它的理解有一定难度,对于熟知、老牌的4D程序我这里就只简单介绍下了,因为网上关于它们的东西太多了,就不赘述了:
首先是一个大神写的4D多胞形屏保程序,还附有源码和120号、600号的几何数据(可惜他存那些数据的网盘挂了)。这里是链接

然后是大家比较熟知的Jenn3D多胞形浏览器,这个可以称得上四维空间爱好者的标配了。它还附送了一个120号上的围棋小游戏jenn go。(我每次玩一会儿就会白屏,可能是bug)
比较熟知的还有一款4d魔方模拟器magic4d,但是我不太会玩,因为我发现找方块好困难,操作不是很习惯。
其他比较有趣的4D游戏比如还有2048 4D(我通关了!),但跟我要找的“空间感”关系不大。四维几何贴吧里收藏了很多4D游戏资源,我刚才才发现维基百科居然有List of four-dimensional games这个条目,但有些没找到下载地址。

23年更新补充:最后的最后,我再安利一下我自己的Tesserxel项目:它采用体素渲染,同时也支持显示各个角度的截面,用多管齐下的方式让你感知四维世界。目前也研制出了刚体物理引擎,就差还没写出一款真正的游戏了……