Aggiunta di una nuova dimensione al gioco, nel rispetto dell’arte originale.
Dopo 28 anni, il classico Doom di id Software è stato finalmente voxelizzato, la sua grafica in sprite 2D ha ricevuto una dimensione extra nello spazio grazie al modder Daniel Peterson – alias Cheelio – fornendoci un’altra eccellente scusa per rivisitare uno dei più grandi titoli della storia del gioco.
In tempi recenti, i vari port di origine sono diventati il metodo di scelta per giocare su hardware moderno e una delle caratteristiche principali, oltre alla revisione visiva, è l’inclusione del mouse look. Il Doom originale era un gioco 3D che si svolgeva effettivamente su un piano 2D senza la possibilità di guardare in alto o in basso. Se si spara ai nemici che si trovano in alto, è difficile vederli e il gioco sceglie di mirare automaticamente in verticale. Questo può essere un po’ frustrante per chi ha una sensibilità moderna per i giochi in prima persona, ma può anche essere fastidioso, dato che l’auto-aim di Doom spesso aveva strane idee su cosa si stesse effettivamente cercando di sparare.
Quindi questa nuova mod voxelizzata non solo sembra aggiungere un gradito aspetto 3D agli sprite 2D, ma contribuisce anche a rendere la più moderna versione del gioco abilitata al “mouse look” ancora migliore. Se si guarda in alto verso un nemico a cui si sta per sparare, si ottiene una rappresentazione corretta della prospettiva del nemico di fronte a noi. Inoltre, il senso generale di “credibilità” è migliorato, poiché girando intorno ai nemici o agli oggetti non si ottiene più la stessa visione piatta, in quanto gli sprite hanno dimensioni 3D. Questo si applica a tutti gli sprite rivolti verso la telecamera del gioco originale, quindi i pacchetti di salute non ruotano più solo per essere rivolti verso la telecamera, ma hanno anche il lato superiore, il lato inferiore, il lato laterale e molto altro ancora, come dovrebbe avere una scatola nello spazio 3D. Gli sprite dei nemici? Hanno richiesto un po’ più di lavoro.
Come potete immaginare, rendere possibile tutto questo ha richiesto un po’ di creatività. La grafica originale di Doom non mostrava mai i lati, la parte superiore o quella posteriore di molti oggetti, quindi Daniel Peterson ha dovuto essere creativo, immaginando come questi oggetti sarebbero apparsi in 3D e “scolpendo” di conseguenza, pur rimanendo fedele alla visione della grafica originale. Il risultato finale è che gli oggetti sembrano davvero appartenere al mondo pixelato, con la possibilità di essere migliorati: molti oggetti, comprese le armi, ruotano come in uno sparatutto arena di una volta, cosa che non avrebbe mai funzionato con gli sprite 2D piatti.
La situazione è però diversa per i nemici: il Doom originale utilizzava vari sprite per visualizzare gli avversari da diverse angolazioni – quando si ruota intorno a loro, si può vedere che cambiano prospettiva, ma ogni 45 gradi o giù di lì si può vedere il passaggio davvero brusco a un nuovo sprite. Peterson ha fatto qualcosa di molto interessante: i modelli voxel sono modellati sulla base di questi vecchi sprite, quindi quando ci si trova in quei punti chiave di rotazione angolare, il modello voxel ha un aspetto quasi identico a quello della vecchia grafica, ma quando si ruota intorno a un nemico, non si hanno più quelle transizioni brusche. Ovviamente, il nemico appare diverso ad angoli non divisibili per 45 gradi, ma questo è lo scopo dei voxel in primo luogo.
Il fatto che tutto questo funzioni così bene non è un fatto insignificante. Nash Muhandes, che ha aiutato Daniel Peterson a rendere le sue modalità voxel in GZDoom, mi ha fornito alcuni dettagli su come funziona. Voxel Doom richiede la porta sorgente di GZDoom, che utilizza un voxel loader, preso in prestito da Build Engine e concesso in licenza dallo stesso creatore Ken Silverman. Per questo motivo, i voxel assomigliano molto a quelli che si possono vedere in giochi Build Engine come Blood – in altre parole, sono eccellenti.
Da qui, i voxel vengono renderizzati in due modi, a seconda del renderer scelto. Il renderizzatore hardware utilizza la GPU e OpenGL con la geometria dei voxel che viene convertita in una mesh di triangoli rasterizzati sulla GPU e disegnati in modo nativo come geometria 3D con una rimozione di base delle superfici nascoste. Il secondo metodo di rendering è il percorso software, che costruisce i modelli voxel in tempo reale proprio come GZDoom costruirebbe gli sprite, usando il rendering basato sull’intervallo. In questo caso, ogni piccola unità di voxel viene renderizzata come se fosse una sprite in formato billboard.
Le differenze sono intriganti: se si vuole che il gioco abbia un aspetto più grosso e simile a OG Doom, si deve usare il rendering software. Tuttavia, se si vuole che il gioco venga eseguito il più velocemente possibile ad alte risoluzioni con MSAA opzionale e senza distorsioni con l’aspetto del mouse, di solito si dovrebbe scegliere il rendering hardware. In generale, qualsiasi GPU e CPU moderna dovrebbe far girare molto bene questo mod, ma bisogna prestare attenzione all’opzione MSAA in GZDoom. Rende sicuramente il gioco più fluido, ma quando viene portata a 32x può causare problemi di frame-rate anche su una RTX 3090, quindi siate ragionevoli.
In definitiva, questa mod si basa su un’idea semplice in termini di funzioni, ma i risultati sono incredibili nel gioco – e anche se sembra semplice all’esterno, è ovvio, parlando con Daniel Peterson e Nash Muhandes, che il processo di creazione e di collegamento con GZDoom non è stato un lavoro semplice. Ma sono grato per il duro lavoro e sospetto che lo sarete anche voi se siete interessati all’evoluzione di questo titano dei giochi. Trovate la mod qui e provatela!