初探游戏引擎

初探游戏引擎

引言:游戏引擎,实在是一个深奥而又宽广的话题.笔者并非游戏从业人员,对其所知甚少.本文只是从一个转述者的角度切入,通过众多游戏设计师之口,使玩家能对授权引擎与原创引擎之间的优劣,有一个初步的了解.其目的还是在于抛砖引玉!

20多年前,大部分电脑游戏都还是以文本为基础的,少数则是以低分辨率的图像及各种很聒噪的音效构成的.因此,在这一时期,为游戏编写代码与着色可以说是一件非常简单的工作,只需要将图像填充到最初的位置上就行了.于是 乎,用不了几个程序员,便能在几周,甚至几天的时间内,在他们的车库或是阁楼里做出游戏来.

但是随着电脑技术的进步,玩家的胃口也越来越高.现在的游戏已是非3D加速画面不用,非数字式环绕音效不支持,为了使游戏角色在充满细节的三维世界中的移动更 加真实,游戏代码的编写成了一件需要耗费大量时间,耗费大量金钱的事情.可以说,这一进程(编写代码)的好坏,甚至在游戏公司开始创作最终的内容之前,就已经决定了游戏的最终品质.

发动引擎

今天,很多游戏公司都心里明白,仅凭自身的财力,根本不足以平地起高楼——开发从头到脚都完全崭新的游戏.于是他们决定从其它公司获取那些在屏幕后面驱动游戏运行的程序代码,也就是俗称的"游戏引擎".

由Rogue Entertainment根据著名童话故事Alice in Wonderland(爱丽丝梦游仙境)所改编的第三人称射击游戏American McGee's Alice,是其中一个典型的代表.其设计师American McGee对此解释说:"要想白手起家,创建一套功能强大的3D游戏引擎,实在是超出我们力所能及范围之内的不可完成之任务,因此我们唯一的选择就是寻找一套市面上现存的,具备强大功能及适应性的引擎."

许多开发者都有着类似的处境,他们无力独自开发一套全新的游戏引擎,大部分是因为没钱,没时间,甚或只是因为他们没有足够的程序师,以完成这项日渐艰苦的工作——毕竟如今游戏市场上可供选择的游戏引擎并不在少数,纵使你有幸得以开发出一套新的引擎,也不足以保证能从众多同类者中脱颖而出!

对此,Legend Entertainment的Glen Dahlgren也是深有感触,他评论说:"若仅仅只靠自己的技术力量开发游戏引擎,你就要冒远远落后于技术潮流的巨大风险,因而很可能当你还在使用第一代引擎的时候,市面上第二代,第三代的引擎却早已出现了,那么你怎么可能竞争得过他们呢?"

最常见的解决办法便是去寻求某些公司为自己提供已有的引擎,当然这些引擎还要能够根据自己的需要进行改良与延伸.

Unreal引擎

当前最主流的3D游戏引擎之一便是Unreal的引擎,它是由Tim Sweeney及其开发小组Epic Games所提供的.该引擎不仅为Epic自己的游戏,比如Unreal与Unreal Tournament提供了强劲的动力,它还被众多其它开发者所选用.

Ion Storm奥斯汀部的Warren Spector便是其中之一,他的RPG大作Deus Ex(杀出重围)正是采用的这部引擎.Spector在谈到他之所以选择这款引擎时说道:"当我们还 处于前期制作阶段时,便发现Unreal可以说是性价比最高的引擎."

"他为游戏设计师们准备了极为强大的开发工具组件,并且似乎具有 相当简便的扩展性.当我们决定无论我们签下哪一款引擎,我们都会加入许多新要素时(当然我们也不希望完全从头开始),这款引擎注定必须拥有轻而易举的修改性."

"最终,我们为其加入了一个交谈系统,大量的二维界面画面,新型的武器与物品,极度增强的AI,以及一个非常贴近真实效果的实时嘴型同步系统.当然,不管有多少新要素的加入,提供了一个稳定基础的Unreal引擎是必不可少的前提."

Quake引擎

能与Unreal引擎比肩的主要竞争者毫无疑问是Quake 3.其拥有者id Software也许是这个世界上对引擎授权行当最不陌生的公司了.根据其前设计师John Romero的说法,id授权引擎的历史最早可追溯到1991年的Commander Keen系列.

到90年代中期,以其大获成功的共享游戏软件Wolfenstein 3D(德军总部3D)为基础,诞生了Apogee的Blake Stone与Raven的Shadow Caster.自那以后,他们不仅使用自己的引擎开发本部游戏,还将其授权给其它一些公司.其中,Doom催生了Heretic与Hexen, Quake催生了Hexen II与Half-Life, Quake II引擎则被Kingpin,Heretic II(异教徒2), Soldier of Fortune(命运战士), Sin(原罪)以及Daikatana(大刀)等等一长串游戏所引用.

曾开过Soldier of Fortune, Heretic II和Voyager:Elite Force的Jake Simpson(Raven)对于id的技术一点也不陌生,他形容他们的最新引擎(Quake III)"简直是酷毙了!"

"Quake III中强大的功能节省了我们不少的时间,它实在是难以置信—尤其是其阴影系统就完全值得我们购买."

"当然,这部引擎也缺少我们过去所熟悉的某些要素,比如游戏存档,以及Quake II中最基本的要素:单人游戏模式.但是我们会花费一定资源对其进行扩展的,所以没什么问题."

并非完美

当然,使用任何现成的游戏引擎都会遇到许多问题,Quake III自然也不例外.Jake对此评述说:"(Q III引擎)在描绘广阔户外场景上的不足,是我们不得不面对的一大难题.而Unreal Tournament与Tribes在这方面就做得很不错.此外,Quake III引擎还存在一些并不容易被察觉的问题,直到你试图尝试一些特别设计的时候,这些问题才会显现出来."

"Carmack是一个十足的实用主义者.他只会使他的引擎能尽量满足他 自己的要求就行,而很少顾及别人的需求,这就使我们这些购买引擎的人不得不进行大量的钻研与特性修改."

这种看法得到了3D Realms一位程序员的附应,他就是负责Duke Nukem Forever(永远的毁灭公爵)开发的Scott Miller,虽然花大价钱购得了Quake II引擎,但经过一番努力后,他却痛苦地发现:如果非要说Quake II适合某一款游戏的开发的话,那么这款游戏就只有是Quake 2.

最后3D Realms不得不于1998年作出了一个令世人震惊的决定,放弃Quake II引擎而转投Unreal引擎来重新开发DNF——哪怕他们的这部新作 才在几周前的E3展上给新闻界留下了深刻的印象,还是哪怕他们已经为Quake II引擎的使用权向id支付了不菲的代价.

也许,Quake II引擎的缺陷并非3D Realms作出如此决断的最主要因素,但Scott Miller所给出的官方解释就是如此:"理由很简单,Quake引擎对于户外场景的处理并非尽善尽美,而我们则必须要用到这一功效来制作DNF中的众多关卡."

当然,也并不是每一位设计师都会被Quake引擎的缺陷所限制,主持开发<爱丽丝梦游仙境>的前id老兵American McGee就是其中之一,他告诉我们说:"就Alice与Quake III引擎而言,我们还真的没有发现它们有什么重大设计缺陷."

"因此,我实在找不出我们选用Quake III引擎会有什么错,也许是因为我们对其研究得更加深入吧……!"

诱人的引擎授权

虽然引擎授权对id Software来说只是一个小小的副业,但正是这个副业却为id带来了不菲的利润——每授权Quake III引擎开发一部游戏,大概可收入50万美元左右,这还不包括版税!

如今,Quake III引擎已经为数部游戏所采用,他们有:"American McGee's Alice"(爱丽丝梦游仙境), "Heavy Metal:FAKK2"(重金属2),"Return To Castle Wolfenstein"(重返德军总部),"The World Is Not Enough"(末日危机)与"Voyager:Elite Force"(星际迷航记:精英力量).再考虑到id并没有花费多少资源在推销(或是支持)他们的引擎上面,那么几乎可以肯定:他们从引擎授权中获得的利润要比光靠贩卖"Quake 3 Arena"所获得的利润还要多.

出于这样的诱惑,Monolith也深信引擎授权是一项绝对有利可图的生意,于是他们最近也 成立了一个全新的公司,名称就是以他们公司的代表引擎LithTech命名的,而这家公司的业务便是从事设计,开发,授权他们的LithTech引擎,并提供相应的技术支持.

LithTech引擎的买家还不少,他们之所以选择它不光是因为它的强大性能,还因为Monolith完善的售后支持.对此,Third Law公司的David Namaksy(开发作品为KISS : Psycho Circus<变态马戏团:噩梦男孩>)的话颇具代表性:"Monolith承诺将为购买者提供技术支持与不断的升级服务,并一直持续到我们的游戏发售 后,这一点对于我们将决定购买哪款引擎是非常重要的.而Monolith的承诺就像是我们拥有一个自己的引擎专门小组一样."

持这一观点的还有大名鼎鼎的John Romero,他新成立的公司同时购买了Quake与Unreal引擎的授权,这便使他对这两大引擎的售后支持力度有了一个直观的比较,他首先指出"这主要还是得依靠引擎提供商".

"如果从id购买引擎,基本上得不到任何支持与帮助,也没有任何相关资料.这并不是件好事.但如果你从Monolith,或是从Epic购买引擎,他们则会给予你相当相当大的支持."

问题

购买授权引擎还会引发其它一些问题.Raven就遭遇了受制于引擎更新进度的麻烦,本来其Voyager : Elite Force的开发工作早在Quake 3 Arena上市前就已展开,但id这部作品的开发进程一拖再拖,给Raven造成了极大的不便.

"试图去击打一个移动目标一直都很非常困难,"Jake Simpson诉苦到."我们很久之前就已期盼着这部引擎能够快点完成,不然这显然会对我们自己的上市日程造成极大冲击——尤其是在我们与id还有着特别协议的情况下,即我们作品的发售日期不能 与id的QuakeIII挨得太近."

"我们游戏的开发进度只能与Quake III引擎的开发进度大致相当,因此当我们有时获得了更新源代码后,只能将其中变化的部分进行简单的剪切粘贴,而没有时间进行深入细致的改良."

不过,就算开发者能够拥有一套现存的完善引擎,其大部分功效最后也不得不被扔弃——如果你不仅仅只是希望制作一部看得过眼的资料片的话.对此,Scott Miller评述到:"理论上说,购买了现有引擎使用权的开发商确实能够节约大把的开发时间."

"但事实上,如果他们真心希望开发一部3A级别的游戏,他们就需要对所获得的引擎进行根本上的升级与改进.Half-Life就是一个典型的例子,Duke Nukem Forever也是一样.到最后,引擎大部分地方其实都是我们自己的成果."

"当然基本上,所有的Unreal Tournament基础核心代码还是会得以保留,"Scott进一步解释到."我们自己新开发的代码则主要用于增添引擎的其它特效."

或者用John Romero最近在达拉斯Razer-CPL大赛上所说的那样:"有时我想,要是能只购买引擎的核心部分就好了,那样我就能随心所欲增加任何自己想要的东西."

自创

既然你打算将引擎的大部分代码进行重写,有人也许会想:"那何不干脆从头干起更好?"

英国开发商Rebellion的创始人之一Jason Kingsley便是持有这种想法的开发人之一,而它的两部作品:Aliens vs Predator(异形vs掠夺者)及组队型动作冒险游戏Gunlok(钢铁战场),也正是用自家的引擎开发的.

Jason告诉我们说:"用我们自己的引擎,使我们能够自由尽情的发挥,这样就不必妥协于他购的引擎——或准确的说是二手引擎."

Rebel Act工作室的Xavier Carrillo也同意Jason(作品Blade<黑暗之刃>)的看法,他告诉我们说从头创建属于自己的游戏引擎比外购引擎"更具有灵活性",它将使你自己对整个游戏的开发"拥有完全的掌控权,并能依据自己的开发需求对引擎进行设计规范."

Starbreeze公司一位正在忙于在线第一人称射击游戏Enclave(困土)开发的关卡设计师:Jens Matthies也认为使用自己开发的引擎使开发者们有了"对游戏设计过程中的所有方面 全面施以影响的权力"

他还说:"如果我想到了一个新点子,我便会把它告诉Magnus[Starbreeze的主程序员],如果他赞成的话,他就会将其加入游戏中.这对我这样的关卡设计者来说实在太有利了,因为这种做法有可能使一切都能变得尽善尽美.这实在是太令人高兴了."

自创的弊端

很显然,开发全新引擎也有很大的弊端.Xavier就告诉我们从头设计独立引擎:"无疑需要更多的程序员,而所有其它部门的工作进程都得要视引擎的进化程度而定."

而Jens也直言不讳地认为这确实是一个大问题.他解释到用一个尚在开发中的引擎制作游戏,意味着"永远都会存在着你很想加入,但事实上却无法加入的特效,",甚至"要到很晚才能进行关卡设计."

虽说若真的有必要从头设计一部引擎,开发者还可以根据游戏的需要对其进行量身定制 的话.那么如果游戏引擎的设计实在变动得太过频繁,那将意味着大量的早期工作将被浪掷,返工,或至少是在工程后期需要重新编译.

结束语

综合上段所言,相对于自主研发的引擎,授权引擎的最大优势便体现了出来——它起码可以给你的开发小组一个稳定的开发环境.

正因为大部分授权引擎的技术相对都比较成熟,因此你的美工与策划们可以按照自己的节奏进行开发设计,而不必停下来等待程序师们的步伐.

虽然,有时候对授权引擎的大规模修改也不可避免地造成设计上的返工,但通常,引擎的基本特性还是足以保证公司的剩余力量能够继续前进,而不必一遍又一遍地重头再来!


猜你感兴趣

更多 >>

评论

评 论

更多精彩内容