溯源:“起源”的来龙去脉
说到起源引擎,就不得不提起雷神之锤2(Quake 2)。众所周知,半条命所采用的引擎是雷神之锤2所用引擎的魔改版本,亦即是 约翰·卡马克 大神的Quake Engine,在Valve开发半条命的时候,他们采用的,正是经过大量修改和优化的Quake Engine。
V社把他们大量修改过的引擎,命名为Goldsrc(非正式翻译:金源)—这个名字其实很有意思,但是我们这次不打算探究这个名字的起源。
1997年,Valve雇佣了Ben Morris,这位哥们为GoldSrc引擎量身打造了一个简单,易用,功能强大的地图编辑器。这个地图编辑器也为后来起源引擎的“被嫌弃”埋下了属于自己的一份祸根。这个地图编辑器便是WorldCraft,本来只想着用来做雷神之锤地图,随后改名为Valve Hammer Editor,简称Hammer。谁也没有想到,这个名字会在多年之后成为无数起源开发者的噩梦。
起源2007版本Hammer的载入界面。但是上至Goldsrc,下至起源2013,其实Hammer大概也就长这样。 ... ...
之后的事情稽核的诸君应该都很清楚:《半条命》在发布之初轰动了业界,一举拿下无数个年度游戏奖,不久之后,Valve将《半条命》的资料片:《针锋相对》、《蓝色沸点》,还有PS2独占的资料片《衰变(Decay)》全数外包,便全力投入了《半条命2》的开发。
这时Valve意识到他们需要一个新的引擎。于是他们量V社之物力,结引擎之欢心(误),全心全意开发一款新的引擎(官方口径)。实际上,这个所谓的“全新”的引擎,其实严格意义上来说是GoldSrc引擎的改头换面大升级。
在2004年,卡马克大神在他的博客里如是说:
...《半条命2》里面还留着雷神之锤的一些早期的代码呢。
...there are still bits of early Quake code in Half-Life 2.
不过早在半条命2发布前,起源引擎是GoldSrc的升级版这点就已经被猜测出来了。并不是说画面落伍,也不是说互动性没有提升,而是在这段时间里,发生了同样是震惊了业界的一件大事:《半条命2》泄露。具体内容大家可以百度一下,我要说的是,这次连fbi都参与了的事件,泄露出去的除了游戏本体之外,还有源代码和全套早期的Source SDK。
在这里需要说点题外话。在泄露版在网络上疯传的时候,俄罗斯一些店铺甚至已经《半条命2》上架了。这些《半条命2》当然不是我们现在玩到的正式版《半条命2》;这些是基于泄露版,用其提供的Source SDK和源代码进行了少许修复,勉强“可玩”的版本罢了。这个版本也称为Anon(阿尼翁)版。在2017年之前,阿尼翁版都算是完成度最高的《半条命2》泄露版。至于《破冰船(Missing Info)》,则是后来的大神根据泄露版的代码和内容基于半条命2第二章的起源2007引擎重构的“复古MOD”了。某些更早期的泄露版,完全就是光影特效加强,连布娃娃效果都不存在的半条命1罢了。
阿尼翁版实际截图。这UI和主菜单是不是有点似曾相识?没错这特么画面设置连个贴图分辨率都没有 ... ...
阿尼翁版实际截图。这UI和主菜单是不是有点似曾相识?没错这特么画面设置连个贴图分辨率都没有 ... ...
阿尼翁版实际截图。这UI和主菜单是不是有点似曾相识?没错这特么画面设置连个贴图分辨率都没有 ... ...
阿尼翁版实际截图。这UI和主菜单是不是有点似曾相识?没错这特么画面设置连个贴图分辨率都没有
回归正题。起源引擎和金源引擎一脉相承似乎是没跑了,但是不知道是不是因为泄漏事件,《半条命2》发布后Valve公布的Source SDK里面包含的源代码里,存在着很多奇怪的内容。这些内容有的根本不应该存在,有的还各种残缺,2004和2007版本的《半条命2死亡竞赛》的源代码第一次编译甚至还诡异地编译不出来;这些代码里,还残留着很多奇怪的内容,比如喷火效果的定义,居然是在已经被删掉了的喷火枪里(weapon_flaregun.cpp和weapon_flaregun.h),各种npc的代码残缺不全,如果要调出来,甚至会导致游戏崩溃。
再举个例子,npc_missiledefense这个实体根据代码内容,本来应该是用来干扰玩家和npc双方的飞弹,结果无法使用;武器里面其实注册了各种功能,却统统都不能使用;如果玩家要调出一些代码中有游戏里却没有的武器,最终迎接他的十有八九只有崩溃。
“这里有很多代码完全没有意义。我甚至怀疑这些代码是V社的临时工敲的。”
“嘛,V社也就这样..鬼知道他们想的什么。”
这是我们制作组两位起源编程大佬,在讨论编程的时候发表的言论。
呃...算了。
|