S.T.A.L.K.E.R. merita di essere giocato semplicemente perchè tutti, almeno una volta nella vita, ci siamo sentiti come uno stalker in mezzo alla Zona...
Ciononostante, intervenendo opportunamente sulle opzioni di settaggio, è abbastanza facile, nella maggior parte dei casi, arrivare a compromessi dignitosi e soddisfacenti. Shadow of Chernobyl offre tre principali settaggi dell'illuminazione: statica (sfrutta le DX 8), dinamica sugli oggetti(sfrutta le DX 9) e dinamica completa (sfrutta le DX 9).
A parità di fattori, gli altri settaggi - distanza della visione, dettaglio degli oggetti, densità dell'erba, eccetera - influiscono poco sulla pesantezza del motore grafico, soprattutto se variati singolarmente. Quello che fa la differenza in termini di risorse grafiche richieste è l'illuminazione dinamica. Purtroppo, come ho accennato inizialmente, il supporto delle DX 9 è stato infatti implementato in modo discutibile e "aggiunto" quando il gioco era già in pieno sviluppo. Se ci si rassegna a questo errore fin da subito, le caratteristiche del motore grafico X-Ray rimangono di tutto rispetto: gestisce molto bene la ricostruzione di modelli complessi, può fare un massiccio impiego di shader e, come ampiamente illustrato, gli effetti dinamici di luce e ombra non mancano a patto di disporre dell'hardware necessario; sfrutta la tecnologia HDR (High Dynamic Range) e simula una moltitudine di effetti climatici come la pioggia, il vento, la nebbia e l'alternarsi del giorno e della notte. Il ciclo giorno/notte, in particolare, è stato oggetto di molte cure da parte dei modders, con risultati davvero sorprendenti, a conferma di come l'X-Ray abbia tante potenzialità, alcune non sfruttate e altre sfruttate male.
Non esiste, invece, un vero e proprio simulatore della fisica, eccezion fatta per la balistica delle armi e per alcuni script che gestiscono il movimento di alcuni corpi in seguito a esplosioni o impatti di proiettili. Di nuovo, pur senza far gridare al miracolo, la resa finale è abbastanza convincente e soddisfa: deve essere chiaro, però, che l'interazione con gli oggetti circostanti è ridotta all'osso.
L'X-Ray è stato aggiornato alla versione 1.5 in occasione del rilascio di Clear Sky. Le migliorie esistono e si notano parecchio grazie anche al supporto per le librerie DX 10 che, nel giro di qualche patch, sono arrivate addirittura alle 10.1. Effetti quali le superfici bagnate e il fumo volumetrico hanno imposto un nuovo standard qualitativo che, sebbene non in modo eclatante, può regalare ancora maggiori soddisfazioni rispetto alle DX 9 al prezzo, tuttavia, di parecchi fps in meno.
Rimanendo in ambiente DX 9, invece, il "nuovo" X-Ray non si presenta significativamente più pesante della versione 1.0 impiegata in SoC. CoP è arrivato, invece, con la versione 1.6 e il supporto alle DX 11 per soluzioni quali il tassellation, che permette di migliorare la qualità e la fedeltà di un oggetto 3D grazie ad un progressivo aumento del numero di triangoli utilizzato per la sua riproduzione, con un livello di dettaglio variabile a seconda del punto di osservazione, e il compute shader, con cui la GPU viene utilizzata dalle librerie grafiche anche per calcoli generici e quindi per l'elaborazione di codice non legato alla generazione di scene 3D.
In definitiva l'X-Ray si è dimostrato un motore pesante e poco ottimizzato ma abbastanza maneggevole da reggere ancora dignitosamente la propria età. Le prime notizie del motore X-Ray risalgono ormai al lontano 2001. A quell'epoca esso supportava solo le librerie DirextX 8 ma, quando fu annunciato pubblicamente il videogioco S.T.A.L.K.E.R. per la prima volta, nell'X-Ray era già stato introdotto il supporto alle DX 9 (le DX 9.0 comparvero nel 2002 su sistemi operativi Windows Server 2003) e lo standard si è mantenuto fino al 2007, quando fu rilasciata la versione 1.0 del gioco, peraltro buggatissima. Il motore è stato poi aggiornato, in occasione del rilascio di Clear Sky nel 2008, alla versione 1.5, con supporto alle DX 10 e, in seguito al rilascio della patch 1.5.07, alle DX 10.1. Infine, con l'arrivo di Call of Pripyat il motore è arrivato alla versione 1.6 e supporto alle DX 11. L'ultima versione dell'X-Ray supporta dunque le seguenti versioni di Direct3D:
-
Direct3D 8 (Shader Model 1.1)
-
Direct3D 9 (Shader Model 2.0)
-
Direct3D 9.0 (Shader Model 3.0)
-
Direct3D 10 (Shader Model 4.0)
-
Direct3D 10.1 (Shader Model 4.1)
-
Direct3D 11 (Shader Model 5.0)
La caratteristica forse più peculiare integrata nell'X-Ray è il sistema "A-Life" che regola le attività dell'Intelligenza Artificiale. L'essenza dell'A-Life risiede nel far vivere costantemente ai Personaggi non Giocanti la propria vita, indipendentemente dalla "vicinanza" del personaggio controllato dal giocatore. Questa gestione dell'IA è in controtendenza rispetto alla ricerca spasmodica di ottimizzazioni che rendano i videogiochi il più "leggeri" possibile ma ha l'innegabile pregio di dare concretezza e realismo all'intero mondo rappresentato dalla Zona. Esistono due modelli di carattere comportamentale, denominati "online" e "offline", che si attivano/disattivano in relazione alla distanza del personaggio controllato dal giocatore: la prima conferisce al png la piena gestione autonoma della situazione, comprese le interazioni con altri png e le reazioni al modo in cui il personaggio giocante si comporta.
motore grafico
"Luci e ombre" del motore X-Ray, se mi passate il gioco di parole: sicuramente S.T.A.L.K.E.R. non è, e non è stato, il "top" in quanto a sistema grafico ma a parer mio gode di un'ottima scalabilità, cosa che gli consente di essere giocato anche con un hardware non particolarmente performante, e di un complesso di features più che soddisfacente che, al massimo delle impostazioni, regala emozioni visive non trascurabili.
Certo, non bisogna nascondersi dietro un dito: la programmazione e l'ottimizzazione dell'illuminazione dinamica hanno sempre lasciato parecchio a desiderare, inutile girarci intorno.