TGFC俱乐部>>游戏业界综合讨论区>>
- 刷新/显图/登录/注册/WEB
标题:半个Review: Portal - 从黄金年代说起
时间:07-10-13 06:33
作者:Jonsoncao

虫洞这个概念是一个很直观的翻译,英文名是Wormhole,看起来就好像是某条小虫爬过的地道一般,形象易懂

实际上虫洞却是在几何拓扑学里面一个很深刻的现象,标准的定义如下
If a Lorentzian spacetime contains a compact region Ω, and if the topology of Ω is of the form Ω ~ R x Σ, where Σ is a three-manifold of nontrivial topology, whose boundary has topology of the form dΣ ~ S^2, and if, furthermore, the hypersurfaces Σ are all spacelike, then the region Ω contains a quasipermanent intra-universe wormhole.
用简单的数学语言转述就是:虫洞就是一个在3维空间里面的2维物体,这个2维物体的存在让这个3维空间变得像是翻了个筋斗一般



第一次接触这个概念还是在14岁那年暑假,被母亲强迫去北京学习自己很讨厌的英语,没时间看自己喜欢的物理

不过却在一家小书店里面发现了一本好书让我读过那个无聊的暑假,一位名叫Kip Thorne的老爷爷所著的《黑洞与时间弯曲》

从经典的牛顿力学的新发展讲到相对论,从量子力学中的能量场,电磁场讲到宇宙的微波背景辐射,生动的描述仿佛让我经历了那个时代一般

完全不像是在读一本物理书而是一本历史小说,Thorne书中的某一章的名字叫“黄金年代”,讲述了黑洞研究突飞猛进的年代的故事,John Wheeler如何领导着一帮普林斯顿的小P孩PhD们搞出核聚变的故事,精彩的故事里面出现了一个有趣的名词:虫洞

Thorne在书的第14章开始神喷时间旅行了,把那时刚学完高中1年级物理的我搞的是雾里看花,有心无力去搞懂那些天马行空的思维实验

Thorne正是在从讲时间旅行的这几章里面像大家展示了虫洞这个有趣的空间拓扑现象的魅力

那么虫洞可以干什么呢?Thorne在那一章的开头问大家:“高度发达的文明能在超空间凿开虫洞做快速星际旅行并从时间机器回到过去吗?”

可以么?不行么?

Thorne在书中用他自己的身体,他儿子,他老婆,他家的狗,老朋友霍金做了n个思维实验之后告诉我们:他也不敢确定……

深究的话Thorne给我们讲了虫洞理论的发展历程:广义相对论对空间的几何拓扑结构做了很深刻的理论假设和阐释,同时这些微分几何的冗杂符号背后预言了时间和空间构成的这个四维空间里面存在特别的点,奇点,就好像笛卡尔坐标系里面的原点一样,去掉了原点的小球的拓扑结构竟然是和整个空间一样,导致了镶嵌在这个四维空间里面的某两个三维超平面被这个奇点为环心的某个环给连通起来了,更形象的说,就是这个洞把去年和今年的两个空间给连了起来,只要你能穿过这个洞,你就从今年回到去年,不但如此,直接从地球飞到火星

不过即使实际宇宙中即使存在虫洞,那么我们通过虫洞旅行从今年到去年,从地球到火星需要什么条件呢?
1. 克服有如黑洞视界周围般巨大的引力,使劲爬进虫洞
2. 身体如此健硕,视巨大的不规则引力波辐射扯来搅去于不顾,闲庭信步于虫洞两边
3. 身手如此矫捷,以光的速度通过虫洞

这些条件还真苛刻,不过,很好,真过瘾,如今我们不用老是YY做思维实验来满足自己对于虫洞这个物理概念的渴求了

因为Valve给我们在虚拟世界中构造了一个让我们自己造虫洞享受虫洞旅行快感的游戏——Portal

Portal是虫洞这个拓扑现象去掉四维空间里面的时间轴之后的一个简单实现

Portal的故事发生在Half Life的世界里面的,你扮演的主角叫Chell

进游戏之后,会有一个僵硬的女声自称是GLaDOS,会用几乎没有抑扬顿挫的机械语言告诉你你所拿之神物名曰“Aperture Science Handheld Portal Device”

值得一提的是……Aperture Science这个游戏设定还真被Valve的geek们开了个网站……http://www.aperturescience.com

这把叫做Portal的枪一般的东西打不出子弹,不过却可以在白色的墙上的开洞,让你可以在橙洞和蓝洞之间互相穿过,而不需要Thorne写的穿过虫洞那般困难

开始的测试阶段你只能用Portal枪射出蓝洞,随着游戏的进行,你的Portal枪也升级了,可以射出另外橙色的洞

随着你驾驭Portal能力的不断提高,剧情也不断展开了,

进入游戏之后你会要求完成10几个训练任务,之后剧情展开

慢慢了解到GLaDOS是一个什么样的东西,在破坏掉GLaDOS之后你开始逃出Aperture Science的关卡

不过用用Portal游玩的快乐实在太短暂了,很快就会完成整个游戏而感到意犹未尽……

Portal让一个你从未在意过的现象变得在你的游戏过程中显得如此的重要:那就是永远朝下的重力加速度

你需要利用重力来制造足够的动量并且配合portal来带你到一个看似完全不可到达的地方

实际上配合portal之后永远朝下的重力加速度在游戏中的表现比Prey那种重力设定更加有趣

具体我就不剧透了,很多解密是相当有趣的

Portal是一个纯粹的游戏,纯粹利用game mechanics来推动游戏进行的游戏,没有一点花哨的修饰




最后给出一个简单的实现Portal的算法

设定一个矩阵A[ i ][ j ],在其中的每个元素赋值上随机数,构造一个getInput函数,让用户输入两组整数值作为矩阵的坐标,记i_input1,j_input1,i_input2, j_input2
输入过后把A[i_input1 + 1][j_input1 - 1],这样相隔一个元素的元素重新赋值为0,第一组输入坐标的那个元素赋值为第二组输入的位置的那个元素,之前把这个元素储存到一个临时变量中,再对第二组输入位置的那个元素相邻元素进行相同的动作,然后把临时变量的值传给第二组输入位置的那个元素……一个简单的portal就这样做成了……

我想在Valve强大的开发能力和完善的关卡编辑器下面做出Portal这样的游戏并不是难事,不过用这么朴实的物理概念做出来这么多有趣的谜题……说句题外话就是Valve的那帮人都是小时候想当物理学家结果发现天资不够或者其他种种原因只能去学computer science的人……囧……

说了这么多废话,就是希望大家一定要体验一下Portal带来的乐趣,无论是从思维上,还是单纯从游戏的乐趣上

[ 本帖最后由 Jonsoncao 于 2007-10-13 06:34 编辑 ]
附件:: [您所在的用户组无法下载或查看附件]






回复列表 (33)
#2 Jonsoncao 2007-10-13 06:35
图偷了张Gamespot的…… :肥雀寒:

===================
#3 EastFire 2007-10-13 07:29
建议大家可以先玩玩《prey》,虽然不能自定义传送门,但是也很好玩。

===================
#4 责任编辑 2007-10-13 08:47
Portal是一个纯粹的游戏....
和lz讲的有矛盾

===================
#5 ZELUDA 2007-10-13 10:37
哈,是因为想当物理学家,但是所有master, phd学位都被中国流学人士霸占了,所以只好从事CS吧?
整天在一个个flawed model上转来转去,已经快和圣经爱好者一样了。

===================
#6 hanzo 2007-10-13 12:35
原帖由 EastFire 于 2007-10-13 07:29 发表
建议大家可以先玩玩《prey》,虽然不能自定义传送门,但是也很好玩。

虫洞概念很像prey,昨天玩的时候也感觉到了,prey发售前这个概念巨吸引人,可惜游戏被贫弱的系统给毁了,还是portal强,太强了



===================
#7 RestlessDream 2007-10-13 12:41
这 Orange Box 果然是 Geek Box ……

===================
#8 bububububu 2007-10-13 13:28
楼主,那个http://www.aperturescience.com/怎么进去啊?我试了N多关键字都进不去

===================
#9 孟德尔 2007-10-13 13:53
顶了再说

===================
#10 Jonsoncao 2007-10-13 13:56
原帖由 bububububu 于 2007-10-13 13:28 发表
楼主,那个http://www.aperturescience.com/怎么进去啊?我试了N多关键字都进不去

任意关键字

我随便取的用户名……然后密码我输入的portal

会有很多问题……

===================
#11 tsorochi 2007-10-13 14:32
我等我的hd2900 pro到了就马上去玩~~
忍多几天。。

===================
#12 RestlessDream 2007-10-13 17:42

===================
#13 Ophelia 2007-10-13 20:08
pc版可以分开下不。。。:哇哦(赵叔专用):

===================
#14 牛顿 2007-10-13 20:19
我来顶~~~~~~~~~

===================
#15 youngwilly 2007-10-13 21:58
LZ这贴好高深

===================
#16 LiquidM 2007-10-13 22:41
为什么要把相邻元素重置为0捏?:黄脸问号:

===================
#17 bjyanf 2007-10-13 22:45
小老虎满塞:企鹅人家不要吗:

===================
#18 Jonsoncao 2007-10-14 01:08
原帖由 LiquidM 于 2007-10-13 22:41 发表
为什么要把相邻元素重置为0捏?:黄脸问号:

好处就是output可以让人看出来区别

坏处就是破坏了原来本来的数据= =

只有多增加储存空间来储存原来的矩阵,这样每次结束portal之后可以回到原来的样子

我想如果是游戏的话,不知道可否不增加这个临时的储存空间来储存portal之前原来的空间信息

而且根据在porta里面无限loop好不跳帧的情况来看,肯定是实现了的

===================
#19 xphi 2007-10-14 01:24
Portal里面在两面平行的墙之间建立portal的时候,在一个入口处向里看可以看到类似在两面平行的镜子之间看到的无穷重影子,这里在游戏引擎里是怎么实现的呢?应该不会是不断的重复渲染同样的场景,因为从游戏表现来看,这里几乎没有任何的性能损失。

===================
#20 sniperm82 2007-10-14 01:27
没搞明白是什么游戏.橙盒里带的?

===================
#21 ZELUDA 2007-10-14 01:29
physics 101 linear algebra 101 yay!



===================
#22 xphi 2007-10-14 01:33
原帖由 Jonsoncao 于 2007-10-14 01:08 发表

好处就是output可以让人看出来区别

坏处就是破坏了原来本来的数据= =

只有多增加储存空间来储存原来的矩阵,这样每次结束portal之后可以回到原来的样子

我想如果是游戏的话,不知道可否不增加这个临时的储 ...


这个算法有问题,如果用i-1,j+1位置的相邻数据来做portal的出入口标记的话,那么有两条边界怎么办?除非先把矩阵增广一阶。事实上portal总是只有一个人口和一个出口,另外追加4个变量存储出入口坐标比增广矩阵的代价要小得多吧。

===================
#23 xphi 2007-10-14 01:45
有人把aperturescience那个GLaDOS提出的一大堆问题回答完并且通过了的吗?

===================
#24 Jonsoncao 2007-10-14 01:48
原帖由 xphi 于 2007-10-14 01:45 发表
有人把aperturescience那个GLaDOS提出的一大堆问题回答完并且通过了的吗?

我把开始那64位的UNI抄下来最后打上去,GLaDOS说我打的不对 :肥雀不是吧?!:

===================
#25 xphi 2007-10-14 01:53
我懒得抄,最后瞎填一个,也说不对……

说起来GLaDOS提供的命令只有DIR,PLAY可以用,蛮奇怪的是help里面没有列出来的LS也可以用。不过PLAY有什么用呢?

===================
#26 Jonsoncao 2007-10-14 01:54
原帖由 xphi 于 2007-10-14 01:33 发表


这个算法有问题,如果用i-1,j+1位置的相邻数据来做portal的出入口标记的话,那么有两条边界怎么办?除非先把矩阵增广一阶。事实上portal总是只有一个人口和一个出口,另外追加4个变量存储出入口坐标比增广矩阵的 ...


我省略了点

组合应该是A[i+1][j+1], A[i+1][j-1], A[i-1][j-1],和A[i-1][j+1]

或者A[j+1], A[j-1], A[i-1][j],和A[i+1][j]

或者两个都用,总之输出让看的人明白那一圈是原来的那个东西就行了

===================
#27 Jonsoncao 2007-10-14 01:55
原帖由 xphi 于 2007-10-14 01:53 发表
我懒得抄,最后瞎填一个,也说不对……

说起来GLaDOS提供的命令只有DIR,PLAY可以用,蛮奇怪的是help里面没有列出来的LS也可以用。不过PLAY有什么用呢?

play也可以用么?没试验过

我dir了之后看到apply文件就直接apply了……

===================
#28 chovosky 2007-10-14 01:56
那个flash版第9关怎么过?卡住了:伤心:

===================
#29 xphi 2007-10-14 02:01
HELP一下可以看到一堆命令,大部分磁盘操作命令都会被告知磁盘写保护或者无权访问磁带。只有DIR可以用,还有一个interroget可以响应输入,但不知道怎么审问……。刚才试了一下,如果PLAY PORTAL的话,就会重定向到youtube去,但是目标视频“has been removed by the user.” -_-!

[ 本帖最后由 xphi 于 2007-10-14 02:03 编辑 ]

===================
#30 xphi 2007-10-14 02:08
原帖由 Jonsoncao 于 2007-10-14 01:54 发表


我省略了点

组合应该是A[j+1], A[j-1], A[j-1],和A[j+1]

或者A[j+1], A[j-1], A[j],和A[j]

或者两个都用,总之输出让看的人明白那一圈是原来的那个东西就行了


这样就明白了,不过你开始的说明省略的真不少,我几乎完全没看懂……,后来看了补充说明才知道是要做标记。

===================
#31 ZELUDA 2007-10-14 02:56
原帖由 chovosky 于 2007-10-14 01:56 发表
那个flash版第9关怎么过?卡住了:伤心:

天花板上设一个,地上射一个,空中降落的时候地在在射一个,就有高度的速度了。

flash版好无聊阿,玩了20几关都差不多...到最后变成反应速度游戏了= =a

===================
#32 chovosky 2007-10-14 03:39
恩,谢了!过了!。。后来的确是考反应了。。。。。。。。。

===================
#33 Jonsoncao 2007-10-14 16:02
回xphi:最大的问题就是这个临时储存的问题

从portal看到的这个无限loop理论上需要无限的储存空间来储存之前那个世界的所有physics……

===================
#34 sherlockboy 2007-10-18 12:08
“那帮人都是小时候想当物理学家结果发现天资不够或者其他种种原因只能去学computer science的人”

神童高屋建瓴地打击了我

===================


[登录后才可回复]