Orizzonti Lontani

Oggi mi piacerebbe discutere con voi di una tematica piuttosto complicata: quella dei famosi “spazi aperti”.

Sulle riviste e sui forum si discute di quale sia il gioco con gli spazi più ampi o di quale engine sia più capace di fare cosa.

Ma come facciamo a capire quando uno “spazio” è ampio?

In primo luogo cerchiamo di capire la problematica: perchè disegnare uno spazio ampio è un problema?

Per due motivi:

  • Grande quantità di poligoni
  • Grande quantità di materiali
Perchè ho scritto “materiali” e non “texture”? Perchè la texture non è l’unica cosa che appesantisce la pipeline di rendering: anche un semplice cambio di stato la appesantisce.
Possiamo quindi definire un gigantesco quadrato con sopra una texture uno “spazio ampio”?
Dal punto di vista letterale, sì, ovviamente: il quadrato è enorme. Per questo è più corretto utilizzare il termine inglese “Large Environment”, che in sè condensa la grande dimensione dal punto di vista del dato, rispetto al punto di vista visivo.
Purtroppo questo punto è molto difficile da capire, quindi insisterò maggiormente per far capire cosa intendo.
Prendiamo una cartolina qualunque:
Questa è una foto della mia amatissima Champoluc vista dall’alto. Proviamo ad immaginare di dover fare il rendering in tempo reale di questa immagine.
Facciamo finta che ogni casa sia modellata in maniera realistica, con circa 25000 poligoni e 3MB di texture.
Possiamo facilmente intuire che questa scena (solo con le case) prevede circa 1.000.000 poligoni e 120 MB di texture.
Se solo ci fossero le case, la scena sarebbe già abbastanza pesantina. Aggiungiamoci gli alberi (saranno almeno trecento), aggiungiamoci l’illuminazione e il terreno ed ecco che abbiamo una scena che non può essere in alcun modo presentata così com’è alla scheda grafica.
In più consideriamo che, se fosse un gioco, non potrebbe esserci solo questo: appena giriamo la testa dovrà esserci tutto il resto del mondo.
Possiamo quindi già tirare una conclusione: qualunque engine potrebbe mostrare ambienti ricchissimi, se avesse a disposizione un hardware potentissimo.
Quindi: come facciamo a mostrare una scena come quella sopra ad un framerate di (diciamo) 30 fps?
In primo luogo dobbiamo capire cosa significa “30fps”: significa avere circa 32 millisecondi ad ogni frame.
Non molto.
30 fps x 1.000.000 = 30.000.000 di poligoni
Un po’ tanti.
Consideriamo che non abbiamo tutti i millisecondi per noi: c’è anche il gioco in sè che vuole la sua parte.
Ok, possiamo partire a valutare i problemi:

TEXTURES e MATERIALI

Il problema è talmente noto che la soluzione è già stata trovata da quando si fa grafica in tempo reale.
La prima scrematura si fa sulla distanza: perchè usare le texture 2048×2048 quando le case sono così lontante? Basta usare texture 256×256. Facendo così, si riduce drasticamente il tempo di campionamento delle texture.
Questo si chiama “Mipmapping” e non funziona solo sulla lontananza dall’oggetto, ma anche dalla sua posizione rispetto alla camera: più l’oggetto è “di sbieco” più la texture utilizzabile è piccola.
Perfetto, ma questo non basta: una singola casa ha un bel po’ di materiali (il tetto innevato, le finestre, il legno, il muro). Ognuno di questi materiali avrà dei parametri, delle texture e degli stati hardware da settare.
Per ridurre il cambio di stati, possiamo raccogliere per bene tutti gli oggetti col medesimo materiale e disegnarli tutti assieme.
Alcune architetture sono terribilmente più veloci se si riduce il numero di chiamate alla funzione di render, ma passando tanti triangoli: potremmo fare anche così. Questo non è banale per nulla, quindi se decidiamo di farlo, dovremo essere certi che l’architettura sulla quale lavoriamo ci fornisca un boost molto ampio.
Il PC in generale è una di queste architetture, per esempio.

Numero di Primitive

Parlando terra terra, una primitiva è un triangolo. Non è sempre così (OpenGl ad esempio prevede triangoli, punti, linee, quadrati e poligoni), ma possiamo facilmente dire che è così nel 99% dei casi.
La regola principale nel campo della computer grafica è: il modo più veloce per fare una cosa è non farla.
Quindi: qual’è il modo più veloce per disegnare un sacco di triangoli? Risposta: disegnarne pochi.
Ma come possiamo fare? Nella storia ci sono state mille e mille soluzioni. Vediamone qualcuna:
Riduzione del livello di dettaglio: se un oggetto è lontano, possono bastare pochi poligoni per descrivere la sua forma, rispetto a quando è vicino. Ci sono algoritmi che riducono il numero di poligoni in tempo reale (algoritmi “continui”) oppure è possibile utilizzare N modelli 3D prefabbricati, con sempre meno triangoli (algoritmi “discreti”).
Eliminazione degli oggetti fuori dal campo visivo: se un oggetto non è nel campo visivo (frustum) si può evitare di mandarlo in rendering. il controllo si chiama “frustum test” ed in genere si fa per oggetto.
Eliminazione dei triangoli fuori dal campo visivo: questo punto si differenzia dal precedente perchè la precisione scende al triangolo. Tal sorta di test si fa in genere su modelli 3d di grandi dimensioni (come i terreni o gli ambienti), che altrimenti sarebbero sempre in camera e sarebbero sempre disegnati per intero, poiché ben più grandi di quello che la camera può vedere. Per risolvere questo problema ci sono varie soluzioni, come gli OctTree, una struttura dati che consente di partizionare lo spazio e di fare velocemente i conti per decidere “chi è dentro e chi è fuori”, oppure il “Potential Visible Set“, un sistema che divide (in preprocessing) tutto il mondo in blocconi e decide quali oggetti siano visibili nei vari settori. Se un triangolo non è mai visibile, potrebbe essere semplicemente eliminato dalla scena.
Eliminazione dei triangoli coperti da altri triangoli: Il test che si compie, in questo caso si chiama “Occlusion Test” o “Visibility Test”. Un sistema per eseguirlo è utilizzando i “Binary Space Partition Trees”, amati da sempre da Id Software.
Ognuno di questi sistemi (più i mille altri che non ho citato) servono ad evitare di disegnare tutto ciò che non serve, in modo da mandare alla scheda grafica la quantità minore di triangoli (od oggetti) possibile.

Oggetti Ripetuti

Se guardiamo la scena, notiamo che ci sono una quantità troppo elevata di alberi. Da soli, questi alberi, rischiano di prendere interamente tutto il tempo che abbiamo per fare il nostro rendering. Come fare?
Qui abbiamo fondamentalmente due soluzioni, a seconda dell’hardware che abbiamo a disposizione: se l’hardware supporta l’instancing, possiamo mandare un singolo modello 3d di albero, seguito dalle informazioni necessarie per il rendering per ogni albero che vogliamo. Ad esempio, possiamo mandare l’albero e poi cento posizioni diverse, così l’hardware disegnerà questo albero cento volte in queste cento posizioni.

Conclusione

Dopo tutto questo articolo, cosa possiamo dire? Possiamo dire che se un engine non supporta tutte queste feature, allora non supporta gli spazi aperti? No, non possiamo dirlo.
Perchè? Perchè se abbiamo un megaPC pazzesco, con tantissima RAM ed una scheda grafica pazzesca ed immensa, possiamo completamente ignorare tutti i problemi di cui sopra e mandare alla scheda quei 30 milioni di triangoli al secondo, oppure quei gigabyte di texture, tanto il sistema è potente e reggerà il colpo.
Il problema, per i progettisti, è pensare a dei sistemi per far girare questi ambienti su computer esistenti.
Proviamo a pensare a “Grand Theft Auto San Andreas”: non voglio nemmeno immaginare da quanti poligoni e texture sia composto il mondo. Nonostante questo, gira su una PS2 a 30 fps (o 60?). Se tutte queste tecnologie non fossero implementate, non girerebbe mai su una PS2.
Quindi, ora, sapendo questo, poniamoci questo quesito: ha senso chiedere se un engine supporta gli spazi aperti? Viste le migliaia di possibilità dietro questa domanda, io dico di no.
Ha senso, allora, chiedere quanti poligoni e che mole di texture può disegnare un dato engine con un dato PC garantendo i 30 (o 60) fps? Questa domanda ha molto senso, ma capirete bene che non è un equivalente della precedente: se dieci anni fa 500.000 triangoli e 100MB di texture per tutto il mondo potevano essere un “Large Environment”, oggi come oggi questi numeri sono decisamente cambiati.
Quindi, quando vi trovate in una discussione sulla capacità o meno di un engine di disegnare i dannatissimi spazi aperti, cercate sempre di capire con chi state parlando: se è un giornalista o un videogiocatore fanatico del PC, allora molto probabilmente sarà meglio non entrare nemmeno nel discorso 🙂

Dissonanze

L’ultima volta che sono sobbalzato ascoltando una “colonna sonora” (da intendersi riferita a tutti i suoni presenti all’interno di un videogioco) videoludica è stato con Thief: The Dark Project. Non si trattò di tensione o di bellezza delle musiche. Fu un sobbalzo dovuto alla novità, alla sperimentazione di una nuova forma di gameplay, e al convincermi che la tecnologia abbia un senso se usata in modo intelligente e innovativo.

Da allora non credo che di aver più udito niente di così “fresco” (forse giusto Electroplankton
per Nintendo DS).

Intendiamoci: di videogiochi con colonne sonore belle è pieno il mondo. Gli effetti sonori si sono fatti sempre più raffinati e ormai il rombo di un’auto virtuale o il rumore prodotto da una mitragliatrice sono simili alla controparte reale. Talmente simili che sentendo il rumore di un mitra nella realtà ci si potrebbe chiedere perché non emetta lo stesso identico suono di quello adoperato nel’ultimo titolo guerrafondaio appena finito.

Da profano immagino che anche le tecnologie audio vadano sviluppandosi di pari passo con quelle grafiche e con tutte le altre presenti all’interno di una macchina da gioco qualsiasi. Il problema è che se ne parla poco e, soprattutto, è difficile sentirle “in gioco”. In effetti tanto è vero che siamo pieni di “parole marketing” attinenti alla grafica, che non capiamo ma che amiamo leggere sulle confezioni o nelle anteprime, tanto mancano parole comuni per descrivere le tecnologie sonore, tranne che per la presenza di alcune espressioni generiche che si adattano più o meno ad ogni contesto (il sonoro è avvolgente, non è avvolgente, crea una buona atmosfera, rovina l’atmosfera e via di questo passo).

Ma non è questo il punto. Il punto è che si procede per privazioni. Il sonoro, con la decadenza del genere stealth, sembra “uscito fuori dal gameplay” e spesso, troppo spesso, la colonna sonora di un videogioco si limita ad essere un piacevole accompagnamento che non prova ad aggiungere altro all’esperienza ludica.

Parlo da profano, ma credo che bisognerebbe sperimentare di più dal punto di vista sonoro (genere permettendo), lavorando sui suoni e sui rumori ed evitando gli accompagnamenti standard (per fare un esempio la musica epica nei combattimenti dei videogiochi fantasy… sarà anche coinvolgente, ma ci sono molti modi per descrivere l’audio di una battaglia e le tecnologie permetterebbero di sperimentarli senza perdere appeal commerciale).

Ovviamente sarei felicissimo di ricevere indicazioni su colonne sonore interessanti che avete sentito all’interno di qualche videogioco e che mi sono perso. Anzi, magari potremmo compilare una lista con le migliori colonne sonore, bellezza delle musiche prescindendo, da tenere in archivio da qualche parte.

Perfect Score

Amico fanatico dell’Xbox 360 (chissà se si degnerà mai di leggere questo blog): “GTA IV è un cazzo di capolavoro, è molto meglio di Halo 3.”
Io: “Ma Halo 3 non era il meglio del meglio che meritava il suo 10 a mani basse?”
Lui: “GTA IV è meglio. È da 10. Anzi è da oltre 10.

Questa battuta mi ha fatto sorridere. Sostanzialmente mette fine a tutte le polemiche sull’utilità dei voti numerici e sul loro valore effettivo. Soprattutto rende evidente l’assurdità dei perfect score (in questo caso intesi come i voti più alti assegnabili con un dato sistema di valutazione, ad esempio 10/10 o 100%) che, a parte sottolineare l’eccellenza di un tal prodotto, confondono e fanno partire un gioco al rialzo senza fine.

Se un gioco da 10 è migliore/diverso di un altro gioco da 10 come si fa ad accettare logicamente che entrambi abbiano un 10 a rappresentarli?

Un altro paradosso è che la valutazione massima ottiene l’effetto di sottolineare più i difetti dei pregi, come avvenuto nel caso di Halo 3 e come sta avvenendo con GTA IV (che non giudico in mancanza di una prova su strada) che porta molti a chiedersi come faccia a prendere 10 (100, ABC, cinque Emack d’oro e così via) un gioco con anche un solo difetto. Ad esempio molti hanno sottolineato come l’ultima fatica della Rockstar sia strutturalmente identica ai precedenti capitoli, cosa a cui non fatico a credere.

È paranoia, certo, ma è una paranoia che nessuno s’impegna a mitigare e che, anzi, non si fa altro che alimentare con l’abuso di perfect score e recensioni sperticate negli elogi, che sembrano scritte più da un addetto del marketing che da “critici” (sull’esaltazione infantile del redattore-tipo esperto di videogiochi andrebbe scritto qualcosa a parte) formati e capaci di discernere ed indirizzare il lettore.

Arcade MMOG

OK, dopo aver letto la re-review di Tabula Rasa fatta da Eurogamer sono rimasto un po’ confuso: Tabula Rasa è bello perché non è come WOW ma per essere divertente e valido deve essere come WOW. Mi son chiesto, ma che cosa c’entra WOW? E’ come usare X-Wing come paragone per recensire Flight Simulator.

Uno dei maggiori difetti attribuiti al gioco è non avere Endgame Content. Ora, non è che l’EGC non ci debba essere, ma è altrettanto vero che non deve esserci per forza in tutti i giochi. Tanto meno deve essere obbligatorio averlo a pochissimi mesi dal lancio, quando, tranne qualche esaurito power player, la parte alta della classifica dei giocatori è ancora tutt’altro che affollata. Dopo tutto un MMOG può essere anche fatto per essere giocato e rigiocato per un un paio di mesi e poi ripreso dopo una pausa più o meno lunga quando esce un’espansione. Questo modello è alla base del successo di City Of Heroes, ad esempio.

Inoltre, ritengo che un eccessivo utilizzo di EGC sia un po’ un’ammissione implicita da parte dei developer di aver creato un sistema di gioco non bilanciato e poco controllabile. Altrimenti che senso avrebbe annichilire del tutto il sistema di gioco non appena raggiungi il livello massimo, proponendo un avanzamento statico e predeterminato, dove l’unico vero obiettivo sono gli unici drop viola per la tua fascia di difficoltà e tutto il resto è solo riempitivo superfluo per far tirarare avanti i tossici della taurina?

Tutto questo sa più di arcade da sala giochi, con tanto di power up che sfruttano le debolezze dei nemici offerti sul piatto d’argento, trash mob ininfluenti giusto per farti perdere tempo e raid boss coi pattern, come nei vecchi shmup. C’è pure il continue: l’abbonamento mensile. Sa di Arcade MMOG, vagamente psichedelico, ripetitivo, intossicante ma anche terribilmente vuoto una volta superata la compulsione.

Posso capire la battaglia dei numeri (peraltro un po’ insulsa), ma partire dalla prospettiva critica che tutti i MMOG devono fornire lo stesso livello di longevità, design, contenuti e playerbase è sbagliatissimo. Sarebbe come dire che tutti i giochi di un certo genere devono essere uguali e castrare il resto perché non è abbastanza uguale o è troppo uguale.

In entrambi i casi ci perdi.

Wii Fit ci salverà

Avanti obesi onanisti dal culo a chiatta piena di mondezza! E’ arrivato il vostro momento! Alzate le budella appesantite dagli anni in cui siete rimasti inerti davanti allo schermo.

Fino ad oggi avete creduto di potervi infilare in qualche mondo fatto di vettori e pixel per salvare regni, principesse, voi stessi e il vostro cane. Tutto quello che avete ottenuto è una panza da fare schifo ai cammelli orbi della Tunisia.

Alzatevi dalle vostre sedie sudaticce come le vostre natiche e iniziate ad agitarvi come salcicce sul girarrosto. E’ l’ora della riscossa! Dimostrate che non vi piace soltanto guardare film porno masturbandovi mentre mangiate patatine al formaggio!

Oggi anche voi entrate a far parte della società, perché la società è entrata a far parte di voi decidendo di farvi dimagrire!

E un, due, tre
e un, due, tre.

Non lo avete capito che fate schifo e che la vostra vita non ha avuto senso? Avete amato i videogiochi per arrivare alla rivelazione: siete degli esseri inutili che hanno sempre puntato sul cavallo sbagliato.

Tu che mi guardi basito con in mano Wii Diet, la dietà interattiva che picchia i carboidrati usando i Mii. Tu che hai in mano un joypad, residuato di un modo di concepire i videogiochi da sfigati cronici capaci soltanto di scaccolarsi combattendo contro qualche boss di forma fallica… sì, proprio tu.

Guardami e pensa alla tua nuova vita. Pensa a quello che sei e a quello che potresti diventare e gioisci! Wii Fit è qui!

Dove stiamo andando?

Prima o poi arriva il momento di chiedersi dove stiamo andando. La fatidica domanda è connaturata alla natura umana e alla sua necessità di comprendere ciò che non può essere compreso fino a fondo. Per questo in ogni ambito vengono prodotti dati numerici in grande quantità, perché i numeri sembrano chiarire ciò che l’intuito a volte suggerisce ma non riesce a rendere completamente intellegibile.

Il mondo dei videogiochi non è differente dagli altri mondi, e anche qui fioccano classifiche più o meno attendibili su praticamente ogni cosa, con grafici e percentuali che si propongono come tombe; pure rivelazioni dello stato dell’industria e del suo andamento.

In realtà ogni dato è, almeno parzialmente, discutibile, ma è difficile contestare i numeri: se Call of Duty 4 ha venduto più di 8 milioni di copie in poche settimane e queste sono certificate, come si fa a metterne in dubbio il successo? Come si può pretendere che l’Activision non ne abbia già messo in cantiere il seguito?

Dalla massa informe d’informazioni (informe… informazioni… hanno la stessa radice, notato?) che giornalmente ormai ci arrivano da fonti differenti, è impossibile non farsi una certa immagine dell’industria videoludica, sempre più importante a livello globale, sempre più cinica a livello contenutisco e sempre più alla ricerca di standard da seguire ciecamente per rimanere sulla cresta dell’onda.

E qui si potrebbe ricordare come molte industrie, affidandosi troppo agli standard, siano spesso state la fonte della loro stessa distruzione. Ma ora siamo in un periodo di crescita, ed è difficile mettersi a fare i grilli parlanti senza apparire come dei folli menagrami…

Del resto il mondo dei videogiochi è da sempre proiettato verso il futuro. Le magnifiche sorti e progressive dell’industria vengono decantate da tutti gli addetti ai lavori, che tendono a “mettere da parte” gli elementi più critici nei loro discorsi, meritevoli soltanto di qualche raro accento.

Eppure…

Eppure bisognerebbe iniziare a razionalizzare i segni di una potenziale crisi.

Ma forse è troppo presto per farlo e forse sarebbe contraddittorio per un mondo che tende a dare di se un’immagine che si fa sempre più stereotipata e lontana dalla realtà.

Digital Dammiqquà

Supporti.

Supporti nei cassetti. Supporti nella libreria. Supporti nei sacchetti. Supporti nelle custodie. Supporti nelle borse, nei raccoglitori, sotto la scrivania. Supporti supporti supporti. Ovunque.

Erano almeno una decina di chili, quelli che ho gettato nel bidone: dodici anni di cd allegati alle riviste, e già questi erano i sopravvissuti di un primo rastrellamento. Ho conservato solo il primo, se non per memoria almeno per gratitudine, per tutte le ore di divertimento che mi ha regalato senza che dovessi sborsare nulla più delle quindici, o forse diciotto-diciannovemilalire della rivista-con allegato-senza rivista “Little Computer People”.

little_computer_people_1_cd.jpg

Simulmondo Interactive? Sarebbe da indagare.

Immediatamente dopo aver gettato il sacco, ho realizzato che qualcosa di ciò che avevo gettato era diventato probabilmente, improvvisamente, definitivamente irreperibile; immediatamente dopo, non per nulla, s’è presentato il (triviale) caso concreto del trailer di “Dreams to reality”, che sarei stato curioso di rivedere: in rete non esiste più. Valeva la pena continuare ad avere due cassetti occupati, e spulciare due centinaia di custodie, per permettermi di sollazzarmi quei due minuti per un trailer di un vecchio gioco che non giocherò mai?

Non ho memoria di quale sia stato il primo gioco (regolarmente acquistato, ça va sans dire) di cui ho recuperato il “nocd crack“. Ricordo solo che ogniqualvolta ci sia stata la possibilità, ho sempre cercato di evitare la fatica di inserire il cd, a meno che non fosse giustificato da qualche bella traccia audio d’atmosfera.

Ogni tanto acquisto qualche vecchio gioco di seconda mano: lo installi; poi vai a cercare l’ultima patch ufficiale; la trovi in un sito di Taiwan, visto che il distributore originale è fallito; la installi; poi scopri che ce n’è una non ufficiale; installi quella; poi preferisci ritornare a quella ufficiale, ma non puoi limitarti a disinstallarla e devi togliere tutto e ricominciare da capo. Do atto a Steam (unica piattaforma di digital delivery da me attualmente usata, se non vogliamo includere il portage di Gentoo Linux e sistemi di pacchettizzazione analoghi) di sollevare egregiamente l’utente da queste noie, e basta già così poco a rendere la pirateria stupida, oltre che illegale e immorale e sailpiffero.

Il supporto fisico, su PC, è morto. Sulle console casalinghe ancora no, ma è solo questione di tempo: lasciamo che le patch vengano a noi via download ancora per qualche tempo, e l’obsolescenza sarà definitiva.

Sul fronte delle console portatili le cose non vanno meglio. Il formato UMD della PSP di Sony è tendenzialmente masochista perché, aldilà dell’attenzione che vi possono aver posto ingegneri e sviluppatori, contribuisce con entusiasmo, da brava parte meccanica mobile, a consumarvi la già esigua carica della batteria. Le cartucce del Nintendo DS sono buffe, perché in tempi di gigabyte non superano i 256MB di capienza, e purtuttavia il loro bello spazio fisico lo occupano. Conosco miriadi di persone che, legalmente o meno, fanno uso di singole, capienti e comode memory card per portarsi in giro la loro libreria di giochi, che sia su PSP o su DS; e come dar loro torto, se ciò dimezza l’ingombro e il rischio di perdere in giro qualcosa di importante?

I cellulari già seguono il principio del disprezzo del supporto fisico; peccato che siano in mano alle compagnie telefoniche, che vi richiedono fior di euro anche solo per lustrare i tastini (consiglio però un giretto qui per i possessori di terminali carrozzati Symbian). E tuttavia, un’ispirazione dovrebbero darla.

Ho avuto l’illuminazione giochicchiando con DSORganize. Una delle sue funzioni è quella di esplorazione di un (modesto) database di software homebrew e demo per il Nintendo DS, con annessa possibilità di scaricare quanto vi si trova in tutta comodità (anche nel tepore del vostro lettino). Ecco, io questo voglio, nelle piattaforme mobile ancor più che in quelle casalinghe: digital delivery. Il DS è region-free, perché un viaggiatore europeo non debba gettare tra i cactus la sua console europea se calca il territorio americano e ha finito i giochi; e allora si faccia un passo in più, quello mancante: una console portatile media-free, in cui tutto sia ottenibile via rete (magari col wi-fi, ma magari non con un wi-fi mutilato a 5kbps).

Ormai sappiamo che i bit sono copiabili, ma i servizi non lo sono; un catalogo online ben costruito, che ci eviti la pena di aspettare le 17.30 di domani per andare dal giocattolaio di fiducia, senza la certezza di trovare ciò che cerchiamo, può valere la pena di un acquisto; un sistema di patch efficente, e un supporto prolungato, possono valere la pena di un acquisto; un archivio da cui sia scaricabile il nostro “parco giochi”, in qualsiasi momento e ad alta velocità, può valere la pena di un acquisto.

Un sistema di virtual console multipiattaforma, con memorizzazione di giochi, impostazioni e salvataggi lato server, permettendo quindi il loro accesso da qualsiasi angolo del pianeta ove sia attiva una connessione alla rete, e in modo completamente trasparente a qualsiasi cambiamento hardware sottostante, finirebbe nelle mie mani il day one.