引言
如果您向游戏开发者询问他们在创建游戏方面的初次体验,那么许多人都会谈论他们玩过的游戏的编辑者。 他们经常通过引人注目的名称(例如“编辑”)来找到它。
在Unity 3D出现之前很久,诸如id Software,Epic,3D Realms,Blizzard和BioWare之类的公司就在其游戏中发布了工具,希望这将使人们能够创建内容,增加社区规模和游戏寿命。 许多人不只是喜欢使用这些工具-他们成为了游戏产业的大门。 他们后来创建的内容成为简历的一部分。
近年来,经典游戏的回顾已经越来越流行,但是经典的igrobuilding工具几乎没有引起注意。 在本系列文章中,我们将尝试填补空白:我们将采访行业中的重要人物,并请他们谈论这些经典游戏工具的开发方式。
在本文中,我很荣幸与
John Romero Romero谈论由id Software创建的图块编辑器
TEd ,该版本帮助发行了33个游戏。
第一次与关卡编辑器会面
大卫·莱伯恩(David Lightbone) :你好,约翰。 感谢您抽出宝贵的时间与我聊天!
John Romero :没问题!
DL :在讨论TEd之前,我想退后一步:80年代初期,游戏随附的关卡编辑器很少。 在“
遵守代码”的采访中,您说过
Pegasus]的地形生成器是您尝试过的第一级编辑器之一。 您能谈谈这种经历吗?
JR :我第一次在Sierra学院的苹果公司办公室里看到Pegasus。 这是我在Apple上看到的第一个程序之一。 播放时,我注意到可以生成地形。 我认为:开发人员构建了这样的工具来产生游戏性真是太好了。
现在想到这是创建mod的第一批游戏之一,这很有趣。 我是
我第一次看到这样的东西,并认为它很棒。 这很有趣,但是我从来没有想过:“嘿,为什么在其他游戏中不这样呢?”,我只是没想到游戏会出现这种情况!
TEd,图块编辑器
JL :好的,让我们继续讨论TEd。
[在讨论的同时,我启动了两个DOSBox,以便可以观看TEd和Deluxe Paint]
我想谈的第一件事是TEd屏幕保护程序。 它说是用于地图的Deluxe Paint。 任何对id Software的历史了解很少的人都知道Adrian Carmack使用了Deluxe Paint ...
JR :整个游戏行业都在使用它。
JL :是的! 因此,引起我注意的第一件事是Deluxe Paint和TEd的顶级菜单在外观和感觉上都非常相似。 您是否已尝试使Deluxe Paint的用户熟悉某些东西,或使用了从Deluxe Paint取得的某些零件?
JR :在使用id Software之前,我曾在SoftDisk中为PC编写过几种工具。 我写了
Pixel Puzzle Maker ,它是用于软盘的拼图工具,称为Pixel Puzzler。 我为Pixel Puzzle制造商编写了一个下拉菜单,然后对其进行了一些更改。 似乎我在Softdisk上为PC编写了其他工具,当我使用id时,似乎创建了另一个工具,因为使用下拉菜单制作该系统非常容易。
它不是基于Deluxe Paint的,因为我从未使用过Deluxe Paint,但是我认为使用下拉菜单比使用一大堆热键要容易得多……尽管我们也有很多热键!
DL :谈到键盘快捷键:我注意到其他相似之处。 今天,我们习惯了Control-Z是取消动作的事实,但是在那些日子里,至少对于Deluxe Paint和TEd,取消动作是通过按“ U”键执行的。
JR :(笑)哇。 我有这个想法吗?
JL :是的! 在这里,看,我填满了方块,单击“ U”并取消了...
[我画了一些图块,然后按“ U”撤消上一个操作]
JR :[笑]可爱。
哦,顺便说一句,您是在DOSBox中启动它的,如果您滚动屏幕,与当时所有东西在386上的工作方式相比,它将非常慢。 该程序就飞了。
JL :真的吗? 不开玩笑吗?
JR :出于某种原因,DOSBox使其速度大大降低。 EGA滚动使用“闩锁”模式,该模式当时非常快,您只需触摸按键即可,否则将滚动浏览所有内容。 所以现在您看到一个奇怪的非常慢的版本。
[作者注:约翰谈到了在StackExchange上使用闩锁模式进行EGA滚动:
http :
//gamedev.stackexchange.com/questions/6488/how-did-they-make-the-screen-move-in-dangerous-dave ]
DL :好的,所以你说TEd有很多热键。 使用TEd时,通常必须阅读帮助文件以了解如何使用此类工具。
JR :是的,当然。 我想有些人还记得WordStar,那只是一堆噩梦般的热键。
JL :[笑]
JR :那时候,我们演奏Ultima,而Ultima使用键盘上的每个字母,因此很容易记住这样的事情。
[作者注:我发掘了《创世纪1》的手册,约翰证明是绝对正确的……几乎在键盘上的每个键上都有一个动作!]
JL :可以肯定! 因此,在游戏行业发展的那个阶段,关卡设计时,您必须拿起一张方格纸并放置好瓷砖,然后将它们输入计算机。
JR :是的。
[作者注:在这次采访之后,约翰给了我一张他制作的《
六马赫》游戏的方格纸上的图形。 您还可以阅读Gamasutra上有关任天堂如何使用方格纸在NES上开发第一个塞尔达水平的文章]
JL :那么id Software在什么时候决定需要创建TEd?
JR :当我在1988年为Daveous Dave工作时,我需要为他创建关卡,我想:“为什么不使用游戏本身,而让它创建可以保存的关卡。” 那正是我对Daveous Dave所做的。
当约翰·卡马克(John Carmack)看到了这一点(他为Apple II工作)时,他印象深刻,因为他习惯于使用文本来表示图形。 当我们第一次决定一起创建东西时,我写了TEd 1.0,几个月后它演变为TEd 5.0,用于开发33种发行的游戏。
DL :哇...当您谈论33种已发布的游戏时,您不仅意味着创建了id项目,例如Commander Keen和Wolfenstein系列,而且还创建了外部项目,例如Triad?
JR :当然可以! 更多的走廊7,以及为游戏玩家而准备的游戏:暗影骑士,斯拉达克斯,危险戴夫和鬼屋,救援火星车1和2,生化奇兵...一堆游戏!
DL :那么,TEd不仅用于侧视图以创建二维侧向滚动条,而且还用于俯视图用于创建三维第一人称射击程序,这是真的吗?
JR :是的。 所有这些游戏都是在TEd 5.0中创建的。
JL :很好。 我对以下内容感兴趣:在某些时候,您和id Software的家伙决定从二维游戏转换为三维游戏。 您甚至讨论了创建新编辑器而不是TEd的想法吗?
JR :是的,我们很快解决了这个问题。 我们认为:“将使用2D矩阵表示级别。 太好了,我们只为此申请了TEd。” 是的,就是这样! (笑)这很简单。
JL :我想再问一个问题:Tom Hall在帮助文件中引用了Triad的崛起:“迟早,程序员设法写出他可以引以为豪的东西-机敏,优雅,闪电般的程序,这成为了标准。其他程序员的代码。 但是,这不适用于TEd填充过程。 这种缓慢而愚蠢的算法以一种极其缓慢的方式填充了一个数据平面。 冻结时,按ESC键。”
JR :[笑]
JL :(笑)那你为什么这样写? 此填充过程是否有历史记录?
JR :填充过程中有几个错误。 我并没有花很多时间来编写它,
或多或少都起作用了,但是有时它并没有完全填满,因此我不得不手动单击以填写所有区域。 易于使用。
[在讨论的时候,我启动了Flood Fill填充过程,TEd崩溃到DOSBox中,并出现“除以零”错误。
JR :[笑]
JL :(笑)当然! 这很有趣,因为在面试之前我和编辑玩了一会儿,然后想:“我不明白他为什么这么说,一切对我来说都很好!”
JR :(笑)好吧,他也从未给过我们除以零的错误……我认为问题是您没有选择图块。 当您尝试不使用图块填充时,该程序就会退出。
[我重新启动了TEd,它显示了图形设置对话框]
看到此图形设置窗口吗? TEd允许使用CGA,EGA和VGA编辑卡。 它将所有图形数据移动到XMS存储器中,以便在切换图形模式时可以从XMS检索它们。 也就是说,如果您的游戏支持所有三种图形模式,它将允许您加载这些图块。 您可以加载VGA磁贴,以便在切换到VGA模式时,它们全部加载并驻留在内存中。
JL :是的,我读到那时它足够具有革命性。
JR :是的。 我也意识到了这种可能性:如果光标位于关卡上的某个位置,则可以按Alt-L,然后将加载游戏,您将直接位于关卡的那个位置。 让我们检查一下是否可行。
[我将光标移到水平位置,然后按Alt-L。 出现错误信息]
JL :[笑]我也想和你谈谈这个……
JR :[笑]
DL :当我尝试使用TEd时,我拍了此错误的屏幕截图,因为我想问您有关此问题的信息。 您今天不会在Photoshop或Maya中看到此类消息... [笑]
JR :当然可以! 该工具仅为我和Tom [Hall]编写。
JL :当然! 我想问您一个问题:您是否专门为汤姆写了此错误消息?
JR :当然可以! 只是为了汤姆。 我永远不会犯这样的错误。 [笑]
JL :[笑]想象一下他的第一个反应。
JR :哦,是的,他突然大笑起来。
[然后约翰告诉我,您需要在TEd可执行文件之后添加游戏可执行文件的名称,以便编辑器知道按下Alt-L时要运行的内容]
JL :哇,行得通!
JR :是的,但是您移到了游戏的开头。 我认为您正在使用游戏的发行版,而忽略了此命令行参数。 商业版本不允许这样做,否则玩家会作弊!
JL :是的,这很合逻辑。 但是在我看来,作弊是吸引人们参与游戏开发的方面之一。 您知道,我希望能够更改级别以取笑朋友...
JR :是的,当然! [笑]
开发工具的未来
JL :我想在讨论结束时讨论游戏开发工具的未来。
在90年代初,当我刚开始使用您和其他开发人员编写的工具来创建游戏时,这并不总是那么容易:我必须阅读帮助文件(如果有的话)。 需要一定的技术知识,并且经常有必要研究最简单的脚本或编程。 但是,与此同时,可以绘制某种8位像素的图片,看起来几乎是值得的。 我们还可以根据需要灵活自定义关卡的外观。
如今,像SnapMap(新的毁灭级别的编辑器)这样的工具对每个人来说都更容易使用,但灵活性却大大降低了。 存在可视脚本,即用户不必学习脚本或编程。 同时,为大多数人创建外观精美的游戏资源是一项遥不可及的任务。
我对您的问题是:您是否认为其中一些现代工具无法为进入该行业的人们提供足够的灵活性,还是您认为这只是游戏开发的一种演变-与从汇编语言到编译器的过渡完全相同-这仅仅是我们行业的前进方向吗?
JR :这是自然发展。 SnapMap开发团队的职业生涯始于玩Doom和使用TEd。 内置于id Software的公司称为
Escalation Studios 。 她做了厄运复活。 我认识这些人已有二十多年了。 他们是非常顽固的玩家,过去曾是《毁灭战士》和《雷神之锤》。 自从我们完成《毁灭战士》以来,他们就一直在公司工作。 这些人多年来一直致力于创造关卡。
也就是说,SnapMap是人们需要的工具(而不是控制台)的自然演变。 显然,他们并没有注定要使用SnapMap,但是SnapMap是从未进行关卡设计的人们甚至了解他们是否喜欢此活动的好方法,如果这样,他们可以为自己找到更强大的工具。 也许不是在此版本的《毁灭战士》中,但例如在Source引擎或任何其他引擎中,例如,虚幻引擎,现在有很多。 因此,SnapMap将使他们了解它的含义。
JL :是的,这似乎合乎逻辑。 也就是说,这不是替代品,而是发展道路上的第一步。
JR :确实,因为最难的部分是创建SnapMap片段。 因此,如果人们可以在PC版的《毁灭战士》中做到这一点,那么他们将想象真正的关卡设计,至少对于这些模块化片段的示例而言。
约翰对工具程序员的建议
DL :在我的最后一个问题中,我想回到起点:经典游戏回顾。
有时在游戏中,有些技巧会随着时间的流逝而消失。 我认为,回顾经典GDC游戏最有趣的是,人们可以恢复丢失的知识。 像您一样从事该行业很长时间的人可以将这些信息传递给刚刚进入该行业的人们。
那么,您会给现代工具开发人员什么建议?
JR :首先,您需要为该工具的用户编写一个工具。 例如,如果关卡设计师将使用您的工具,那么由他设计工具。 使其尽可能简单,并为其添加尽可能多的功能。 花时间尝试自己使用该工具,并了解其中的烦恼也很重要。
JL :当然。
JR :此外,在很多情况下,当设计师要求添加一些功能时,工具程序员不会对它们采取任何措施,也不会问他们:“为什么需要这个机会? 您想用它实现什么?” 我们可以将功能包装在方便的包装器中,以便轻松使用。 有时,开发人员只是抛出组件...就是这样,再见,关卡设计师,请自己弄清楚!
JL :对! [笑]
JR :当工具程序员和用户都在同一个房间中并且在两个团队之间尽可能多地沟通来创建工具时,这也很棒。
JL :我同意。
JR :最后,您不需要在汇编器中编写任何内容。 [笑]我的意思是,要为十年前使用紧密结合平台的语言或功能编写的工具提供支持非常困难。 力求抽象功能,以便将来可以替换它。 我自己在TEd上遇到了这个问题,当时在2001年,我需要一个图块编辑器来创建新游戏的关卡。 我看了写于1991年的TEd 5.0代码,然后想:“好吧,我不会将此代码用于任何事情……” [笑]
JL :[笑]
JR :别忘了工具比游戏的寿命更长。
JL :这是很好的建议。 非常感谢您,我非常感谢您抽出宝贵时间与我交谈。
JR :谢谢!