毁灭战士引擎
毁灭战士引擎,有时也被称为ID Tech 1,是视频游戏《毁灭战士》背后的计算机代码。它也被其他几款游戏使用,包括《毁灭战士2》(但不是《毁灭战士3》,它有自己的引擎)。在《Heretic》、《Hexen》和《Strife》中使用了大量修改过的Doom引擎版本。
Doom引擎使用了一种叫做二进制空间分割的技术,以计算机能够快速处理的方式来表示3D关卡。它主要是用C语言编写的,源代码已经在GNU通用公共许可证下免费发布。许多 Doom 粉丝都制作了自己的修改版本,称为源码移植。源码移植通常会添加新的功能,并修复原引擎中的问题。流行的源码移植包括Boom、PrBoom、PrBoom+、Zdoom和Chocolate Doom。
Doom引擎在内部使用称为linedefs、sidedefs、sector、verticies和thing(指怪物、物品、装饰品等)的结构来表示关卡。Doom引擎从一个叫做WAD的文件中读取关卡和其他数据。
Doom引擎完全是在CPU上渲染关卡,而不是在显卡上渲染,因为当时(1993年)大多数显卡都没有3D加速功能。这就需要非常高效的算法来使游戏在当时的慢速电脑上运行。
毁灭战士引擎比其他任何第一人称射击游戏引擎都能在更多类型的电脑上使用。对程序员来说,使其在新型计算机上工作是很容易的,因为它是用C语言编写的,而且它使用的系统资源很少,使它可以在手持计算机和没有3D加速器的计算机上运行。
问题和答案
问:什么是Doom引擎?答:厄运引擎是视频游戏《厄运》背后的计算机代码。它还被其他几个游戏使用,包括《毁灭战士2》(但不包括《毁灭战士3》,它有自己的引擎)。在Heretic、Hexen和Strife中都使用了Doom引擎的大量修改版本。
问:《毁灭战士》引擎是如何表现3D关卡的?
答:Doom引擎使用一种叫做二进制空间分割的技术,以计算机可以快速处理的方式来表示3D关卡。
问:Doom引擎是用什么语言编写的?
答:Doom引擎主要是用C语言编写的。
问:是否有开放源代码的Doom引擎?
答:有,厄运引擎的源代码已经在GNU通用公共许可证下免费发布。许多爱好者也制作了他们自己的修改版本,称为源码端口。
问:有哪些流行的原始毁灭引擎的源码移植?
答:流行的源码端口包括Boom、PrBoom、PrBoom+、Zdoom和Chocolate Doom。
问:厄运引擎在内部使用什么结构来表示关卡?
答:Doom引擎在内部使用称为linedefs、sidedefs、扇形、verticies和thing(指怪物、物品装饰等)的结构来表示关卡。
问:它是如何从文件中读取数据的?
答:厄运引擎从一个叫做WAD的文件中读取关卡和其他数据。