我玩过的一些四维游戏

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

最近游戏圈子里比较火的《Miegakure》,现在还在开发之中,游戏宣传片号称是史上第一款数学意义上真正的4D游戏,但展现给我们的方式是比较抽象的截面法,截面都是选垂直于地面的。游戏以四面体胞为基础对象进行渲染,就像3D图形学里的三角形一样。宣传片里不仅有常规的超长方体房屋墙壁,还有3D的地面贴图、12面体胞柱体和椎体的结合体,甚至四维树。可惜作者只在youtube上放了几个Demo,不知要多久才能开发完。
miegakure
建模方面我认为还是比较符合我的“四维世界观”的,但不足之处一是截面法比较抽象,二是我不是很确定视图操作的灵活性和自由度是不是能让我能够“自由地”感受到四维的空间感。因为这个游戏的作者还开发了另一个游戏《4D Toys》(网上搜得到盗版),这个游戏的亮点是它有4D物理引擎!你可以控制超球碰撞,搭四维积木,甚至玩串在Hopf圆环上的超球珠子。当然,作者还是用的截面法。但是视图操作的灵活性我的体验极差:我不能随意选取截面方向,我能做的只能前后移动我的截面,无法给我全面的四维空间感。值得一提的是,《4D Toys》里面自带所有正多胞体“积木”,甚至还有我们之前讨论过的“圆环环”中的两种,我从这个游戏中发现其中一种圆环环被命名为“tiger”(像老虎一样凶恶的图形?),而且这似乎这个名称还是正式通用的,因为后来我在网站higherspace上也找到了对它们的描述。
4d Toys
还有一款向《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这个条目,但有些没找到下载地址。