Fuori orario

È insolito trovarsi a discutere di un gioco che, seppur universalmente riconosciuto come un’eccellenza dello scorso anno, ti ha posto così insistentemente di fronte ad un quesito storico, se così lo si può definire. Soprattutto se questo risponde al nome di The Legend of Zelda: Skyward Sword. Ovunque abbiamo avuto modo di leggerne le entusiastiche opinioni di critica e pubblico e do per scontato che moltissimi giocatori abbiano un’idea abbastanza precisa del titolo in questione. Titolo che, mi affretto a dire, mi ha rapidamente conquistato per svariati motivi che non sto ad elencarvi.

Tornando al titolo del post, vorrei condividere (e discutere) con voi una mia opinione personale. Sebbene il progetto iniziale di Nintendo, cominciato con l’altisonante Revolution e concretizzatosi con il meno accattivante Wii, non avrebbe permesso una tale precisione nella lettura dei movimenti, non posso negare di essermi chiesto “cosa sarebbe successo se Skyward Sword avesse accompagnato il lancio del Wii?”. TLoZ: Twilight Princess è stato, pur nella sua bellezza ed originalità stilistica, un porting diretto da GameCube: a differenza di Skyward Sword, ma anche di Super Mario Galaxy o di Metroid Prime 3: Corruption, fu concepito come il canto del cigno della sua console di nascita, destinata ad un prematuro declino.

La scelta economica di sfruttare la forza di un brand con una conversione semplice, capitalizzando sulle vendite, potrebbe aver determinato (in parte) la “febbre da porting” di cui il Wii è stato ed è vittima – e così sarà probabilmente anche per Wii U. Forse se Nintendo avesse rischiato di più, concentrando i propri sforzi anche verso i giocatori in senso stretto, avremmo parlato del Wii in maniera diversa. Questo è l’imperdonabile difetto di The Legend of Zelda: Skyward Sword, un difetto condiviso dallo stesso Twilight Princess: l’essere arrivato Fuori Orario. Come la statua di Kiki, anche l’opera di H. Fujibayashi e Nintendo EAD riesce a ricondurre il Wii alla propria scrivania, ristabilendone in parte la condizione di console e restituendo all’azienda nipponica un po’ della propria autorialità nel mondo videoludico.

Peccato: forse con un intervento meno tardivo si sarebbe potuto evitare che il Wii fosse ridotto da rivoluzione a notte in bianco.

Sviluppo PC e Console: una panoramica

Prima che inizi il flame, mi preme dire che in questo articolo non entrerò nel merito dell’eterna polemica “giochi console VS. giochi PC”, bensì vi racconterò qualche cosa sullo sviluppo per console confrontandolo con lo sviluppo per PC.

Ordinerò i pensieri per categorie.

MEMORIA

Come sappiamo, su PC abbiamo come minimo 2GB di memoria più la memoria video , mentre su console ne abbiamo un quantitativo decisamente inferiore: se consultiamo Wikipedia, scopriamo che le console next-gen hanno circa 512MB di RAM tra memoria video e memoria di sistema.

Sapendo questo, capiamo che l’approccio all’uso della memoria deve essere estremamente attento. Non solo: il modo in cui si tratta la memoria cambia completamente.

Per farvi un esempio: quando su PC si libera 1MB di memoria, non cambia praticamente niente, mentre su console è un quantitativo che viene accolto con gaudio e tripudio.

Inoltre il PC è una macchina dinamica, che potrebbe avere più o meno memoria, quindi un gioco potrebbe voler utilizzare quella memoria aggiuntiva. Nonostante questo, dovrà stare attento: il gioco non è l’unica applicazione che sta funzionando sul PC, quindi le risorse potrebbero essere già utilizzate in piccola o larga parte.

Su console questo problema non esiste: la memoria è una risorsa nota e possiamo utilizzarla come preferiamo.

Questo ovviamente cambia l’approccio: su console una soluzione conveniente è quella di utilizzare delle pool di memoria che allocano dei grossi blocchi per poi gestire le piccole allocazioni internamente, e queste pool possono essere fisse.

Su PC questa soluzione può funzionare, ma non sfrutterà il maggior quantitativo di memoria. Sarà quindi necessario avere un sistema che dimensiona le pool a seconda del sistema.

Inoltre, abbiamo il problema della frammentazione della memoria: siccome su PC la memoria potrebbe essere in qualunque stato, potrebbe succedere ad esempio che abbiamo 8GB di RAM di cui 4 liberi, ma il blocco più grosso è, poniamo, di 4MB. Se il gioco vuole allocare una pool da 16M, il sistema non troverà niente da usare e quindi utilizzerà la memoria virtuale, ossia l’hard disk.

A quel punto il nostro gioco inizierà a scattare orrendamente mentre l’hard disk verrà stressato.

Ci verrebbe da pensare che quindi su PC è meglio allocare la memoria in pezzi più piccoli, magari con l’allocatore standard. Questa soluzione comunque non va bene, poiché potrebbe aumentare ulteriormente la frammentazione in un ambiente in continuo mutamento: se una pool viene allocata in memoria, fintanto che è lì tutte le allocazioni saranno in memoria. Se invece uso l’allocatore standard, magari la prima allocazione va in memoria, poi va via e l’antivirus si prende quel pezzo. Poi ne arriva un’altra e finisce nella memoria virtuale. Capiamo che non vogliamo che questo accada: per quanto possibile vogliamo predicibilità nelle nostre azioni.

Per questo, nonostante tutto, su PC è comunque meglio usare delle pool la cui dimensione sappia adattarsi alla memoria fisica presente. Magari non automaticamente, ma semplicemente linkata alle varie impostazioni nelle opzioni (qualità della grafica, qualità dell’audio e così via).

L’utente cambierà le impostazioni in modo che il gioco vada bene sul suo PC. Oppure metterà tutto a manetta e quando tutto scatterà e laggherà sul suo Pentium 3 con 512MB di RAM, andrà sui forum gridando ai programmatori che non sanno ottimizzare.

CPU

Saltando l’ovvietà (ossia che i PC hanno tanti tipi di CPU mentre le console hanno lo stesso modello per tutta la loro vita), in genere i PC offrono dei set di istruzioni standard (altivec, MMX, SSE e così via). Le console, invece, hanno praticamente sempre delle CPU custom.

Non è che in realtà siano proprio custom, cioè costruite da zero apposta per la console: sono più che altro processori standard con istruzioni da altri modelli, con l’aggiunta magari di qualche istruzione aggiuntiva fatta apposta e una modifica alla memoria di cache.

Questa soluzione porta a scrivere codice per console in maniera molto più a basso livello rispetto a quello che si farebbe su PC.

Oltre a questo, il fatto che i processori per PC siano tutti diversi porta a scrivere codice in maniera “scolastica”, ossia pulita, ordinata e standard: sarà il compilatore a ottimizzare dove può. Su console, invece, l’avere una sola CPU significa che possiamo fare ottimizzazioni molto forti: ad esempio possiamo lavorare sull’eliminazione dei branch se essi sono un problema per quella CPU. Magari il compilatore avrà delle direttive speciali, che noi potremo usare abbondantemente  durante la stesura del nostro gioco. Questo porterà a codice di certo meno leggibile, ma nettamente più veloce per quella specifica CPU.

GRAFICA

Qui parlo di GPU e di memoria video. Scavalcando la questione “PC = tante schede, Console = una soluzione”, vale la stessa regola delle ottimizzazioni già vista per la CPU.

Oltre a questo, le console potrebbero offrire soluzioni impensabili nel mondo PC: ad esempio una soluzione che su PC dovrebbe essere eseguita su GPU, su console potrebbe essere conveniente farla su CPU. Pensiamo alla PS3 e le sue SPU.

La grafica è generalmente il punto su cui i giochi PC e console possono differenziarsi maggiormente, poiché i PC moderni (tipo Intel i7 con una scheda DX11, Win7 64bit con 8GB di RAM) sono nettamente più potenti delle console presenti al momento sul mercato.

Questo ovviamente impone dei problemi nel fare giochi multipiattaforma: fare una versione PC che utilizzi tutto il suo ben di Dio significa fare shader apposta, avere asset apposta e un’organizzazione della memoria apposta.

Questo impatta tutti gli stadi di produzione:

  • I grafici dovranno fare texture più grandi e modelli più dettagliati apposta per il PC;
  • I programmatori dovranno fare degli shader apposta, che su console potrebbero proprio non esistere (o potrebbero non essere shader);
  • Soluzioni “brute force” che su PC possono essere fatte senza particolari accorgimenti, su console potrebbero richiedere uno studio nettamente piu’ attento;
  • I tool dovranno gestire delle pipeline di conversione piuttosto differenti tra le varie versioni;
  • Gli screenshot andranno fatti dalle varie versioni per sottolineare le differenze. Allo stesso tempo non devono creare danno alle versioni meno spinte, poiché anche quelle versioni devono andare sul mercato;
  • Il marketing dovrà veicolare attentamente le informazioni delle varie versioni.

Capiamo facilmente che una versione PC dei giochi moderni che ne sfrutti appieno la potenza diventa un problema più che altro di costi.

AUDIO

Qui si entra in un campo incredibilmente variegato, forse ancora più  di quello della grafica.

La musica è un asset che può essere piuttosto pesante (per occupazione della memoria, per la decompressione e per il mix), per questo il suo trattamento può essere completamente diverso da macchina a macchina. Ad esempio, su Nintendo DS si usa molto il formato MOD (o XM), poiché consente una qualità eccellente con poca memoria usata e un basso costo computazionale per la decodifica. Purtroppo, ad oggi, è diventato un po’ difficile trovare persone che conoscano e sappiano usare i tracker (nonostante esistano programmi eccezionalmente moderni come Renoise).

Sulle console più potenti e sui PC, invece, non c’è problema nell’usare MP3 , OGG o qualunque formato di compressione che utilizzi modelli cocleari. Nonostante questo, potrebbero esserci delle situazioni (ad esempio per degli effetti sonori molto piccoli o particolari) in cui l’uso di WAV a 8 bit o a un basso sample rate potrebbe generare file più piccoli rispetto alle compressioni MP3, con la medesima qualità e senza il costo aggiuntivo della decompressione.

Tutti questi problemi, su PC, possono probabilmente essere del tutto ignorati (fintanto che l’audio non prende troppo tempo ad essere elaborato, caricato e decompresso), mentre su console sono un problema costante.

Direi che ho detto abbastanza per stimolare le vostre idee: per le domande vi lascio ai commenti.

Tutti i diritti di questo articolo sono riservati. Vietata la riproduzione.

Corto è bello?

GOW-PaywarePortal ha riportato in auge un discorso aperto mesi fa da Major Nelson (quando ancora non aveva dovuto ricorrere alla chirurgia plastica per farsi togliere i tatuaggi) circa la reale importanza della longevità nei futuri giochi. In realtà, quei discorsi parlavano di longevità ma intendevano durata. Bisogna sempre ricordare che essi sono due aspetti del tutto distinti e scollegati. Portal è un gioco breve ma, essendo essenzialmente un puzzle game con pochissimi enigmi, anche poco longevo. Call of Duty 4 è un gioco piuttosto breve, ma con una longevità molto alta grazie alla componente multiplayer.
La prospettiva di giochi che durino molto poco è appetibile per i developer: i giochi moderni richiedono parecchio impegno economico per creare quelle sequenze cinematiche in-game che sono diventate uno standard di fatto, quindi non aspettiamoci troppi Uncharted, a meno che qualcuno non capisca che l’importante per il game developer dovrebbe essere sviluppare il gioco, non reimplementare da zero la tecnologia che c’è dietro ogni santa volta.

Ecco quindi uno scenario futuro che inizia a vacillare anche considerando bei giochi del passato prossimo già prodotti in quest’ottica. Prendiamo un grosso hit dell’anno scorso: Gears Of War. Durata breve ma ancora superiore alle 5 ore profetizzate da Nelson e pappagallate dai developer\producer di mezzo mondo. Nonostante ciò il risultato è stato una storia condensata in 8 ore di gioco frenetico, poco chiara, sconnessa, a tratti del tutto incoerente. Tanto da richiedere una cospicua espansione al lancio della versione per PC, orientata ad un pubblico forse un po’ meno consumistico di quello console e oggi più che mai molto attento al rapporto qualità\prezzo.

Per altri titoli vale comunque l’opposto: Doom 3, Quake 4, Prey, Tomb Raider, F.E.A.R., Half Life 2, Far Cry (la lista è virtualmente infinita), sono stati titoli con pochissimo da dire, stiracchiati alla meno peggio in più o meno piacevoli ripetitive sessioni\fotocopia. L’importanza nella giusta misura è fondamentale ma bisogna considerare che accorciare i giochi citati avrebbe forse sottolineato di più l’intangibilità e la mancanza di dettagli in quanto narrato. Che sarebbe successo se parte del tempo di gioco fosse invece stato usato per dettagliare maggioremente gli avvenimenti, piuttosto che introdurre stringhe di ripetitivi fill-in? Magari alcuni di essi non si sarebbero fermati poco oltre il break even.

Bisogna inoltre considerare che alla riduzione di durata nei titoli in previsione per il futuro, non corrisponderà un proporzionale abbassamento dei prezzi, quindi il rischio concreto è quello di pagare 60 euro per 5-6 ore di gioco, una proposta tutt’altro che allettante. La risposta prevedibile dei consumatori sarà un ricorso ancora maggiore all’usato ed è sempre più probabile che i developer inizino ad adottare in maniera massiccia sistemi di attivazione anche per titoli non multiplayer per arginarne il fenomeno (vedi Bioshock o Two Worlds). In molti stati americani c’è già un lungo processo di identificazione e burocrazia per acquistare media usati (è diventato più difficile di comperare un’arma nuova), voluto fortemente dalle major e spalleggiato dai senatori e dai governatori locali che traggono profitto dal mercato dell’intrettenimento. Chi vuole intendere intenda.

Il problema economico giace proprio sul piano della miopia delle multinazionali del videoludo: i giochi hanno durate, costi e aspettative variabili, un po’ come avviene per i libri. Con i libri, tuttavia, i prezzi non sono omogeneizzati verso uno standard di mercato, come succede invece per l’home video ed i videogiochi. Sotto questo aspetto, il paragone con l’industria cinematografica è sbagliato e controproducente, specie ora che per una console è possibile commercializzare sia lunghissimi RPG come giochi orientati esclusivamente al multiplayer con costi di produzione, aspettative di vendita e longevità del tutto differenti. Si sta sicuramente cercando di porre un limite a questo aspetto utilizzando il digital delivery ma discutibili politiche di DRM ed i prezzi ancora non proprio adeguati ad un mercato usa e getta non hanno fatto maturare molto un modello che era partito con l’idea dei micro-pagamenti ed oggi si ritrova a far pagare alcuni contenuti più di un titolo da scaffale in offerta speciale.

In realtà ci sono già le prime avvisaglie che alcune di queste scelte sono sbagliate. Passato il secondo Natale per la 360, le aspettative non sono state proprio eccellenti: poco più di 13 milioni di console vendute contro le 18 prodotte (ricordiamoci che circa il 33% è stato dedicato al rimpiazzo di quelle difettose, una pratica che continua a costare a Microsoft ancora milioni di dollari ogni mese) e una soltanto marginale crescita degli utenti Live (siamo passati dagli 8 milioni di profili dell’anno scorso ai 10 di quest’anno). Evidentemente la profusione di titoli payware a prezzo elevato del 2007 non è stata proprio bene accetta dalla massa dei consumatori e piuttosto che far esplodere la user-base ne ha causato una contrazione, proprio al secondo Natale a pieno regime, quello che di solito decreta una crescita quasi esponenziale nelle vendite delle console leader di mercato, grazie anche ad un catalogo di giochi più ricco.

In conclusione, se si pensa che la soluzione al problema dell’abbandono di un titolo dopo pochissimo tempo di gioco sia la sua durata, si è fortemente fuori strada. Il problema sta nella stagnazione dei generi e nella scarsa originalità. Aspetto che la riduzione nelle durate non farà che peggiorare, visti i limiti temporali imposti. E’ un dato di fatto che giochi orientati al riuso o semplicemente basati su un’ottima e solida storia sono oggetto del desiderio dei videogiocatori per anni, indipendentemente dalla loro lunghezza, anche se sono ancora pochi i publisher che insistono pesantemente sul modello commerciale a lungo termine. Portal è sicuramente un esempio di opportunismo narrativo, facilitato dall’essere un puzzle game: in quello scheletrato di script (per molti entusiasti geniale, ma forse solo un pretesto per non far sentire troppo il peso di un demo a pagamento), c’è un escamotage per non raccontare una storia.

E’ pericoloso pensare che il mondo sia pronto a molti altri capolavori basati sulla magistrale presentazione della loro assenza di contenuti.