Doom Engine

Da Wikipedia, l'enciclopedia libera.
Doom Engine
Sviluppatore id Software
Sistema operativo Multipiattaforma
Linguaggio
Genere Motore grafico
Licenza GPL
(Licenza libera)
Sito web ftp://ftp.idsoftware.com/idstuff/source/

Doom Engine (chiamato anche id Tech 1[1]) è il motore grafico alla base dello sparatutto in prima persona Doom, della id software. È stato scritto principalmente da John Carmack, con parti di codice ausiliarie scritte da Mike Abrash, John Romero, Dave Taylor e Paul Radek su computer NeXT; in seguito è stato convertito sulla maggior parte delle console di gioco e sistemi operativi esistenti.

Il motore, pur essendo "pseudo 3D" (non è possibile alzare o abbassare lo sguardo o creare settori sovrapposti), ha avuto un enorme successo soprattutto per la sua abilità di generare ambienti relativamente realistici e dotati di texture sui più diffusi sistemi dell'epoca (computer generalmente dotati di processori 80386) pur mantenendo una adeguata velocità di esecuzione.

Il codice sorgente è stato rilasciato al pubblico nel 1997 sotto una licenza che non ne permetteva l'utilizzo in produzioni commerciali; nel 1999 è stato di nuovo rilasciato sotto licenza GNU General Public License.[2][3]

Struttura dei livelli[modifica | modifica wikitesto]

Esempio della rappresentazione dei livelli di Doom

Visti dall'alto, tutti i livelli di Doom sono in realtà bidimensionali: ciò dimostra la limitazione chiave del motore grafico, cioè l'impossibilità di avere stanze sovrapposte.

Elementi di base[modifica | modifica wikitesto]

L'unità di base è il vertice, che rappresenta un singolo punto. I vertici se uniti formano una linea (chiamata "linedefs"); ogni linea può avere due "facce" chiamate "sidedefs"; se ne possiede una sola formerà un muro solido, mentre se le possiede entrambe la linea sarà invisibile e valicabile (a meno che non sia dotata di texture o di proprietà bloccanti). Un poligono costituito da almeno tre sidedefs è detto "settore", cioè le parti che compongono i livelli di gioco.

Settori[modifica | modifica wikitesto]

Ogni settore possiede alcune proprietà: le principali e obbligatorie sono l'altezza, il tipo di texture del pavimento e del soffitto, e l'intensità della luce (da 0 a 255). Esistono anche proprietà opzionali: ad esempio, è possibile impostare una luce intermittente oppure fare in modo che il giocatore, percorrendo un determinato settore, subisca danni (utile per simulare pozze di lava o acido). Infine è possibile rendere i settori mobili, per creare ascensori, porte (che si aprono dal basso verso l'alto) e presse.

Sidedefs[modifica | modifica wikitesto]

Le sidedefs possono essere utilizzate per mostrare le texture dei muri o, nel caso di texture dotate di trasparenza, grate e simili. È possibile utilizzarle per attivare degli eventi (come aprire delle porte se vengono varcate dal giocatore).

Oggetti[modifica | modifica wikitesto]

Tutti gli oggetti (mostri, armi, decorazioni ecc, noti come "things") sono posizionati in un livello con una coordinata bidimensionale (come ad un vertice); è inoltre possibile indicare caratteristiche aggiuntive (ad esempio la presenza di un oggetto solo in caso di modalità deathmatch).

Note[modifica | modifica wikitesto]

  1. ^ id Tech 5 First Look
  2. ^ The Doom source code - released in 1997, now under the GNU General Public License from Id Software's FTP Site
  3. ^ The Doom source code from 3ddownloads.com - released in 1997, now under the GNU General Public License

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]