毁灭战士引擎

毁灭战士引擎（Doom engine），也称为id Tech 1引擎，是一个由id Software开发的游戏引擎，用于毁灭战士I和毁灭战士II。它也同时被用来开发HeXen、Heretic等游戏。它的创造者是約翰·卡馬克，由麦克·亚伯拉什（Mike Abrash）、约翰·罗梅洛（John Romero）、戴夫·泰勒（Dave Taylor）和保罗·莱德克（Paul Radek）辅助创意。最初的版本是在NeXT电脑上完成的，支持DOS。后来的改写版本开始支持其他的操作系统。

Linux版本的源代码在1997年开放，但是只能用于非商业目的的使用。id公司在1999年在GPL准则下面重新发布了源代码。不同的毁灭战士版本随即出现，它们能运行于不同的平台上面，并且增加了很多特性。

毁灭战士引擎并不是一个“真三维”的引擎（因为在游戏中玩家不能向上或者向下的观看），但是这是第一个有活力的仿三维引擎。在那个时代，毁灭战士引擎在游戏界掀起了一场革命，并且用一己之力创造了一个支持材质贴图的三维环境。

毁灭战士关卡结构
简单的示意毁灭战士的地图的结构

</div>
从上向下看时候，所有的毁灭战士关卡都是平面的，由于引擎功能的限制，不能创造“房间之上的房间”。但是这个限制也带来一个好处：“地图模式”能轻松的显示出来，可以标绘出墙面和玩家的准确位置，就像右边的第一幅图那样。

基础物体
基础的单位是点（Vertex），使用二维的单个点表示。点的组合可以变成线，线的组合可以形成多重物体，叫做“区块”。区块是组成地图基本区域的单位。

区块
每个区块都有自己的属性：地板高度、天花板高度、亮度级别、地板和材质的贴图等。要为不同的区域设置不同的光照，就要创造多个区块。只有一个边的区块就会变成墙。

边界
边界用来存储用于墙面的贴图，分为地板和天花板的贴图。每个边界可以有3个材质，分别叫做中、高、低材质。在只有一个边的区块墙上面只有中材质起作用。高低材质分别用于填补不同高度的天花板和地板中间留下的缝隙。

物品
关卡中还有很多其他的物体，被称作“物品”。用来放置玩家、怪物、增强物体等。每个物品都有一个二维的示意图。根据它们的种类会被自动放置在天花板或者地面上。

这里对于毁灭战士关卡的介绍只是一个纵览，大多数的结构可以有不同的属性。

二元樹分隔(BSP)
毀滅戰士(DOOM)所使用的系統為二元樹分隔BSP.

參見

外部链接

游戏引擎
毀滅戰士系列