Quake engine
# Quake engine

Il Quake engine (a volte chiamato idTech 1.5) è un motore grafico sviluppato nel 1996, da id Software, per lo sparatutto in prima persona Quake. Dal 21 dicembre 1999, il codice sorgente è disponibile sotto licenza GNU General Public License.

## Storia

### Creazione

Le origini dello sviluppo del motore grafico di Quake, poggiano le loro basi ancora prima che Doom e il Doom Engine fossero completati; John Carmack infatti era già all'epoca frustrato dalle limitazioni tecniche tipiche dei motori grafici basati su mappe bidimensionali e 2.5D, e per questo ancor prima di completare l'engine precedente, iniziò a maturare le idee per la realizzazione di quello successivo. Il prossimo passo sarebbe stato dunque scrivere un motore grafico che poggiasse le proprie basi sulla solidità della vera computer grafica 3D, senza dover ricorrere ad illusioni ottiche o trucchi di programmazione per farlo sembrare tale; lo scopo, per come la vedeva Carmack, era di render il motore di Quake, un nuovo standard. Il Quake engine è stato scritto, oltre che in assembly, con una versione leggermente alterata del linguaggio C, chiamato QuakeC; questa variante appositamente creata da Carmack è stata pensata per rendere più facile il lavoro di programmazione alle vivaci comunità di modding che si erano consolidate con Doom.

Per scrivere il codice del Quake engine, Carmack lavorò ad una sua personale postazione privata con un personal computer di ultima generazione e l'ausilio di un raro tubo a raggi catodici, Intergraph 28hd96, a 16:9 con output a 1080p. Il motore grafico era praticamente finito in agosto 1995, quasi un anno prima dell'uscita di Quake.

### Eredità

Il Quake engine, è noto oggi, per aver reso la computer grafica 3D effettivamente uno standard che tutti gli altri sparatutto in prima persona avrebbero dovuto rispettare negli anni a venire. Anche i motori grafici più avanzati, come il Build Engine di Duke Nukem 3D (uscito appena 5 mesi prima di Quake), dovettero arrendersi all'evidenzia di risultare già antiquati rispetto al nuovo gioiello tecnologico creato da John Carmack; altri motori invece furono direttamente figli suoi, come il GoldSrc di Half-Life, uscito nel 1998. Inoltre il Quake engine fu anche il principale fattore che spinse le vendite delle schede video 3dfx Voodoo 1, grazie al supporto per l'accelerazione hardware.

Il Quake engine ha lasciato dietro di sé ben 3 varianti alternative: GLQuake ideata per supportare le API OpenGL, Quakespasm per il supporto a Linux e Mac OS e DirectQ per il supporto a Microsoft Windows e DirectX.

## Tecnologia

A differenza di quello che può essere definito il suo predecessore, cioè il Doom Engine, il Quake engine ha ovviamente un sistema di rendering in reale computer grafica 3D. Questo enorme salto in avanti fa in modo che Quake non venga reindirizzato da nessuna mappa bidimensionale; al contrario il mondo di gioco è costruito interamente con mesh poligonale, anche gli oggetti e i nemici di gioco (che in passato erano basati su sprite) ora possiedono una reale solidità.

Oltre al 3D, il Quake engine fa uso anche di tecnologie di rifinitura avanzate come gouraud shading e illuminazione dinamica. L'unica cosa che condivide con il Doom Engine, è la modalità di creazione del mondo di gioco, basata sulla partizione binaria dello spazio: come in Doom, infatti, questa tecnica suddivide i livelli di Quake in substrati più piccoli (già pre-elaborati) ramificati con una struttura dati ad albero; dunque, in base allo spostamento del giocatore, il livello andrà via via sviluppandosi nello spazio in cui quest'ultimo si muove.

## Titoli che usano il motore

* Quake (1996)
   * Quake Mission Pack No. 1: Scourge of Armagon (Hipnotic Interactive, 1997)
   * Quake Mission Pack No. 2: Dissolution of Eternity (Rogue Entertainment, 1997)
* Hexen II (1997, Raven Software)
   * Hexen II Mission Pack: Portal of Praevus (1998, Raven Software)
* Malice (1997, Ratloop)
* X-Men: The Ravages of Apocalypse (1997, Zero Gravity Entertainment)
* Half-Life - versione modificata, GoldSrc (1998)
* Laser Arena (2000, Trainwreck Studios)
* CIA Operative: Solo Missions (2001, 2015 Games, LLC./Trainwreck Studios)
* Urban Mercenary (2001, Moshpit Entertainment)
* Eternal War: Shadows of Light (2002, Two Guys Software)
* Nexuiz (2005, Alientrap)
* Xonotic (2011, Team Xonotic)
* Wrath: Aeon of Ruin (2020, 3D Realms)
