Metro Last Light: i dettagli tecnici del motore grafico
In sede di recensione non abbiamo avuto modo di esaminare con calma i dettagli tecnici del motore grafico di Metro Last Light, che però presenta diversi spunti di interesse, collocandosi come una delle migliori soluzioni nel panorama attuale. Vediamo le caratteristiche del 4A Engine in termini di PhysX, tassellatura, anti-aliasing, post-processing e molto altro.
di Rosario Grasso pubblicato il 24 Maggio 2013 nel canale Videogames4A Engine
Come abbiamo visto nella recensione, Metro Last Light è un seguito diretto di Metro 2033, che porta a un nuovo livello diversi elementi che stanno alla base del motore grafico 4A Engine, sviluppato internamente dalla software house responsabile della serie, l'ucraina 4A Games. Abbiamo già parlato di gameplay, dunque, in sede di recensione, mentre in questo secondo pezzo ci focalizzeremo proprio sul motore grafico, evidenziando le caratteristiche peculiari della versione PC.
Last Light completa la storia del Ranger di Sparta Artyom, che è adesso chiamato a esplorare alcune zone dimenticate di Mosca, colpita dal disastro nuclerare che ha reso irrespirabile l'aria in superficie. Artyom dovrà affrontare le sue paure e salvare ciò che resta del mondo post-apocalittico che sta alla base dello scenario di Metro, mutuato dalla serie di romanzi di Dmitry Glukhovsky.
4A Engine è chiamato a gestire contemporaneamente gli spazi chiusi dell'opprimente metropolitana di Mosca e gli spazi aperti che circodano le location più iconiche della capitale russa. Per alcuni di questi paesaggi, 4A Games, che è formata da ex-dipendenti di GSC GameWorld, la software house di S.T.A.L.K.E.R, gli sviluppatori hanno osservato delle foto della cittadina di Pripyat, che è stata coinvolta nel disastro nucleare di Chernobyl, nella fattispecie fabbriche e scuole.
Normalmente, un tale livello di dettaglio richiederebbe diversi gigabyte tra memoria di sistema e memoria video. Per questo 4A Games ha allestito un sistema di streaming proprietario ad alta efficienza che fa in modo che Last Light utilizzi solamente 4 GB di memoria e meno di 2 GB di VRAM. E questo vale anche nel caso l'utente abiliti il massimo dettaglio visivo, mischiando così i vari effetti che la tecnologia è in grado di gestire contemporaneamente, e abilitando la risoluzione di 2560x1440. La tecnologia è poi ottimizzata in modo da evitare che ci siano errori nella visualizzazione delle texture o di gestione dello streaming del mondo di gioco mentre il personaggio virtuale si muove all'interno di esso.
Non tutti gli elementi vengono gestiti dalla GPU: infatti, è demandato alla CPU il compito di renderizzare gli effetti fisici e di gestire la riproduzione del suono. Per espletare questa mole di calcoli serve un certo tipo di ottimizzazione che distribuisca il lavoro fra i vari thread del processore, in modo che sia assicurato che ogni attività venga completata il più rapidamente ed efficacemente possibile.
D'altro canto non si può dire che ci sia un'evoluzione netta rispetto a Metro 2033 che, come vedremo nel corso dell'articolo, contemplava già diverse tecniche di rendering che ritroviamo in Last Light. Per il suo ultimo shooter, 4A Games in molti casi si è limitata a ottimizzare il tutto, riscrivendo il codice solo per circoscritte porzioni del motore.
4A Games ha poi rimosso le voci DirectX 9 e 10 dal menu in-game, il che porta il gioco a gestire automaticamente il rendering tramite le librerie DirectX 11. Nel caso il software riveli una scheda video non compatibile con le DirectX 11, abiliterà automaticamente i pattern più vecchi. Se si desidera passare manualmente da DX 11 a 10 o 9 basta modificare l'opzione r_api che si trova all'interno del file user.cfg. Le prestazioni in DX 10 o 9 di Metro Last Light sono inferiori di circa il 15% rispetto alla versione DX 11, anche se questa abilita automaticamente effetti visivi aggiuntivi.