经典的死后:星球年夜战:帝国的暗影


[这个经典的Mark Haigh-Hutchinson于1997年1月完成的事件,最初印在Game Developer杂志上,在初期任天国64标题星球年夜战:帝国的暗影中落后于幕后。

]帝国的暗影是最初为任天国64视频游戏机开辟的举动游戏。

它是多媒体星球年夜战运动的一部分,包罗小说,配乐,玩具系列,漫画书,买卖业务卡和其他干系商品。< br>
Nintendo 64版本于1996年12月颁布发表,并且已证实非常受欢迎,迄今为止已发运了超出一百万份。

IBM PC版本于1997年9月初颁布发表,并具有加强的剪切场景,红皮书音频(音乐和语音)和高分辨率图形。

它需要利用3D加快卡。

为甚么暗影?返回1994年炎天,LucasArts正在摸索为新兴的“下一代”之一开辟新3D标题的大概性平台。

颠末一番构和,Nintendo 64被认为是首选平台,纵然当时没有可用的硬件。

由于我们与Lucasfilm的密切干系,我们我们知道Lucasfilm Licensing正在策划帝国暗影事件。

Jon Knoles,任天国64游戏的首席艺术家兼企图师,努力参加决定Shadows的时间线。
>他提倡它产生在帝国回手和尽地回往返头之间。

暗影故事线重要触及银河系的黑社会,新期间答应我们摸索一些事变“尽地回往返头”中没有解释过这个标题。

它还开辟了一些与原始故事无关的新脚色,这给我们供给了比利用既定命字更多的创作自由。


褒奖是它答应我们利用每小我私家最爱好的赏金猎人Boba Fett。

我们是developi作为全新游戏机的首选游戏之一,居心识地决定推行延伸并涵盖多种差别的游戏魄力派头魄力派头。

我们希看确保玩家具有尽也很多种多样,但仍然享受令人满足的体验。

实际引擎200美元?到1994年9月初,我们收到了Silicon Graphics事变站,核心团队正在事变。

最初三位程序员利用Indigo 2 Extremes,200mhz CPU,64MB RAM和24位图形。

末了,我们必须将程序员的策画机改成INDY(仍然是强年夜的机器)来安装Nintendo 64开辟系统。

别的,我们很荣幸LucasArts答应我们得到Silicon Graphics ONYX超等策画机。

这款令人印象深切且有点贵的冰箱巨细的策画机具有Reality Engine 2图形硬件,四个R4000 CPU和256MB RAM。

它成了一个我们开辟设备的重要构成部分,由于它是唯一可以摹拟究竟Nintendo 64硬件将怎样运行的硬件。

确实,Nintendo和SGI为我们供给了摹拟年夜多数成果的软件。真正的硬件将撑持。

9月下旬,程序员前去Silicon Graphics与其首席架构师Tim Van Hook构和Nintendo 64硬件企图。

SGI工程师是他们为本身的企图感到自大年夜,并答应将供给与雄心勃勃的规格相匹配的硬件。

九个月后,我们相识到他们确实切合这些规格。

到1994年圣诞节,我们具有第一级游戏的底子,Hoth之战,在ONYX上运行得非常好 - “相当不错”是高分辨率(1280x1024),32位色,每秒60帧。

到如今为止,我们还收到了任天国的初期原型64续滚轮。

这包罗一个改革的超等任天国把持器,带有原始的摹拟利用杆和Z触发器。

由于我们严格的保密和谈,我们没法与任何人构和硬件或项目在核心团队以外。

是以,当我们利用它时,我们会偷偷地将原型把持器隐蔽在纸板箱中。

为了再起关于我们正在做甚么的不可压迫的标题,我们开顽笑地再起它是一种新型的把持器 - 一碗液体颠末过程指尖罗致你的思绪。

固然,你必须用日语思考......。

1995年7月,我们收到我们的第一个实际硬件作为INDY的插件板。

这个厥后被称为修订版1板,但在查抄时它非常“干净” - 没有电线包裹或其他临时物品在面前在三天以内,技巧主管Eric Johnston和第二位程序员Mark Blattel将游戏移植到实际的硬盘上当我们第一次看到Hoth战斗在“真正的”机器上运行时,这是一个令人畏敬的时间。

硬件的第一次修订非常靠近原始规格由SGI供给。

除RCP(Reality CoProcessor)没有以究竟速率运行,并且此中一个特殊视频“颤栗模式”不可用时,它表现得非常好。
>在接下来的几周内,我们将再收到两块板,以便全部程序员都以近似的体例举办开辟。

三个月后,我们将收到Revision 2板,这使得RCP达到全速和修复一些小弊病。

别的一个令人欣喜的是内存量增长一倍到4MB。

进一步的生长是硬件“颤栗模式”推行几个视频后端的种种成果 - 重要是为了镌汰Mach绑定的影响,这在利用16位色采时很常见。

T技巧学埃里克约翰ston和Mark Blattel在SGI平台上具有富厚的履历,我们答应利用Performer 3D API对游戏举办原型企图。

这是一个非常机动的基于OpenGL的系统。

末了,我们会在Nintendo 64上编写我们本身的Performer成果子集。

这使得我们可以在短短三天内将游戏从$ 140,000 SGI ONYX转移到$ 200任天国64.

关卡企图师利用Dark Forces的东西集来构建游戏的第一人称关卡。

这答应在IBM PC上利用实际的Dark Forces引擎举办大略的预览。
>这项事变相当不错,固然在项目后期,我们可利用单个SGI供级别企图职员专用。但是,PC治理方案也很有效,由于关卡企图师已熟谙了触及的过程。

不幸的是,由于此时游戏引擎没有在PC上运行,是以开辟周期为有点慢。

别的,ONYX策画了每个级别的预先打扫可见性树。

由于Eric和Mark,它的事变体例非常优雅。


天下被细分为“扇区” - 即由多少或其他标准界说的多边形地区。

这些扇区把持碰撞检测,具有与游戏干系的属性,并推行其他几个干系成果。 br>
可见性程序遍历天下,从360度弧形中的每个扇区的中心和三个高程衬着场景。

对要在特定场景中衬着的每个多边形扇区,辨认32位值而不是纹理信息,添补帧缓冲区中的得当像素。

这是一个简略的标题,即读取帧缓冲区以确定哪个扇区从该职位可见。 br>
这个过程被称为“淡化”,由于标识符是写的进进frame缓冲区(实际上是RGBA值)导致场景表现为纯粹的柔和色采。

Motion在1995年春季,我们决定推行利用举动捕捉来把持主角的动画。作为诸如Stormtroopers之类的仇敌。

荣幸的是,我们的姐妹公司Industrial Light&Magic(ILM)有一个可供利用的捕捉系统。

这是一个系留系统,利用一个用于确定每个传感器职位的磁场。

传感器利用攀爬带,运动要害撑持,绷带和花招贴条组合在11个职位毗连到演员。
< br>系统的性子带来了几个标题。

起首,演员必须在突出的木制平台上演出,由于混凝地皮板上的金属布局撑持会影响捕捉系统。
>其次,由于演员在平台上和拴在一起,我们没法得到“干净”的跑步周期>
我们的一些雄心勃勃的举动也证实是有标题的。

从努力的方面来讲,一旦系统被校准,我们可以大概在一天内捕捉超出100个举动,每个举动有两到三个差别的举动“需要。

”我们在运行Alias 环华平台 PowerAnimator的SGI Indigo 2 Extreme策画机上及时检察了这些举动。

这使我们可以大概在继续推行之前快速确保每次捕捉都是“干净的”下一步举动。不幸的是,我们创作创造颠末分析后,运动数据被证实没法利用。

这重要是由于要害的角度信息差别等缭绕每个轴的方向的表现。

是以,人物的全部动画都是手工重做的,这是一项耗时的任务。

Jon Knoles指挥演员Amos Glick想象中的镜头。

Mark Haigh-Hutchinson对电缆举办了辩说并供给了撑持手。

MIDI MusicOur init靠近的要领该游戏的音乐近似于我们的一些PC游戏 - 即基于MIDI的治理方案。

但是,我们碰到的第一个标题是我们的音乐家利用的MIDI键盘之间的硬件不兼容性用于开辟游戏的Silicon Graphics策画机。

理论上可以直接在Nintendo 64硬件上预览作品,由于音乐家在键盘上播放它们。

固然,这个将为音乐家供给最好的反馈。

不幸的是,由于一些未知的缘故起因因由启事,音符开/关对丢掉落,导致和弦发出一个音符。

别的,器重事项偶然会完整错过。

不久以后,其他不受欢迎的举动浮出水面。

我们颠末过程让音乐家捕捉样本集并仅在他们的键盘上播放来治理这些谜团。 >
颠末一些推行,我们认为MIDI音乐很好,但没有捕捉到es约翰·威廉姆斯的管弦乐配乐与“星球年夜战”密切干系。

别的,每个特殊的乐器频道都需要比我们想要分派更多的CPU时间。

此时,我们推行利用星球年夜战主题的未压缩数字样本举办推行。

纵然在利用任天国供给的ADPCM编码器举办后续压缩后,质量也非常好。
环华娱乐
颠末一番劝告后,Nintendo慷慨地答应将墨盒空间从8MB增长到12MB。

这使我们可以大概包罗约莫15分钟的16位,11khz单声道音乐,听起来非常好。

思量到这一点年夜多数用户会颠末过程电视(而不是宏年夜的音频系统)收听音乐,成果靠近音频CD的成果,从而证实所需的特殊磁带空间是公平的。

艺术路径不停存在的标题暗影的生长是inabili ty to在我们利用的种种3D软件包之间导进和导出数据。

究竟,我们想法颠末过程一些翻译实用程序和利用Alias Power Animator作为我们的中心“集线器”格式来规避这些标题。

但是,标准,模子条理布局和动画数据仍然存在标题。

艺术家偶然很丢脸到他们的艺术作品真正的样子边幅面貌,直到它颠末过程手我们的多边形辩说者(谢谢Tom!)。

最初,我们的纹理艺术家很难想象出硬件所需的纹理巨细限定和色采镌汰标题。

新硬件在开辟游戏时我们尚有很多其他标题需要措置处分,此中最重要的是在项目的前九个月,我们没有任何真正的硬件来运行游戏。

这类偏差不管怎样都不是不可降服的,但它限定了我们的选择ces以某种体例,特殊是在关卡企图方面。

我们被迫做出一些假定,特殊是关于性能的假定。

荣幸的是,这着实不是我们预期的弊病。 >
尽人皆知,那些处于技巧前沿的人经常会就义它们。

其他标题在1996年圣诞控压迫日期前及时完成比赛的压力很年夜。

这个实际意味着很多很多深夜,一些团队成员每周定期事变超出100小时,一年中最好的时间。

希看在将来的项目中可以压迫这类事变量。

时间压力固然是电脑游戏行业的常见标题 - 我们固然不会对这类征象感到生疏。

但是,由于我们不克不及不在颁布发表后不久颁布发表我们的游戏对机器,我们遭遇的压力比通常碰到的压力要年夜。

游戏测试一样成了一个标题,由于我们很少实际测试游戏的机器。

环华 Game Play Variety我们可以大概在Shadows中包罗种种百般的游戏魄力派头魄力派头。

追念起来,这意味着我们没法调治每种范例的游把玩簸玩法都和我们想要的一样多。

这也意味着在推行编写和调试五种差别游戏引擎的过程中险些是一项艰苦的编程任务。

这些任务包罗:地形低空飞行,空间射击举动,步行第一/第三人或带喷气背包(包罗行驶中的火车序列),超速自行车高速追逐和全程360度太空飞行。
>只管云云,成果是年夜多数玩家对游戏的体验总是很风趣,代价是让一些越发核心的游戏玩家感到不悦。

种种游把玩簸玩法对一款游戏来讲非常重要。很多玩家,将是他们在完整3D情况中的第一次体验之一。

硬件性能如前所述,对t在前九个月的Shadows中,我们没有真正的硬件来衡量游戏的性能 - 除相当不错的Silicon Graphics ONYX。但是,当我们究竟收到真正的硬件时,我们很兴高昂现SGI给我们的性能预计证实是非常正确的。

究竟上,在很洪流平上由于图形硬件的并行性,我们可以大概在全部Shadows中利用浮点数学对性能没有鲜鲜显着显显影响。

别的,Shadows完整利用C语言举办编程 - 我们没有必要利用汇编程序(就我而言是第一个,并且纵然固然令人欣喜我是一个长期的铁杆装配扇。)

由于我们的场景宏年夜度相对较高(通常保持在约莫3,000个多边形摆布,但凭据级别范例和企图而转变),图形任务占用了推行时间比程序代码长(也就是说,我们是graphics-b ound)。成果
是以,对程序代码的优化并没有鲜鲜显着显显进步团体性能。

NTSC到PAL转换完成美国和日本版本的游戏后,我的任务是转换游戏以便它可以运行关于欧洲PAL电视标准。

作为英国人,我有一种既得优点,确保转换是一个好的。

这意味着两件事:第一,游戏利用的PAL表现器的全部垂直分辨率(625线与NTSC的525线);第二,我想确保PAL游戏的速率与NTSC不异,纵然PAL改革率是50hz而不是60hz。

荣幸的是,当我们劈头研究Shadows时,我们意想到要思量的最重要的事变之一是它必须是基于时间的游戏,而不是基于帧的游戏。

这将答应凭据场景宏年夜性而转变很年夜的更新速率,和我们没有任何真正的硬件来丈量性能特点的简略究竟。

本质上,程序会跟踪每次更新游戏之间的尽对时间。
>这个值,我们称之为delta时间,成为任何移动或其他基于时间的数量的被乘数。

颠末过程这类要领,游戏独立于视频改革率运行,全部东西都在移动和相应正确的频率。

别的一个标题与人类常见的“信箱”效应有关y NTSC到PAL转换。??

在年夜多数情况下,垂直帧缓冲区巨细没有特殊的衬着或增长,在可见游戏地区的上方和下方留下丢脸的玄色条带。

垂直分辨率如今年夜于原始NTSC表现,宽高比也会转变,导致图形程度拉伸。

固然我不肯意继续这个,但我料想我不克不及累坠得分ra衬着较年夜的帧缓冲区所需的CPU时间,纵然由于50hz的视频改革率而有特殊的时间可用。

尚有一个标题是我们的帧缓冲区的三重缓冲需要特殊的RAM利用量是以,我的第一次推行只是转变3D引擎的视野和纵横比。

这个简略的治理方案很好地治理了“伸展”标题,只管固然,表现仍然是字母框。

不幸的是,这也意味着任何2D困绕状态信息仍然“拉伸。

”游戏大概会遭到影响,由于凭据界说,视野会影响玩家对3D天下的见解。

一样,这还不敷好。

我需要的是一个不需要的治理方案特殊的衬着,但会治理纵横比标题。

颠末一番研究后,我意想到我之前已创作创造过可以在表现硬件的输出级上变更究竟可见表现地区的巨细。

实际上,可以水安然安静垂直缩小或放年夜表现。


为了补偿信箱,我所要做的就是将垂直表现尺寸转变625/525或1倍。



一旦我做了这个,我赶紧做了一个全屏PAL版。

或我认为......。

关于Shadows的一个标题是我们必须压缩游戏中的全部内容以顺应可用的盒式磁带空间。 >
这包罗SGI作为开辟系统的一部分供给的瘦利用系统。

是以,在机器重置时,有必要解压缩此OS以运行游戏。

To推行这个解压缩,我们写了一个小的bootstrap程序,它在初始化的硬件和OS启动之间引进了少量的时间。

这类滞后引进了一次性妨碍在屏幕上作为视频硬件启动。

除我以外,不是很鲜鲜显着显显。

颠末很多深夜,我创作创造白一种颠末过程直接访问谋面谋面Nintendo 64视频硬件存放器来消弭妨碍的要领。

Bad Idea我们随后创作创造,由于我们直接访问谋面谋面了硬件,以是它造成了一个不常见的弊病。

假如在特定的情况下按下重置按钮,很少(50次中有1次)Nintendo 64会崩溃在游戏中指出。

不但云云,我没法重复我的硬件上的弊病(当产生这类情况时我讨厌它。)

颠末一些很晚的夜晚(在圣诞假期),在Nintendo of America的技巧职员的接济下(谢谢Mark和Jim),我们究竟治理了这个标题:起首,颠末过程删除直接访问谋面谋面视频存放器的代码,其次,颠末过程规复把持缩放的存放器复位时垂直轴的输出。

偶然,最简略的治理方案是最好的。

SGI和Ninte的撑持我们非常荣幸可以大概在游戏制作过程中得到SGI和任天国的大力大举年夜举放荡年夜举撑持。

SGI工程师(特殊谢谢“Acorn”)非常有接济,通常会再起我们的标题一天以内,偶然是在一小时内。

我要谢谢任天国在游戏制作方面供给的接济。

Nintendo of America的技巧撑持和质量包管部分也证实是非常难过的。 br>
别的,日本任天国的三名员工花了一些时间在我们的办公室直接与我们相助。

1996年8月在日本京都的晚餐。

(从左到右:Don James,Hiro Yamada,Mark Haigh-Hutchinson,Shigeru Miyamoto,Kenji Miki。

)我也很荣幸地访问谋面谋面任天国在日本京都的总部,与Mario的创作创作创造者Shiyru Miyamoto构和Shadows 64.

他的见解既迷人又极具干系性。

他只是一个本能的天才明确视频游戏。

Wampas和Men当开辟一个Shadows领域的项目时,总会有一些事变没有像他们那样顺遂举办...... 1)举动捕捉过程被证实是对我们来讲是一个赤色的鲱鱼。

固然最初答应一个越发逼真的动画治理方案,但在我们的案例中数据证实没法利用。但是,我仍然信托它具有宏年夜的潜力,值得进一步研究纵然我们没有达到措置处分与脚色情况等举动相匹配的匿伏标题的程度。





2)推行利用MIDI这个游戏的底子音乐治理方案也被证实是弊病的。

固然它答应在内存方面是一个有效的治理方案(基于盒式游戏的一个重要思量因素),但它根天职歧适管弦乐影戏配乐如星球年夜战。

3)当我们劈头研究暗影时,一个重要标题(继续d,在全部项目期间)种种3D软件包没法导进和导出数据。

固然我们可以大概在年夜多数情况下编写本身的转换实用程序,但它仍然证实是绊脚石并压迫我们具有一条高效的艺术蹊径。

荣幸的是,供给这些东西的公司如今熟谙到需要将数据导进和导出到其他软件包,并正在采用程序来纠正这类情况-VRML,究竟证实,这是一种有效的格式。

4)时间是制作游戏的最年夜仇敌。

这不是甚么新奇事,但是由于我们是在一台不存在的机器上事变九个月。

只管云云,只管这在很洪流平上是我们没法把持的,但我们仍可以大概制作出高质量的游戏。


5)过后看来,大概从游戏开辟中学到的最重要的一课就是存眷核心。

做一两件事和d他们极度好吧。

固然我们的野心很好,试图为玩家供给尽也很多的多样性,但我们实际上必须编写五种差别的游戏引擎。

别的,我们也可利用了第四个程序员,专门用于游戏前端的各个方面;也就是说,级别选择,把持器选项等等。

这将会给主程序员带来一些压力,直到项目竣事。

走出暗影......由于Shadows团队的才调,奉献精力和履历,在开辟过程中很多事变希看顺遂。

1)颠末过程利用成果强年夜的SGI策画机(1994年在游戏行业中相当有数)举办原型制作,连合我们程序员对3D技巧的相识,我们可以大概快速开辟游戏,并在性能请求方面保持机动性。

2)我们重用初期漆黑步队标题东西的本事为我们俭仆了时间和资源,由于我们不需要构建全部新东西,只管需要年夜量的数据转换实用程序。

别的,通太重用熟谙的东西,我们的关卡企图职员可以在项目初期进步事变效率大概已预推测了。

3)我们决定利用数字化音乐被证实是一个相当重要的音乐。

由于年夜多数用户会颠末过程他们的电视听音乐,以是质量靠近音频CD的质量,就像很多客户所存眷的那样。

孑立证实所需的特殊盒式磁带空间是公平的,并且令很多玩家感到惊异,这些玩家不期看从盒式磁带游戏中得到高质量程度。

4)PAL电视标准游戏的转换非常顺遂,非常谢谢这些国家的客户。

可以公平地说,Shadows已设定了标准,由于它可以全屏和全速运行。

没有来由为甚么全部的游戏都来自这个点上不应当只是运行PAL系统和它们在NTSC上也是云云。

5)鉴于我们正在研究全新的硬件,并且年夜部分必须创作创造我们本身需要知道的统统,SGI的撑持在全部项目中,任天国对我们来讲都是非常难过的。

Varying Shadows固然我们没法破钞太多时间来调治游戏,但Shadows确实乐成地为玩家供给了种种游戏 - 游戏魄力派头魄力派头。

它的受欢迎程度证了了我有幸成为此中一员的团队的创作创作创造力和才调。

核心团队核心团队从劈头到完成开辟Shadows重要由六小我私家构成,固然有20小我私家在差别程度的时间和差别程度上为比赛做出了孝敬。

只管云云,每小我私家在比赛的制作中都施展了相当重要的作用。


完整的游戏积罗列表以下:游戏企图师/首席艺术家 - Jon Knoles项目认真人/高级P rogrammer - Mark Haigh-Hutchinson技巧主管 - Eric Johnston程序员/ Lycanthrope - Mark BlattelPolygon牧马人 - Tom HarperLevel企图师 - Jim CurrentLevel企图师 - Matthew Tateishi和Ingar Shu3D艺术家 - Paul Zinnes,Andrew Holdun和Garry M.

Gaber3D Animator - Eric Ingerson纹理艺术家 - Chris Hockabout3D /配景艺术家 - Bill StonehamStoryboard艺术家 - Paul Topolos音乐编辑 - Peter McConnellSound企图师 - Larry the O和Clint BajakianLead Tester - Darren Johnson制作司理 - Brett TostiBack Row(从左到右):Steve Dauterman,Peter McConnell, Jon Knoles,Andrew Holdun,Paul Topolos师长西席,

B.

Fett; Middle Row(从左到右):Jim Current,Matthew Tateishi,Bill Stoneham,Brett Tosti,Ingar Shu,Tom Harper,Chris Hockabout; Front Row(从左到右):Garry Gaber,Mark Blattel,Eric Johnston,Mark Haigh-Hutchinson;没有表现:Paul Zinnes,O,Larry,Clint Bajakian,Eric Ingerson和Darren Johnson。

非常谢谢Don James,Henry Sterchi,Hiro Yamada,Kensuke Tanabe和Shigeru Miyamoto。

特殊谢谢LucasArts的事变职员,特殊是George Lucas的星球年夜战宇宙礼品。

[Mark Haigh-Hutchinson在撰写本文时是LucasArts的项目认真人和高级程序员。

他厥后将参加星球年夜战:Rogue Squadron,Star Wars:Episode I - Racer,和银河兵士Prime系列。

2008年1月,他回天,享年43岁。


郑重声明:本文版权回原作者全部,转载文章仅为流传更多信息之目的,如作者信息标记有误,请第一时间接洽我们编削或删除,多谢。