id 已死
Contents
[此文约写于2005年,贴于新浪游戏制作论坛,发表于《游戏创造》创刊号。这个是从搜索引擎的cache里翻出来,不完整。有完整版的请联系我,发给我。谢谢。]
1. John
Doom3终于上市了。长达四年时间,花了两亿多人民币的开发费用,新的经典终于诞生了,凤凰终于再一次的从火灰中重生。全世界的玩家——包括耶稣、释迦牟尼、老子和他们的狗——开始了一场新的游戏体验。
id的家伙们长长的吁了一口气,大家都回家了,只剩下John Carmack一个人留在办公室。他的办公室还是这么简洁。20吋的LCD显示着Visual Studio.Net 2003上的doom3项目。他无意识地浏览者一个.cpp文件,代码像他的办公室一样简洁。该干点什么呢?他摸了摸下巴,下巴跟他的代码一样简洁。终于,他打开了IE,登陆进了slashdot.org,上面有成千上万的讨论Doom3的帖子。他稍微浏览了一下,忍不住回了一贴:
“我对Doom3感到无比的自豪, 我觉得这是我们制作过的最棒的游戏, 它达到了我事先的所有期望. 尽管这话听起来很老套, 但这次我是说真的: 考虑到游戏所采用的技术, 我的确对它抱有若干期望, 而结果证明, 我们做得比期望还好.
“我们相信会有许多玩家喜欢Doom3.
“我 不怎么上游戏论坛, 因为, 娱乐本身是一件很主观的事情, 没法让所有人都满意. 尤其是当某款游戏就像是某种另类文化的符号时, 情况就更糟糕一些. 这篇slashdot的讨论很大程度上应证了这一点…
“除了各种基于Doom3技术的游戏/扩展之外, 我们已经着手开发下一款游戏, 它将使用新的引擎, 这够我忙一阵子. 此外我只能说, 这款游戏不再是任何前作的续集. 我们有一支非常稳健的团队, 经过Doom3开发过程的洗礼, 我相信我们下一款游戏不再需要四年的马拉松.”
回完了帖子,Carmack长长的吁了一口气,关机,下班,从车库开出法拉利。法拉利在深夜的灯光下闪耀着炫目的光芒——就像Doom3里面的镜面反射;尾灯闪烁,在夜色里闪着红色的光晕——就像 Doom3里面的flare效果;引擎安静的转动着,简洁而有力,就像Doom3的引擎。Carmack对这一切感到很满意,就轻轻一踩油门,法拉利滑向夜色中…
2. Tim
Tim Sweeney也还没有下班。他还在紧张的开发Unreal 3引擎。整个引擎其实已经看起来很不错了。但是Soft shadow的优化令他很头疼。并且公司的技术网站上说的spherical harmonic maps功能其实也还没有实现。他的机箱躺在桌子上,并且没有上盖,两块Geforce 6800 Ultra的风扇稳定的转着。他喝了一口咖啡,继续紧张的思索着——blur stencil其实效果也不错,比算半影要快,不如改用blur stencil算了。其实他自己都不知道自己到底在想什么。很多时候他总是在实验各种方法,看各种方法的效果和性能差别。很少人明白他做的事情,或者懂他做的事情。他总是感到很孤独,除了偶尔想起John Carmack的时候,心里有了一点安慰——还有比我更孤独的人。
CEO走了进来,把一个盒子放在他的桌上。“看看吧,Tim”,CEO说,然后走了。
盒子上当然印着”DOOM III”。还有一个很大的id的Logo。
“看什么呢?”其实他很久没玩过游戏了。他把玩着盒子,但是没有马上把游戏往电脑里面装。他曾经也是一个Doom迷。就是因为喜欢Doom,他才可能走向游戏制作的道路。但是,他现在对这个有点游戏有点厌倦了。可能是年纪大了吧,任何游戏他都提不起兴趣了。
终于把Doom3安装了,开始了试玩。
嗯。不错。优化的很好。美术也不错。UI很好啊,可以贴到任何面上,并且还可以交互,这个我要学一下。realtime-bump和stencil shadow都不错。不过没有什么很有新意的东西阿。这些技术基本上都是普通的拉。没有lightmap,所以效果总是怪怪的,没有真实感,因为不能算辐射度。当然,这不怪Carmack,realtime lighting光源总不能太多。没有室外,没有交通工具,没有自然景观,不爽。呵呵。
终于,Sweeney感到无聊了。他打入god, give all, noclip。
最后,他删掉Doom3,然后继续优化他的代码…
3. Puzzy
Puzzy也没有下班。公司的事情多,人也多了起来。从几年前的几个人到现在几十号人,管理工作也复杂起来了。特别是美术方面,人手总是显得不够。但是总是要抽出时间来写代码,所以也深人静的时候最好。大家都在赶10月份的一个叫ChinaJoy的 show,所以都很晚回。但是现在真的是太晚了,剩下的人已经不多了。
BT在紧张的下载着Doom3。已经83%了,快了。
边干边等吧。他想。ATi的OpenGL Driver太滥了,vertex buffer object这个扩展总是不去优化。搞得很头疼。这下好了,Doom3一出,ATi就急着去优化driver了。想到这里,他喝了一口矿泉水——怎么不冰?他皱了皱眉头,去重新倒了一杯冰的。
Doom3他已经期待很久了。现在终于马上可以玩到了。想到这里,稍微有点激动,脸上有点红潮。
100%,终于下载完了。当然马上安装,开始了激动的游戏之旅。毕竟等了4年。握鼠标的手稍微有点颤抖。
事后,他回忆说:
“我打了20多分钟,差点没把心脏病吓出来。我才明白realtime per pixel lighting 和 realtime shadow volume在暴利恐怖游戏中最大的作用在哪里。 就是激发起人类本能的恐惧感。人对黑暗有一种本能的恐惧。而靠全realtime的光照和阴影,可以最大限度突出黑暗。 只有完全实时可控制开关和亮度的光照,配合阴影,才有可能把黑暗给人心理上的恐惧渲染到极点。当然,真实度越高,沉浸感越强,在一个全封闭金属构造室内环境下,采用大量高光的pixel lighting和硬阴影是真实的。游戏中,最恐怖的时刻不是拿枪向怪物设计的时候,而是面对黑暗和忽明忽暗环境中不明物体阴影的时刻。
“可见,刻意追求某些具体技术是没必要的。必须能体现游戏特性。但想找到体现游戏设计的最佳技术,没有全面刻意追求技术前提,是根本办不到的。ID应该是从具体技术出发,衍生出游戏特性。比如极端狭小的室内过道空间,一道道自动门挡住portal。都是为了能在保证流畅前提下体现光影。但这种从技术到游戏的例子只可能ID做。他们有积累,无论技术还是资金,经验。也有天才。这是一个世界其他游戏公司不太可能效仿的样本。”
4. 和尚
和尚隐居于高层之巅——当然是带电梯的——正在揣摩般若波罗蜜多心经,这部经书,他已经读了无数遍了——可是还是看不懂。色如何是空呢?你看这个高光,这个漫反射,他手指虚指,愁眉苦脸的。
这时候想起了门铃声。路人甲总是适时地出现,扮演他何时的角色。
“大师,Warcraft是好游戏吗?”
“是。”
“大师,WoW是好游戏吗?”
“是。”
“大师,EQ2是好游戏吗?”
“是。”
“大师,Quake3是好游戏吗?”
“是。”
“大师,Doom3是好游戏吗?”
“呃… 今天到此为止”,和尚突然睁开眼。
To be continue…
5. 4个人
但是,悲惨的事情发生了。到目前为止,实际上全世界只有4个人玩过Doom3。真正欣赏的只有两个人。
中国的网吧依然在CS里面狂殴,或者在垃圾网游里面PK别人或者被别人PK。新浪论坛一如既往地在屎尿中翻着苍绿色泡沫。 Doom3对这里毫无影响,没有一个人对Doom3座有关的评论。唯一的一个有关Doom3的帖子,被一个刚学D3D的斑竹注明不要加精。另外一个斑竹依然把论坛当这泡妞和卖弄的私人园地——虽然我觉得泡妞到酒吧或者舞厅更合适。
和尚怜悯的看着这一切,依稀追忆着当然Doom1和 quake的时代。当年id是多么的疯狂?当然id是电子游戏业的圣地麦加,当然玩doom/quake是最in的事情;当年夜总会不是拍丸子,而是把玩 Doom/quake视为堕落和颓废的象征;当年上至流行歌手天王,下至残杀同学的杀人犯,都把Doom/quake视为唯一的休闲——胜过美酒和美女;当年的新新人类总是激烈的讨论着Doom/quake的对战技巧。
但是这一切都已经过去了。老迈的帝国新作对于新的世界没有投射出多大的影响。当年的新新人类已经变成了30多岁的青年,已经变得缺乏激情。新的新新人类都没有听说过id。“id?是什么公司?是天晴数码的一个小组吗?”
和尚的心情是沉痛的。和尚当年也是id的忠实扇子。但是,他写这一个帖子之后,目的就是要告别旧的偶像,因为偶像已经塌崩了。因为,做id的扇子已经成为老迈的象征,是过气明星的象征,是上了年纪的象征,是开始老年痴呆的象征。估计过上几年,只有医院的老人痴呆病房和精神病院的病人才会去打id的游戏。
网上一群玩家在争论Doom3怎么样。
“不如FarCry艳丽。”一个新新人类说。
“连Call of Duty也比不上。”另一个说,他连CoD是用Q3引擎都不知道,id的引擎。
“嗯,不如CS好玩啊。”又一个说,当然,他也不知道CS是用的 Quake1.5引擎,也是id的引擎。
他们说错了吗?没有。一个人说了,就代表了他的看法,就是一个声音。id确实已经在这些人心目中不存在了,就像是上帝已经在绝大多数人心中已经不存在了一样。如果上帝不存在在任何人心中,上帝还存在吗?
6. 技术
2004年4月份的时候GameSpy对Carmack进行了一次专访,其中有如下对话:
GameSpy: 您最佩服哪一个游戏开发公司?
John Carmack: 可能是Valve,因为作为一家新公司,他们做出了很多正确的决策,而且最终取得了最佳的成果。
Carmack说的太对的。Valve 做出了很多正确的决策,并且,最终取得了最佳的成果。相反,id做出了很多错误的决策,取得了不好的效果。Carmack毕竟是一个谦虚的人,一个懂得马列主义的人——实事求是不就是马列主义的核心吗?
当初quake1写硬件渲染得时候,id用OpenGL是正确的选择。当时没有 Direct3D,只有3Dfx的专属API Glide。Carmack不喜欢专属的API,所以3Dfx的programmer花了两天专门为Carmack写了一个miniGL API,给他写GLquake。
但是,最近几年再死抱着OpenGL不放是明智的选择吗?不是。现在3D chip发展太迅速了,而OpenGL ARB成了ATi、nVidia、3Dlabs和Microsoft等大厂角逐市场控制地位的竞技场。API更新缓慢,每个vendor自己出自己专属的扩展,搞得乱七八糟。ATi出的扩展nVidia是不会支持的,反之亦然。今年看到nVidia支持ATi的ATI_draw_buffer扩展,差点感动的流泪——这些厂商终于为程序员着想。但是这种事情太少发生了。当然,nVidia和ATi支持同一个扩展,那么这个扩展很快就成为ARB的扩展—— ARB_draw_buffer。很多D3D很早就是实现的普通功能,OpenGL ARB还在嚷嚷扩展的规范。Vertex Buffer OpenGL去年才有了统一的规范,而render to texture到现在还没有跨平台的统一规范。后来Microsoft甚至退出了ARB。ATi主导的Super Buffer,nVidia提出不同的意见,推出了自己的pixel_buffer_object。OpenGL 2.0叫嚷了几年,现在还没有影子。
现在还有几个纯OpenGL游戏?基本没有了——除了Doom3。Valve转向了D3D。Unreal也把D3D作为首选的开发API,当然他还是支持 OpenGL。FarCry也是这样。至于其他技术实力弱一点的公司或者小组,就只支持D3D了。另外,技术实力弱一点的硬件公司,比如S3和 Xebra,OpenGL driver的技术水平更是目不忍睹。他们首要是要支持好D3D,因为99%的三维游戏是用D3D写的。
现在还有公司或者小组用OpenGL来写游戏,绝对是一场噩梦。Puzzy他们是这样,我自己也是。对此深有体会。
OpenGL在实时三维游戏领域的没落是必然的趋势。Carmack以一人之力挑战整个产业的趋势,就算他再强大也是徒然的。可怜很多人被他误导了很多年。OpenGL很快就只会应用到DCC(Digital Content Creation)领域(比如Maya,Softimage,3dsmax这些软件)——那时他本来应该呆的地方。
另外,从 Romero从id离开后,id的编辑器就没有怎么本质的改动过。现在,id的编辑器和unreal——甚至和FarCry比——都不是一个档次,差太远了。所以,unreal引擎无论从销量到售价,都比Quake高出一大截不是没有道理的。Unreal的架构从最开始到现在,都没有怎么变过,但是id的引擎,就变化太多了,从最早的quake1的QuakeC,到quake2的dll,到quake3的vm/dll,到doom3的新的七拼八凑doom script,从最开始的纯C,到现在C和C++奇怪的混杂,都是一变再变。Carmack有hacker精神和水平,但是缺乏系统架构师的能力——没读过书就是没读过书,差距是一眼就可以看出来的。但是,当然比国内的程序员高多了。国内的程序员大多数还停留在Cracker的水平——就是头疼医头、脚疼医脚,没有整体的设计,没有人有担当系统架构师的能力,能在一两个技术点上突破就可以冒充高手。
id的死亡从技术上死亡是最本质的。因为以前就算有人质疑id游戏的可玩性,但是几乎没有人会质疑id的技术水平。但是,因为carmack的固执——或者说偏执——令得id在技术上也沦为另类。
7. 再谈技术
id——或者说carmack,做出了一个错误的技术绝对——采用全实时光影。doom3刚开发的时候,其实全realtime lighting and shadow根本跑不动,每个光和面的交互要渲染6到7次,基本是没有实用的价值。现在可以跑的动了,但是因为是全实时计算,光源数目大量的受到了限制,比起预渲染得lightmap比起来,效果差了太远。并且不谈stencil shadow的hard edge是多么的难看和不真实。
所以,Valve做出了一个多么正确的技术决策啊!在lightmap的技术上稍微扩充以下以支持bump mapping,效果上比doom3好多了,并且渲染快多了。Doom3室内转来转去转不出来,就是因为Carmack做出了一个错误的技术决策——因为现在的硬件在广袤的地形上作实时光影是不现实的,并且我个人认为,基本上就算可以也是没有太大的必要的。
Carmack终于为他的盛名所累——我是最好的,我要做最好的(或者说最难的)实现方式,其他的交给Valve和Epic去做吧。
今年的GDC2004 上,Carmack有了一个专场的演讲。他谈到了很多问题。一个是抱怨现在的游戏开发投资越来越大,开发周期越来越长。另外是质疑新一代的游戏机采用多 CPU是不是没有必要。
Carmack还沉浸在以前的Doom/Quake时代,十多个人的小组,半年一年就可以做出一个辉煌的产品。这个问题后面讨论商业模式的时候再谈。
对于他的另一个问题,我感到相当奇怪。后来有人采访Tim Sweeney的时候,提到Carmack说的这个,Sweeney支支吾吾没有说什么话。
当次时代的游戏AI、物理、声音引擎都极度复杂化和消耗CPU显著增长的时候,在游戏机上采用多CPU是合理的决策。Carmack早在Quake3的时候就支持多CPU(就是多线程)了,我不明白他为什么会质疑这个。当然,Carmack也没说错,采用多CPU对程序员是一个新的挑战,但是Carmack怎么可能害怕技术的挑战呢?难道他是在为我们这些技术水平一般的程序员担心?
Carmack老了。Carmack分心了。Carmack走下神坛了。Carmack也开始开发新的引擎了。新的引擎会是怎么样的呢?他还会不会这么固执呢?我估计Carmack新的引擎会很想unreal3,或者很想Valve的下一代引擎——因为没有别的选择,技术的走向就是这样。当这样的时候,id还是id吗?id还是技术的领导者吗?id不就是成为了Epic第二,或者Valve第二吗?
这样的id,跟死了又有什么区别?!
8. 天堂也有车来车往(原本缺,大补丁发给我补全)
和尚依然修行,正是心中一尘不染,五蕴皆空的时候,忽见众仙作乐,天女散花,空中现出五彩云霞一朵,仙界高级神仙太白金星端坐其上,冉冉向和尚寓所飞来。
他是来接我去参加仙界一年一度的电子娱乐展(E3)的。我不是神仙,当然不会飞,只好搭乘太白金星的顺风云。仙界等级还是比较严的,太白老儿在仙界其实混得还不错,行政级别是二级。一级的神仙是很少的,比如如来佛祖,真主安拉,基督耶稣,太上老君,玉皇大帝,圣人孔子和王母娘娘等寥寥几人是一级神仙。一级神仙可以驾七彩云霞,而二级神仙只能驾五彩云霞了。
太上老君的坐驾还是不错的。排云量大,马力足,底盘偏软,所以比较平稳,适合上了年纪的老干部。虽然比不上Carmack的法拉利那么迅速和快捷,但是在平稳和静音上却更胜一筹。
今年的E3轮到神仙协会中国分会当值作东道主,所以除开幕式在凌霄宝殿召开外,主会场设在广寒宫。等我们赶到广寒宫的时候,已经是冠盖云集,美女遍地了。停云场一排排漂亮的座云,整整齐齐,好不威风。广寒宫旁边的玉兔大酒店更是热闹非凡。仙界历届E3接待费用都是由主办方买单的,所以入住酒店都是组织安排好的,免费的。每次E3估计都要花掉几亿的天堂币,但是从来没有人心疼。仙界和地上一样,花起纳税人的钱来,也是眼都不眨的。
随着中国网游的逐渐崛~起,中国参加E3的公司和个人也逐渐多了起来。这一次中国各大游戏公司或者营运商都派出了阵容强大的代表团,有的公司CEO亲自到阵,以示隆重。
安顿好住的地方,当然是找几个知己好友出去泡泡吧,喝上几杯;或者去网吧搓一把CS或者Quake3。但是身为一个和尚,当然应该先向组织报到。这种事情我是很头疼的,但是没办法,先打手机约好斗战胜佛孙悟空那伙哥们先到吴刚KTV订好房,就向如来佛祖下榻的酒店顶楼去报到。顶楼有八个总统级别的套房,一级神仙基本全部住在那里,除了几个东道主的一级神仙住在家里外。如来住在07号套间。我赶到时候,佛祖正在打手机训斥人。佛祖的秘书就安排我先在客厅等着,端上一杯冰水。她知道我不喜欢喝碳酸饮料,也不太喝茶。
好大一会儿,秘书才示意我进去。我一进去,就毕恭毕敬的站着。佛祖挥挥手,说,“坐下吧”。我就凑着身子坐下了。然后开始打量佛祖。佛祖显的越发富态了,不过脸上还有飞了长途的疲态。
佛祖洞明世上一切,当然知道我在想什么。说:“刚从西牛贺州开完一个会,就赶到这里,时差还没倒过来。”
想到佛祖为了革命工作,没日没夜的干,没有时间去健身,还要每天参鲍燕翅的吃,把身体搞成这样,不禁一阵感动,眼眶一酸,差点掉下泪来。
佛祖说:“唉,难得你有这份孝心啊。我老头子一把年纪,还要奔波劳碌,你们年轻的迟迟顶不上来,我也心急啊。我倒想学学老君那个家伙,天天悠哉游哉,养花弄鸟的,多写意啊?我看最近几年啊,就没这个福分喽。观音和普贤也是我们佛教分会的老干部了,工作倒也能独挡一面;新上来的唐三藏书呆子气太重,办事不知变通,现在做一做纪~检的工作还不错,但是没有统筹的大才。所以阿,对接班人的挑选,我是很头疼滴。”
我连忙说佛祖春秋正盛,气血旺盛,只是干革命的巅峰时期,何必为小辈担忧呢?倒是我们小辈没有为佛祖分忧,正是惭愧的很等等之类的话。然后就开始汇报工作和学习的心得。佛祖边听边点头,然后说:“不错嘛,有进步啊。不过也有不足之处,般若部这些明心见性的东西其实不用多看,都不是经世之学,那是我年轻的时候写的,大家知道我现在是最不看重的。现在时势跟以往是大不相同了,不能抱着老教条,要与时俱进。所以你们年轻人阿,不能死读书,读死书,要懂得变通。我打算修改我佛教分会的入会条件,努力吸收新的力量入会,比如上市公司的总裁,私营企业者,高级知识分子之类的,都要去争取。我一再提示,万物都有佛性之类的话,下面的人总是不能领会,把工作做坏了。结果呢?孔老二的有教无类的招数一使,倒是给他们儒教分会发展了不少重量级的新会员。”
要知道,我对佛祖是无限敬仰的。我日夜专研佛祖的学术著作和论文,越学习越是崇拜。佛祖是世上具有一等一智慧的人,特别是佛祖自己最不看重的哲学著作和一些paper,更是佩服得五体投地,但是佛祖自己说那些不算什么东西,是小时候的营生,到佛祖自己参加工作后,特别是做到领导工作后,更是对以前写的东西不怎么看重了。所以佛祖越是这么说,我越是崇拜他。他自己不看重的东西尚且如此,何况那些我还没去学习的他看重的东西呢?
9. 佛祖
快要走的时候,我终于有机会问佛祖对id和Doom3的看法。
这一段对话后来在一些敦煌考古发现的逸经中有记载,我懒得写了,就Copy/Paste在下面(原文并无标点,为方便阅读,和尚加上了标点):
般若波罗蜜多涅磐经
如是我闻,一时佛在离恨天广寒宫玉兔大酒店顶楼零七套房,流氓比丘与贴身秘书侍坐。
(一)
时流氓比丘合掌恭敬而问佛言:世尊,Carmack何如人也?
佛告流氓比丘:女读后西游记乎,昔者小斗战胜佛在阴阳山大斗造化小儿,造化小儿使出酒色名利财气六圈,酒圈、色圈、名圈、利圈、财圈,俱套小斗战胜佛不住。唯有气圈,套住小斗战胜佛。小猴儿喜欢争闲斗气,却不谈。我看Carmack,此酒色名利财气六圈俱皆套他不住。
流氓比丘惊曰:此Carmack岂不是比小斗战胜佛更胜一筹?即默诵佛号南无Carmack佛不止。
佛曰:然。Carmack者,无酒色心,亦无酒色心尽;无名利心,亦无名利心尽;无财气心,亦无财气心尽;心无罣碍,无罣碍故,无有恐怖;远离颠倒梦想,究竟涅盘。
(二)
流氓比丘又合掌恭敬而问佛言:世尊,Romero何如人也?
佛告流氓比丘:Romero 者,Carmack反面也。彼人我看酒色名利财气俱可套住他。喜好酒色,热衷名利,贪财斗气,诸般恶习,无一不沾。
流氓比丘言:如此说来,Romero岂不是下下等的人物?
佛言:非也非也。佛有两面,乃至于千万面。佛性两种,乃至于千万种。佛性原可从潜心修行,清静无为中去求;也可从酒色财气,杀人放火中去求。不经一恶,不知一善。不作千般恶,不知万般善。故我说放下屠刀,立地成佛是也。
流氓比丘闻此,即默诵佛号南无Remero佛不止。
(三)
流氓比丘又合掌恭敬而问佛言:世尊,id何如公司也?
佛告流氓比丘:Carmack与Romero,佛性两面,面面俱到;若道家言,则阴阳一体,动静两端,各执其一。一个潜心技术,心无旁骛;一个偏向设计,注重商业。合则双剑合璧,无人可稍稍攖其锋芒者也。分则两败俱伤。Carmack无Romero,如无头之人,无将之军。Romero无Carmack,若无腿之人,无军之将。
佛又言:往日之id,两人俱在,故所向披靡,众生倾倒,每出新作,鬼神皆惊。今日之id,则泯然流诸一般。
流氓比丘心有感悟,即默诵南无阿弥陀佛不止。
(四)
佛即说咒:Gaté Gaté Paragaté Parasamgaté Bodhi Svaha!

Recent Comments