Ieri è stata la giornata degli annunci per due giochi molto attesi, Red Dead Redemption 2 e Call of Duty: Modern Warfare. Entrambi i titoli hanno infatti rilasciato i requisiti minimi per PC, tra cui spicca lo spazio richiesto su disco, rispettivamente di 150 e 175GB. Tralasciando le considerazioni sulla fatica che molte connessioni in Italia faranno a scaricarli – nonostante la dimensione di download sarà ridotta, in quanto compressa – abbiamo pensato che fosse il caso di capire perché, negli utlimi anni, i videogiochi hanno visto lo spazio richiesto sul disco crescere così verticosamente. Nonostante la risposta possa sembrare intuitiva, sarebbe riduttivo dare la colpa agli “asset” in maniera generica, e si, nonostante siano loro i responsabili principali, le colpe potrebbero non essere suddivise come credereste. Vediamo insieme perché.
C’era una volta… il supporto fisico
La dimensione dei giochi è stata, fino all’avvento di Steam e del digital delivery, legata al supporto di distribuzione. All’origine di tutto troviamo i cari vecchi floppy disk, capaci di contenere la bellezza di 1.44MB, meno di una foto fatta con lo smartphone. Per poter giocare era necessario inserire a turno i vari floppy, caricare vari dati in memoria, e continuamente sostituire i floppy l’uno con l’altro per andare avanti e caricare nuovi livelli. Per dare una idea, un gioco come The Secret of Monkey Island nel 1994 richiedeva fino a 4 floppy. Poi un bel giorno arrivò il CD-Rom, come testimoniato dalla storica foto di Bill Gates seduto su pile e pile di carta, e dal giorno alla notte si potevano distribuire giochi fino a 700mb! Da qui il resto è storia, con il passaggio ai DVD e poi al digital delivery. Banalizzando un poco, fino a qualche anno fa era fondamentale che il gioco rientrasse in certe dimensioni, una necessità che oggi non sussiste più.
Col passare del tempo, la dimensione è diventata quasi un vanto. Da GTA a Fallout, passando per Skyrim, WoW, The Witcher e No Man’s Sky, moltissimi giochi hanno lanciato la corsa a chi aveva la mappa più grande, come se fosse automaticamente sinonimo di qualità o divertimento. nonostante il trend si sia finalmente ridimensionato, il vizio di costruire mappe enormi non sembra essersi placato. Nonostante ci siano varie tecniche per far si che questi ambienti sempre più larghi non incidano troppo sulla dimensione del file finale – come generazione procedurale, batching o displacement map per i terreni – è indubbio che comunque un impatto lo abbiano. Una volta i giochi si vedevano costretti a prendere lo stesso modello 3d, a cambiargli colore e nome, e a considerarlo un nuovo nemico solo per ottimizzare le risorse. Ora che questa necessità è sparita, nessun gioco si perita a inserire centinaia di NPC per strada, di modelli di auto o moto, di alberi, o a far durare la trama per ore e ore. Eliminato il limite fisico, ogni gioco adesso ha tutti i contenuti che gli sviluppatori hanno in mente, senza preoccuparsi dello spazio richiesto.
Di cosa è fatto un videogioco
In maniera indiretta abbiamo già risposto, ma vediamo all’atto pratico come i videogiochi sono effettivamente “lievitati”, partendo dalle basi. Un videogioco è composto da vari sistemi, interconnessi tra di loro. Al centro c’è solitamente l’engine, col suo insieme di funzioni base che ne costituiscono le capacità, come per esempio i passaggi di stato ed il rendering. Il suo compito è prende in pasto quelli che vengono comunemente chiamati “asset”, grossolanamente tradotti come “risorse”, e mostrarli a schermo così come specificato dal design del gioco. L’engine gestisce anche le interazioni, così come da codice, ma solitamente gli script hanno un peso trascurabile e possiamo ignorarli nella nostra analisi.
Guardando nel dettaglio, ci sono tre elementi che fanno parte della scena e che hanno un peso rilevante per un gioco: modelli 3D, texture e audio.
Partiamo dai primi: un modello 3D è composto da una serie di punti interconnessi tra di loro per formare delle facce. Più aumentano i punti, e più sarà “pesante” il modello. Il motivo è molto semplice: dato che un modello non è altro che un elenco di punti in uno spazio 3D espressi come coordinate, più è lungo l’elenco di punti e più grande sarà il file. Per darvi una idea della crescita della dimensione, ho fatto un piccolo esperimento: prendendo i dati del modello di Lara Croft negli anni, ho creato un cubo con altrettante facce col noto software di modellazione Blender, e lo ho esportato in FBX, un formato standard per i modelli 3D. Il risultato non è sorprendente, il primo cubo con 216 facce, corrispondente al primo Tomb Raider, ha un peso di 19kb. Il secondo cubo con 4056 facce, corrispondente a Tomb Raider: The Angel of Darkness per PS2, ha una dimensione di 76kb. Il terzo cubo con oltre 36.000 facce, corrispondente a Tomb Raider: Underworld del 2008, ha un peso di 522kb. Potrà non sembrare molto, ma stiamo parlando semplicemente del modello, senza animazioni e senza materiali, semplicemente una statua, e di un aumento di oltre 27 volte la dimensione iniziale.
Il secondo tipo di asset da considerare sono le texture. Ogni modello 3D ha associato uno o più materiali, ognuno con delle specifiche istruzioni su come mostrare l’oggetto associato in scena. Il materiale, a seconda dello shader (il codice che esegue il rendering dell’oggetto stesso) può avere associate una o più textures. La spiegazione sull’aumento di dimensioni negli anni è dovuto a due fattori: l’aumento di risoluzione, e l’aumento del numero di textures associate all’oggetto. Nel primo caso il problema è facilmente intuibile, più è definita la texture, maggiore sarà il dettaglio sulla scena. Facendo un esperimento con Photoshop, ho preso una texture 4K e l’ho ridotta gradualmente di dimensione. Partendo con 512x512px, il file era di 121kb. Salendo a 1024×1024 la dimensione è salita a 385k (3 volte tanto), salendo ancora a 2048x2048px la dimensione è salita a 1.2mb (oltre 10 volte), e infine a 4096×4096 la dimensione è stata di 4.4mb (oltre 35 volte). A questo c’è da aggiungere che in origine ad ogni materiale era associata una sola texture, mentre oggi, per motivi di fotorealismo, si può arrivare ad avere oltre cinque texture. Assumendo che un gioco in media usi 4 texture da 2048x2048px per un modello completo, siamo passati dai 121kb per una texture singola a 4.8mb. Di nuovo, applicate il cambiamento a tutti i modelli in scena, e l’aumento di dimensioni è scontato.
Il terzo e ultimo elemento è forse il più sorprendente. Così come le immagini, i file audio hanno una propria risoluzione, e possono essere compressi o non compressi. Il problema principale di averli compressi è che nel caso di file di grande dimensione i computer di fascia medio-bassa potrebbero non essere in grado di decomprimerli “a tempo d’esecizione” senza abbattere il framerate, obbligando gli sviluppatori ad utilizzare file audio non compressi, quindi di dimensioni maggiori. Qualche tempo fa, in questo articolo su digital trends, Zachtronics ha rivelato che dei 48GB scaricati per Titanfall su PC, 35 erano di file audio non compressi, oltre due terzi, per il motivo indicato sopra.
Inoltre, negli anni, si nota un trend a scendere sempre meno a compromessi sulla qualità dell’audio, con particolare attenzione ai dialoghi. Oggigiorno qualsiasi gioco, anche indie, decide di aggiungere un doppiaggio dei dialoghi anche solo in inglese per i propri personaggi. E ovviamente all’aumentare dei personaggi aumentano i file, ed i minuti di audio richiesti. Inoltre, la fedeltà degli effetti sonori si sta facendo sempre più importante per il pubblico, soprattutto nei simulatori. Prendiamo un qualsiasi gioco di macchine moderno come esempio. Per ogni automobile si deve registrare in maniera realistica il suono del motore e fare in modo che risponda all’assetto del veicolo e alla visuale della telecamera, il suono del cambio, degli impatti che diverse carrozzerie hanno con i vari oggetti a diverse velocità, e ovviamente regolare gli effetti degli pneumatici sui vari terreni. La qualità audio si paga, in Gigabyte sonanti.
Quanto è grande il futuro?
Sembrerebbe che la spirale verso l’alto non accenni a fermarsi, e per quanto mi piacerebbe che fosse diversamente, dubito che accadrà molto presto. Con budget sempre più alti, le compagnie che sviluppano giochi AAA non scenderanno a compromessi per i propri titoli, e produrranno tutti gli asset necessari in qualità sempre maggiore. Con la potenza di calcolo in continuo aumento e le tecniche di ottimizzazione sviluppate negli anni, ormai è possibile creare scenari virtualmente illimitati. Perché un eventuale nuovo GTA o Fallout dovrebbe fermarsi a una città quando può svilupparne due, sapendo di rientrare dei costi? Ho come l’impressione che presto avremo risposta, magari con il primo gioco a superare 200GB, DLC esclusi. Una voce nella mia testa ha appena urlato “The Elder Scrolls VI: High Rock”, si accettano scommese.