经典的死后:星球大战:帝国的阴影


[这个经典的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的时间线。
>他建议它发生在帝国反击和绝地归来之间。

阴影故事线主要涉及银河系的黑社会,新时期允许我们探索一些事情“绝地归来”中没有解释过这个问题。

它还开辟了一些与原始故事无关的新角色,这给我们提供了比使用既定数字更多的创作?#26434;傘?br>

奖励是它允许我们利用每个人最喜欢的赏金猎人Boba Fett。

我们是developi作为全新游戏机的首选游戏之一,有意识地决定尝试?#30001;?#24182;涵盖多种不同的游戏风格。

我们希望确保玩家拥有尽可能多种多样,但仍然享受令人满意的体验。

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

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

最后,我们必须将程序员的计算机改为INDY(仍然是强大的机器)来安装Nintendo 64开发系?#22330;?br>
另外,我们很幸运LucasArts允许我们获得Silicon Graphics ONYX超级计算机。

这款令人印象深刻且有点贵的冰箱大小的计算机拥有Reality Engine 2图形硬件,四个R4000 CPU和256MB RAM。

它成了一个我们开发设备的重要组成部分,因为它是唯一可?#38405;?#25311;最终Nintendo 64硬件将如何运行的硬件。

确实,Nintendo和SGI为我们提供了模拟大多数功能的软件。真正的硬件将支持。

9月下旬,程序员前往Silicon Graphics与其首席架构师Tim Van Hook讨论Nintendo 64硬件设计。

SGI工程师是他们为自己的设计感到自豪,并承?#21040;?#25552;供与雄心勃勃的规格相匹配的硬件。

九个月后,我们了解到他们确实符合这些规格。

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

到目前为止,我们?#25925;?#21040;了任天堂的早期原型64续滚?#24103;?br>
这包括一个改进的超级任天堂控制器,带有原始的模拟操纵杆和Z触发器。

由于我们严格的保密协议,我们无法与任何人讨论硬件或项目在核心团队之外。

因此,当我们使用它时,我们会偷偷地将原型控制器隐藏在纸板箱中。

为了回答关于我们正在做什么的不可避免的问题,我们开玩笑地回答它是一?#20013;?#22411;的控制器 - 一碗液体通过指尖吸收你的思绪。

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

1995年7月,我们收到我们的第一个实?#35270;?#20214;作为INDY的插件板。

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

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

除了RCP(Reality CoProcessor)没有以最终速度运行,并且其中一个特殊视频“抖动模式”不可用时,它表现得非常好。
>在接下来的几周内,我们将再收到两块板,?#21592;?#25152;有程序员?#23478;?#31867;似的方式进行开发。

三个月后,我们将收到Revision 2板,这使得RCP达到全速以及修复一些小错误。

另一个令人惊喜的是内存量增加一倍到4MB。

进一步的发展是硬件“抖动模式”执行几个视频后端的各?#27490;?#33021; - 主要是为了减少Mach绑定的影响,这在使用16位颜色时很常见。

T技术学埃里克?#24049;瞫ton和Mark Blattel在SGI平台上拥有丰富的经验,我们承诺使用Performer 3D API?#26434;?#25103;进?#24615;?#22411;设计。

这是一个非常灵活的基于OpenGL的系?#22330;?br>
最后,我们会在Nintendo 64上编写我们自己的Performer功能子集。

这使得我?#24378;?#20197;在短短三天内将游戏从$ 140,000 SGI ONYX转?#39057;? 200任天堂64.

关卡设计师使用Dark Forces的工具集来构建游戏的第一人称关卡。

这允许在IBM PC上使用实际的Dark Forces引擎进行粗略的预览。
>这项工作相当不错,虽然在项目后期,我?#24378;?#20197;使用单个SGI供级别设计人员专用。但是,PC解决方案也很有用,因为关卡设计师已经熟悉了涉及的过程。

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

此外,ONYX计算了每个级别的预先清除可见性树。

由于Eric和Mark,它的工作方式非常优雅。


世界被细分为“扇区” - 即由几?#20301;?#20854;他标准定义的多边形区域。

这些扇区控制碰?#24067;?#27979;,具有与游戏相关的属性,并执行其他几个相关功能。 br>
可见性程序遍历世界,从360?#28982;?#24418;中的每个扇区的中心以及三个高程渲染场景。

对于要在特定场景中渲染的每个多边形扇区,识别32位值而不是纹理信息,填充帧缓冲区中的适当像素。

这是一个简单的问题,即读取帧缓冲区以确定哪个扇区从该位置可见。 br>
这个过程被称为“淡化?#20445;?#22240;为标识符是写的进入frame缓冲区(实际上是RGBA值)导致场景?#20801;?#20026;?#30475;?#30340;柔和色彩。

Motion在1995年春天,我们决定尝试使用动作捕捉来控制主角的动画。作为诸如Stormtroopers之类的敌人。

幸运的是,我们的姐妹公司Industrial Light&Magic(ILM)有一个可供使用的捕获系?#22330;?br>
这是一个系留系?#24120;?#20351;用一个用于确定每个传感器位置的磁场。

传感器使用攀?#26469;?#36816;动关节支撑,绷带和魔术贴条组合在11个位置连?#25317;?#28436;员。
< br>系统的性质带来了几个问题。

首先,演员必须在凸起的木制平台上演出,因为混凝土地板上的金属结构支撑会影响捕捉系?#22330;?br> >其次,由于演员在平台上以及拴在一起,我们无法获得“干净”的跑步周期>
我们的一些雄心勃勃的动作也证明是有问题的。

从积极的方面来说,一旦系统被校准,我们能够在一天内捕获超过100个动作,每个动作有两到三个不同的动作“需要。

”我们在运行Alias 太阳2平台 PowerAnimator的SGI Indigo 2 Extreme计算机上实时查看了这些动作。

这使我们能够在继续执行之前快速确保每次捕获都是“干净的”下一步行动。不幸的是,我们发现经过分析后,运动数据被证明无法使用。

这主要是因为关节的角度信息不一致围绕每个轴的方向的表?#23613;?br>
因此,人物的所有动画都是?#27490;?#37325;做的,这是一项耗时的任务。

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

Mark Haigh-Hutchinson对电缆进行了争吵并提供了支?#25856;帧?br>
MIDI MusicOur init接近的方法该游戏的音乐类似于我们的一些PC游戏 - 即基于MIDI的解决方案。

?#27426;?#25105;们遇到的第一个问题是我们的音乐家使用的MIDI键盘之间的硬件不兼容?#26434;?#20110;开发游戏的Silicon Graphics计算机。

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

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

不幸的是,由于一些未知的原因,音符开/关对丢失,导致和弦发出一个音符。

另外,注意事项有?#34987;?#23436;全错过。

不久之后,其他不受欢迎的行为浮出水面。

我们通过让音乐家捕捉样本集并仅在他们的键盘上播放来解决这些谜团。 >
经过一些实验,我们觉得MIDI音乐很好,但没有捕捉到es?#24049;病?#23041;廉姆斯的管弦乐配乐与“星球大战”密切相关。

此外,每个额外的乐器频道都需要?#20219;?#20204;想要分配更多的CPU时间。

此时,我们尝试使用星球大战主题的未压缩数字样本进行实验。

即使在使用任天堂提供的ADPCM编码器进行后续压缩后,质量也非常好。
太阳2娱乐
经过一番劝说后,Nintendo慷慨地同意将墨盒空间从8MB增加到12MB。

这使我们能够包含大约15分钟的16位,11khz单声道音乐,听起来非常好。

考虑到这一点大多数用户会通过电视(而不是复杂的音频系?#24120;?#25910;听音乐,结果接近音频CD的结果,从而证明所需的额外磁带空间是合理的。

艺术路径一直存在的问题阴影的发展是inabili ty to在我们使用的各种3D软件包之间导入和导出数据。

最终,我们设法通过一些翻译实用程序以及使用Alias Power Animator作为我们的中心“集线器”格式来规避这些问题。

但是,尺度,模型层次结构和动画数据仍然存在问题。

艺术家有时很难看到他们的艺术作品真正的样子,直到它通过手我们的多边形争吵者(?#34892;籘om!)。

最初,我们的纹理艺术家很?#20005;?#35937;出硬件所需的纹理大小限制以及颜色减少问题。

新硬件在开发游戏时我们还有许多其他问题需要处理,其中最重要的是在项目的前九个月,我们没有任何真正的硬件来运行游戏。

这种缺陷无论如何都不是不可克服的,但它限制了我们的选择ces?#38405;?#31181;方式,特别是在关卡设?#21697;?#38754;。

我们被迫做出一些假设,尤其是关于?#38405;?#30340;假设。

幸运的是,这并不是我们预期的错误。 >
众所周知,?#20999;?#22788;于技术前沿的人往往会牺牲它们。

其他问题在1996年圣诞节截止日期前及时完成比赛的压力很大。

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

希望在未来的项目中可?#21592;?#20813;这?#27490;?#20316;量。

时间压力当然是电?#26434;?#25103;?#24184;?#30340;常见问题 - 我们当然不会对这种现象感到陌生。

但是,因为我们不得不在发布后不久发布我们的游戏对于机器,我们承受的压力比通常遇到的压力要大。

游戏测试也成了一个问题,因为我们很少实?#20160;饈杂?#25103;的机器。

太阳2 Game Play Variety我们能够在Shadows中包含各种各样的游戏风格。

回想起来,这意味着我们无法调整每种类型的游戏玩法都和我们想要的一样多。

这也意味着在尝试编写和调试五种不同游戏引擎的过程中几乎是一项艰巨的编程任务。

这些任务包括:地形低空飞行,空间射击行动,步行第一/第三人或带喷气背包(包括行驶中的火车序列),超速自行车高速?#20998;?#20197;及全程360度太空飞?#23567;?br> >尽管如此,结果是大多数玩家?#26434;?#25103;的体验总是很有趣,代价是让一些更加核心的游戏玩家感到不悦。

各种游戏玩法对于一款游戏来说非常重要。许多玩家,将是他们在完全3D环境中的第一次体验之一。

硬件?#38405;?#22914;前所述,对于t在前九个月的Shadows中,我们没有真正的硬件来衡量游戏的?#38405;?- 除了相当不错的Silicon Graphics ONYX。但是,当我们终于收到真正的硬件时,我们很高兴发现SGI给我们的?#38405;?#20272;计证明是非常?#26082;?#30340;。

事实上,在很大程度上由于图形硬件的并行性,我们能够在整个Shadows中使用浮点数学对于?#38405;?#27809;有显着影响。

另外,Shadows完全使用C语言进行编程 - 我们没有必要使用汇编程序(就我而言是第一个,并且即使虽然令人惊喜我是一个长期的铁杆装配扇。)

由于我们的场景复杂度相对较高(通常保持在大约3,000个多边形左右,但根据级别类型和设计而变化),图形任务占用了执行时间比程序代码长(也就是说,我们是graphics-b ound)。结果
因此,对程序代码的优化并没有显着提高整体?#38405;堋?br>
NTSC到PAL转换完成美国和日本版本的游戏后,我的任务是转换游戏?#21592;?#23427;可以运行关于?#20998;轕AL电视标准。

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

这意味着两件事:第一,游戏使用的PAL?#20801;?#22120;的整个垂直分辨率(625线与NTSC的525线);第二,我想确保PAL游戏的速度与NTSC相同,即使PAL刷新率是50hz而不是60hz。

幸运的是,当我们开始研究Shadows时,我?#19988;?#35782;到要考虑的最重要的事情之一是它必须是基于时间的游戏,而不是基于帧的游戏。

这将允许根据场景复杂性而变化很大的更新速率,以及我们没有任何真正的硬件来测量?#38405;?#29305;征的简单事实。

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

通过这种方法,游戏独立于视频刷新率运行,所有对象都在移动和响应正确的频率。

另一个问题与?#27515;?#24120;见的“信箱”效应有关y NTSC到PAL转?#24359;??

在大多数情况下,垂直帧缓冲区大小没有额外的渲染或增加,在可见游戏区域的上方和下方留下难看的黑色条带。

垂直分辨率现在大于原始NTSC?#20801;荊?#23485;高比也会改变,导致图形水平拉伸。

虽然我不愿意接受这个,但我猜想我不能负担得分ra渲染较大的帧缓冲区所需的CPU时间,即使由于50hz的视频刷新率而有额外的时间可用。

还有一个问题是我们的帧缓冲区的三重缓冲需要额外的RAM使用量因此,我的第一次尝试只是改变3D引擎的视野和纵横比。

这个简单的解决方案很好地解决了“伸展”问题,尽管当然,?#20801;?#20173;然是字母框。

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

”游戏可能会受到影响,因为根据定义,视野会影响玩家对3D世界的看法。

同样,这还?#36824;?#22909;。

我需要的是一个不需要的解决方案额外的渲染,但会解决纵横?#20219;?#39064;。

经过一番研究后,我意识到我之前已经发?#27490;?#21487;以在?#20801;?#30828;件的输出级上更改最终可见?#20801;?#21306;域的大小。

实际上,可?#36816;?#24179;和垂直缩小或放大?#20801;尽?br>

为了补偿信箱,我所要做的就是将垂直?#20801;?#23610;寸改变625/525或1倍。



一旦?#26131;?#20102;这个,我立即做了一个全屏PAL版。

或者我认为......。

关于Shadows的一个问题是我们必须压缩游戏中的所有内容?#20801;视?#21487;用的盒式磁带空间。 >
这包括SGI作为开发系统的一部分提供的瘦操作系?#22330;?br>
因此,在机器重置时,有必要解压缩此OS以运行游戏。

To执行这个解压缩,我?#20999;?#20102;一个小的bootstrap程序,它在初始化的硬件和OS启动之间引入了少量的时间。

这种滞后引入了一次性故障在屏幕上作为视频硬件启动。

除了我以外,不是很明显。

经过很多深夜,我发现了一种通过直接访问Nintendo 64视频硬件寄存器来消除故障的方法。

Bad Idea我们随后发现,因为我们直接访问了硬件,所以它造成了一个不常见的错误。

如果在特定的情况下按下重置?#30913;ィ?#24456;少(50次中有1次)Nintendo 64会?#35272;?#22312;游戏中指出。

不仅如此,我无法重复我的硬件上的错误(当发生这种情况时我讨厌它。)

经过一些很晚的夜晚(在圣诞假期),在Nintendo of America的技术人员的帮助下(?#34892;籑ark和Jim),我们终于解决了这个问题:首先,通过删除直接访问视频寄存器的代码,其次,通过?#25351;?#25511;制缩放的寄存器复位时垂直轴的输出。

有时,最简单的解决方案是最好的。

SGI和Ninte的支持我们非常幸运能够在游戏制作过程中获得SGI和任天堂的大力支持。

SGI工程师(特别?#34892;弧癆corn?#20445;?#38750;常有帮助,通常会回答我们的问题一天之内,有时是在一小时内。

我要?#34892;?#20219;天堂在游戏制作方面提供的帮助。

Nintendo of America的技术支持和质量保证部门也证明是非常宝贵的。 br>
此外,日本任天堂的三名员工花了一些时间在我们的办公室直接与我们合作。

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

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

)我也很幸?#35828;?#35775;问任天堂在日本京都的总部,与Mario的创造者Shiyru Miyamoto讨论Shadows 64.

他的见解既迷人又极具相关性。

他只是一个本能的天才理解视频游戏。

Wampas和Men当开发一个Shadows规模的项目时,总会有一些事情没有像他们那样顺利进行...... 1)动作捕捉过程被证明是对我们来说是一个红色的鲱鱼。

虽然最初承诺一个更加逼真的动画解决方案,但在我们的案例中数据证明无法使用。但是,我仍然相信它具有巨大的?#32503;Γ?#20540;?#23186;?#19968;步研究即使我们没有达到处理与角色环?#36710;?#21160;作相匹配的潜在问题的程度。





2)尝试使用MIDI这个游戏的基础音乐解决方案也被证明是错误的。

虽然它承诺在内存方面是一个有效的解决方案(基于盒式游戏的一个重要考?#19988;?#32032;),但它根本不适合管弦乐电影配乐如星球大战。

3)当我们开始研究阴影时,一个主要问题(继续d,在整个项目期间)各种3D软件包无法导入和导出数据。

虽然我们能够在大多数情况下编写自己的转换实用程序,但它仍然证明是绊?#25856;?#24182;阻止我们拥有一条高效的艺术道路。

幸运的是,提供这些工具的公司现在认识到需要将数据导入和导出到其他软件包,并正在?#25159;?#25514;施来纠正这种情况-VRML,事实证明,这是一种有用的格式。

4)时间是制作游戏的最大敌人。

这不是什么新鲜事,但是因为我们是在一台不存在的机器上工作九个月。

尽管如此,尽管这在很大程度上是我们无法控制的,但我们?#38405;?#22815;制作出高质量的游戏。


5)事后看来,可能从游戏开发中学到的最重要的一课就是关注焦点。

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

虽然我们的野心很好,试图为玩家提供尽可能多的多样性,但我们实际上必须编?#27425;?#31181;不同的游戏引擎。

另外,我?#19988;部?#20197;使用?#35828;?#22235;个程序?#20445;?#19987;门用于游戏前端的各个方面;也就是说,级别选择,控制器选项等?#21462;?br>
这将会给主程序员带来一些压力,直到项目结束。

走出阴影......由于Shadows团队的才能,奉献精神和经验,在开发过程中很多事情进展顺利。

1)通过使用功能强大的SGI计算机(1994年在游戏?#24184;?#20013;相当罕见)进?#24615;?#22411;制作,结合我们程序员对3D技术的了解,我们能够快速开发游戏,并在?#38405;?#35201;求方面保持灵活性。

2)我们重用早期黑暗部队标题工具的能力为我们节省了时间和?#35797;矗?#22240;为我们不需要构建所有新工具,尽管需要大量的数据转换实用程序。

此外,通过重用熟悉的工具,我们的关卡设计人员可以在项目早期提高工作效率可能已经预?#31995;?#20102;。

3)我们决定使用数字化音乐被证明是一个至关重要的音乐。

因为大多数用户会通过他们的电视听音乐,所以质量接近音频CD的质量,就像许多客户所关注的那样。

单?#20048;?#26126;所需的额外盒式磁带空间是合理的,并且令许多玩家感到惊讶,这些玩家不期望从盒式磁带游戏中获得高质量水平。

4)PAL电视标准游戏的转换非常顺利,非常?#34892;?#36825;些国家的客户。

可以公平地说,Shadows已经设定了标准,因为它可以全屏和全速运?#23567;?br>
没有理由为什么所有的游戏都来自这个点上不应该只是运行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;没有?#20801;荊篜aul Zinnes,O,Larry,Clint Bajakian,Eric Ingerson和Darren Johnson。

非常?#34892;籇on James,Henry Sterchi,Hiro Yamada,Kensuke Tanabe和Shigeru Miyamoto。

特别?#34892;籐ucasArts的工作人?#20445;?#29305;别是George Lucas的星球大战宇宙礼物。

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

他后来将参与星球大战:Rogue Squadron,Star Wars:Episode I - Racer,和银河战士Prime系?#23567;?br>
2008年1月,他去世,享年43岁。


郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我?#20999;薷幕?#21024;除,多?#24359;?/p>

天天炫斗官网战力排行
女优内衣诱惑 极速时时是国家开奖 都柏林大学 选小姐的技巧口诀 创信可靠吗 捕鱼赢现金10元提现 时时彩个位单双 永城彩票怎么注册 保时捷性感车模美女 足球比分直播即时比分