本文是《 Game Engine Black Book: Wolfenstein 3D》的一部分 , 该书 详细研究了历史,代码和开发,对第一人称射击游戏的纳粹分子毁灭对游戏业产生了巨大影响。本章揭示了游戏的起源,并讨论了如何在 Commander Keen
的成功和技术的基础上构建游戏,该游戏 本身是基于未成功出售 PC 版Nintendo Mario 3
端口的遗迹而建立的 。由作者和程序员Fabien Sanglar编写的完整书籍可以纸质或数字形式购买。1990年,来自Shreveport(路易斯安那州)的小型公司Softdisk在共享软件市场成功开展了业务。
通过提供基于订阅的视频游戏分发服务,Softdisk每月创建并通过邮件向其订阅者发送新游戏。 生意做得不错,但是公司的一些员工更有野心。
他们认为自己有足够的技能可以扩大规模,因此想证明这一点。 他们创造了一种对侧滚动进行编程的新方法,并将这种技术称为自适应磁贴刷新。 它使您可以在PC上执行硬件滚动(滚动屏幕),以便计算机可以与NES竞争。 在1990年代初期,他们在周末不停地工作,在PC上重新制作《
超级马里奥3》 ,以展示其任天堂的技能。
他们自称为Deep团队的Ideas能够克隆
Mario ,但不幸的是,她无法说服Nintendo与他们签约。 无论这家日本公司印象如何,它都希望
Mario系列仅保留在Nintendo游戏机上。
“我们将演示发送给了美国的任天堂,然后她又将其发送给了京都的总部。 高层管理人员观看了演示,并留下了深刻的印象。 但是,他们不希望自己的知识产权出现在设备以外的任何设备上,因此他们只是称赞我们,并说这是不可能的。” -John Romero,程序员
PC上的Mario。 IFD的首字母缩写代表“来自深处的想法”。事实证明,这一集足以使他们相信自己,他们不仅拥有与野心相称的才能,而且拥有一支具有良好职业道德的协调良好的团队,有可能为他们带来巨大的机会。 1991年2月,Softdisk的四名员工实现了信仰的飞跃,成立了自己的id Software公司。
id Software的创始人。(您可以在David Kushner的
《厄运大师》中了解更多有关此内容的信息。)
他们立即利用为PC版
Mario 3开发的技术,开始发行自己的游戏并建立知识产权。 在不浪费时间的情况下,该团队一年至少发布了三场比赛。
- 指挥官基恩 第1集,第2集和第3集:入侵Vorticons (1990年12月14日)
- 指挥官基恩 第4、5和6集:再见银河 (1991年12月15日)
- 独立游戏指挥官基恩 : 外星人吃了我的保姆 (1991年12月)
由FormGen发行的这些游戏立即获得了成功,并且销量很好。 团队还继续为Softdisk编写游戏,其中大多数使用自适应磁贴更新:
- 指挥官基恩(Keen Dreams) (1991)
- 鬼屋中的危险戴夫 (1991)
- 营救流浪者 (1991)
- 营救漫游者2 (1991)
- 暗影骑士 (1991)
- Hovertank 3D (1991年4月)。
- 地下墓穴3D:新维度 (1991年11月)
1991年春季,新一代的id软件技术开始出现。 在游戏《
Hovertank 3D》中,玩家在坦克里面。 到目前为止,它还没有纹理贴图,并且游戏进度仍然相当缓慢。
《地下墓穴3D》标志着游戏中纹理的出现和沉浸感的增强:玩家现在可以在第一人称视角中控制向导。
1991年11月,团队结束了对SoftDisk的所有义务。 她的下一款游戏将使用这些家伙创造的3D技术,并将以
Wolfenstein 3D的名称发行。 由于游戏的规模和雄心壮志,又有4个人加入了该团队,现在有8名员工。
“詹森(Jason Blochowiak)从一开始就是id的一部分,但是在发展Wulf的过程中,我们的道路有所不同。” -程序员约翰·卡马克(John Carmack)。
复活节彩蛋团队在命运之矛的照片。 下面的铭文:“我们没有裤子。”实际上,裤子仍在上面。组织机构
1991年9月,在汤姆(Tom)和杰森(Jason)的学校回忆的带领下,团队从什里夫波特(Shreveport)迁至麦迪逊(威斯康星州)。 伙计们将他们的办公室定居在2622年高岭径(High Ridge Trail)上的松树(Pines)住宅大楼的两层砖砌建筑中。除了卡马克(Carmack)不在乎,他都住在步行距离之内,他并不在意不便之处:他定居在办公室二楼。
Wolfenstein 3D的开发始于1992年1月。 温度下降,雪从天上掉下来,所以团队完全沉浸在工作中,很少离开办公室。 发展历时四个月。
Wolfenstein 3D于1992年5月发布。
在这四个月的过程中,团队工作的组织对于那个时代的游戏工作室来说是相当标准的:四个人坐在同一个房间里,支持快速的发展速度和强烈的友情感(由于约翰·罗梅罗和汤姆·霍尔的沟通风格而产生了很多噪音)。
下图显示了与SNES的夹角,其中在
F-Zero和《龙与地下城》区域中经常进行无数的游戏,而《龙与地下城》区域在《末日大师》中经常提到。 一个团队成员(约翰·卡马克)住在工作室上方的事实是很平常的事情。
“我们首先从软盘上传输数据开始,但是最后我们创建了基于同轴以太网*的Novell网络。 我们没有版本控制系统。 令人惊讶的是,直到Quake 3才有了它,在开发过程中,我们开始使用Visual Source Safe。” -程序员约翰·卡马克(John Carmack)。
*约翰·罗梅罗(John Romero)的评论:“ 1991年11月,住在麦迪逊市,我们花了7,000美元购买了Novell Netware 3.11系统。 它包括文件服务器,电缆和网卡。”
每个人都在最好的PC上工作,这些PC可以花钱购买:功能最强大的386-DX 33MHz,4MB RAM。
程式设计
该开发是在Borland C ++ 3.1(但使用C语言)环境中进行的,默认情况下以VGA模式3进行工作:文本屏幕尺寸为80 x 25个字符。
John Carmack处理了运行时代码。 John Romero对许多工具进行了编程(TED5地图编辑器,IGRAB资源打包器,MUSE音乐打包器)。 Jason Blohovyak编写了重要的游戏子系统(输入管理器,页面管理器,声音管理器,用户管理器)。
Borland解决方案是一个多合一的系统。 尽管存在一些不稳定因素,但名为BC.EXE的IDE提供了尴尬的多窗口代码编辑功能,并带有突出显示的语法。 编译器和链接器也是系统的一部分,并具有名称BCC.EXE和TLINK.EXE。
但是,不需要切换到命令行模式。 IDE允许您创建,组装,执行和调试项目。
为了补偿CRT屏幕的小尺寸,一些开发人员使用了两个监视器。 (John Romero注意:“我和John Carmack都与Turbo Debugger一起在小型12英寸琥珀色单色单色显示器上工作。”)
游戏图形资源
所有图形资源均由Adrian Carmack创建(Kevin Cloud创建了多个纹理,并且还参与了
Wolfenstein 3D手册的设计和结构)。 所有工作都在Deluxe Paint(由Electronic Arts的Brent Iverson编写)中完成,并保存在ILBM(InterLeaved BitMap)文件中(专有Deluxe Paint格式)。
由于VGA模式基于调色板的使用(颜色不是由24位RGB值设置的,而是由指向256色表的索引设置的),因此创建过程很复杂。 首先,Adrian必须做出一个关键决定-哪种颜色会落入调色板(例如,在某些游戏中,
Monkey Island使用了根据游戏部分而有所不同的多个调色板。IdSoftware选择了一个更简单的解决方案,并在整个游戏中使用了一个调色板),然后用这些颜色绘制所有内容。
德军总部3D调色板。 游戏中的所有内容都是使用这256种颜色绘制的。调色板的坐标水平从0x00到0x0F,垂直从0x00到0xF0。 下面的水平蓝色渐变始于0xF0,终止于0xFE。 0xFF(用粉红色标记)是一种特殊的颜色,引擎认为它是透明的,并且在渲染时总是被跳过。
用鼠标手动绘制所有资源。 由于在屏幕上显示帧缓冲区时,VGA模式会对其进行拉伸,因此Adrian必须小心并以游戏应能工作的分辨率(320x200)绘制所有内容。
“阿德里安和凯文直接在Deluxe Paint工作,当时我们没有扫描工具。” -程序员约翰·卡马克(John Carmack)。
图形资源分为两类:
- VGAGRAPH,VGAHEAD和VGADICT文件中随游戏提供的2D菜单项
- VSWAP档案中提供的3D模式元素(墙和子画面)
资源生产过程
生成图形资源后,IGRAB工具将所有ILBM打包到一个档案中,并生成带有资源标识符的C头文件。 引擎直接使用这些ID引用资源。
2D菜单的资源创建管道。在引擎代码中,枚举中严格规定了资源的使用。 该枚举是HEAD表中的偏移量,从中获取DATA存档中的偏移量。 由于这一层的间接链接,可以在不修改源代码的情况下重新生成和重新排序资源。有趣的事实:这样的系统在发布源代码后导致了问题。 捆绑包中的.h标头与来自
Wolfenstein 3D的共享软件版本或更早版本的资源文件不匹配。 公布的头条新闻摘自《命运之矛》。 您可以在fabiensanglard.net网站上的文章“我们像在院子里一样进行编译,1992年进行编译”中观察到这导致了什么图形混乱
(该文章在Habré上的
翻译 )。
Wolfenstein于1992年发布的
官方3D指南介绍了创作过程。 它包含汤姆·霍尔(Tom Hall)的许多图纸,并显示了一堆汤姆(Tom)绘制的草图,并由一组艺术家翻译为像素。
“当Id创意总监汤姆·霍尔(Tom Hall)提出银幕的构想时,他给阿德里安·卡马克(Adrian Carmack)画了草图。 以下是Tom设计的初始屏幕设计的一些示例。 我为游戏选择了第三稿。” -《德军总部3D指南》
该手册还包含当时团队的几张照片; 我建议您阅读它以了解上下文。
[在NeXT ColorStation上创建的指导设计。 这是唯一使用史蒂夫·乔布斯(Steve Jobs)的机器创建
Wolfenstein 3D的情况 ,尽管id在1991年12月购买了它。 后来,在1993年,NeXT系列工作站成为了
Doom生产输送机中的关键要素。