毀滅戰士引擎

毀滅戰士引擎Doom engine),也稱為id Tech 1引擎,是一個由id Software開發的遊戲引擎,用於毀滅戰士I毀滅戰士II。它也同時被用來開發HeXenHeretic等遊戲。它的創造者是約翰·卡馬克,由麥克·亞伯拉什(Mike Abrash)、約翰·羅梅洛(John Romero)、戴夫·泰勒(Dave Taylor)和保羅·萊德克(Paul Radek)輔助創意。最初的版本是在NeXT電腦上完成的,支援DOS。後來的改寫版本開始支援其他的作業系統

Doom engine
開發者id Software (John Carmack, John Romero, Dave Taylor)
首次發佈1993年12月10日,​30年前​(1993-12-10
原始碼庫 編輯維基數據鏈接
程式語言C匯編語言
類型遊戲引擎
許可協議 編輯維基數據鏈接

Linux版本的原始碼在1997年開放,但是只能用於非商業目的的使用。id公司在1999年在GPL準則下面重新發佈了原始碼。不同的毀滅戰士版本隨即出現,它們能執行於不同的平台上面,並且增加了很多特性。

毀滅戰士引擎並不是一個「真三維」的引擎(因為在遊戲中玩家不能向上或者向下的觀看),但是這是第一個有活力的仿三維引擎。在那個時代,毀滅戰士引擎在遊戲界掀起了一場革命,並且用一己之力創造了一個支援材質貼圖的三維環境。

毀滅戰士關卡結構

簡單的示意毀滅戰士的地圖的結構

 
地圖編輯器中的地圖

從上向下看時候,所有的毀滅戰士關卡都是平面的,由於引擎功能的限制,不能創造「房間之上的房間」。但是這個限制也帶來一個好處:「地圖模式」能輕鬆的顯示出來,可以標繪出牆面和玩家的準確位置,就像右邊的第一幅圖那樣。

基礎物體

基礎的單位是點(Vertex),使用二維的單個點表示。點的組合可以變成線,線的組合可以形成多重物體,叫做「區塊」。區塊是組成地圖基本區域的單位。

區塊

每個區塊都有自己的屬性:地板高度、天花板高度、亮度級別、地板和材質的貼圖等。要為不同的區域設置不同的光照,就要創造多個區塊。只有一個邊的區塊就會變成牆。

邊界

邊界用來存儲用於牆面的貼圖,分為地板和天花板的貼圖。每個邊界可以有3個材質,分別叫做中、高、低材質。在只有一個邊的區塊牆上面只有中材質起作用。高低材質分別用於填補不同高度的天花板和地板中間留下的縫隙。

物品

關卡中還有很多其他的物體,被稱作「物品」。用來放置玩家、怪物、增強物體等。每個物品都有一個二維的示意圖。根據它們的種類會被自動放置在天花板或者地面上。

這裏對於毀滅戰士關卡的介紹只是一個縱覽,大多數的結構可以有不同的屬性。

二元樹分隔(BSP)

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

參見

外部連結