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.

Eiaculazione precoce

A volte è proprio questione di un attimo. Avrei voluto scrivere “di secondi”, ma in cuor mio ho confidato che, visto il luogo in cui ci troviamo, si potesse per lo meno parlare di una manciata di minuti. Per me sta diventando una cosa abituale: “sarà l’età”, mi dico. È capitato anche lo scorso week end: dopo averlo inserito nella console, c’è voluto davvero poco per capire che qualcosa stava andando per il verso sbagliato. Fortunatamente, fino ad allora l’ultimo Prince of Persia ero riuscito ad evitarlo. Il primo impatto con il gioco della Ubisoft, infatti, è stato davvero drammatico: al termine della sequenza introduttiva avevo già intuito che tra me è il novello cercatore di asine disperse non sarebbe scattato quel feeling che aveva caratterizzato le mie precedenti esperienze con la serie. Tolto il blu-ray dal lettore, ho inserito quello di Uncharted 2, prestatomi da un amico in via del tutto eccezionale (ché di solito li rivende appena finiti). Prendo il joypad, attendo il caricamento, premo start e… no, dico, volete mettere!?

La differenza tra i primi dieci minuti dei due giochi è una cosa che deve far riflettere. Spesso ci si imbatte in giocatori che si lamentano del fatto che il titolo “tizio” non ha mantenuto la stessa qualità sino alla fine, lasciando trasparire tutta la delusione provata dal veder tradite le proprie aspettative. Sentimenti comprensibili e per certi versi condivisibili, ma che lasciano spazio anche a qualche perplessità, se non adeguatamente contestualizzati. Batman: Arkham Asylum, ad esempio, è stato criticato per una conclusione tanto sbrigativa da non essere all’altezza del resto della produzione. Sì, d’accordo, può anche darsi che Joker, nell’ultima scena, non abbia dato il meglio di sé… ma lamentarsi del finale di un’esperienza di gioco tanto intensa mi sembra davvero voler cercare a tutti i costi il pelo nell’uovo. Se, infatti, torniamo a monte e ci concentriamo sui primi attimi di gioco, risulta immediatamente comprensibile che quella che ci appresteremo a vivere sarà un’avventura al cardiopalma, colma di colpi di scena, ribaltoni e personaggi sopra le righe in puro stile Bob Kane. Così come il Bioshock del 2007: dopo mezz’ora di gameplay si era già capito che i 2K Games avevano realizzato un capolavoro di immagini, atmosfera e plot. Potrei continuare citando il primo impatto con Metal Gear Solid 4, Mass Effect o Dead Rising, che già dai filmati introduttivi preannunciavano intere sessioni di umido godimento. Oppure, essendo partiti dall’occhio del corvo di Broken Sword, si potrebbe addirittura passare per le prime sequenze di Rayman 3 e God of War, senza tralasciare il più volte citato Mafia e il meno acclamato Fahrenheit (flame incoming?).

Non mi si fraintenda: la mia intenzione non è certo quella di insinuare che siano belli solo quei videogiochi dotati di un’introduzione carismatica. Ritengo che le emozioni offerte da un Heroes of Might & Magic V o un Super Paper Mario, per quanto confezionate senza l’uso di “effetti speciali”, meritano tanta attenzione quanto quelle dei giochi menzionati in precedenza. È tuttavia inevitabile che, in un palcoscenico come il nostro fatto di trailer, screenshot, preview code e demo giocabili, all’occhio vada comunque riservata una particolare attenzione. Il rischio è quello di cadere nel limbo del “non visto”. A volte – come si diceva, infatti, all’inizio – è proprio questione di un attimo, quasi che il videogioco fosse come una donna che vediamo passare o il cui sguardo incrociamo in metropolitana: la nostra mente non corre subito alla sigaretta fumata “dopo”, ma si sofferma sui particolari che, per quanto ancora da esplorare, si intuiscono subito se essere o meno degni di tutta la fatica che si farebbe per arrivare al momento di spogliarli. Fortuna che quello dei videogiochi non è un mondo fatto di legno, dico io!

Farmville

Tempo di… Farmville (o di Uncinetto?)

Farmville
Sfogliavo una di quelle riviste che non mi comprerei mai ma a cui, se capita per casa, uno sguardo non lo nego. Dovessi trovare la miracolosa soluzione per l’inestetismo a buccia d’arancia o la dieta dove ti strafoghi di bignè dimagrendo… il fatto che il Santo Graal non esista non impedisce certo agli scrittori di consumare fiumi di inchiostro per parlarne.

Sfoglia sfoglia, quando: Kitschissimo! Accanto alla pubblicità per un test di gravidanza ecco una mini guida (pubblicità?) per Farmville.

Certo, accanto poteva anche esserci la pubblicità degli assorbenti con la satanista (perchè solo una seguace di Satana lo potrebbe fare) che si butta dall’aereo per fare paracadutismo in “quei giorni lì”, ma il senso sarebbe stato lo stesso.

Ho trovato la cosa davvero oscena; ho provato ad immaginare un corrispettivo maschile: accanto alla pubblicità del prodotto per prevenire/ritardare la caduta della chioma fluente, ecco una serie di pratici consigli su quale sequenza di mosse fare a Madworld per ottenere più punti. Oppure accanto alla pubblicità del dopobarba per l’utente distratto del rasoio ecco una guida all’uso del controller per la Xbox 360.

Rende l’idea?

Il punto è però sempre quello: quanto è ridicolo?

Il pacchetto è cambiato, ma il senso è lo stesso. Troviamo la pubblicità del libro di cucina, del detersivo che non rovina i capi neri o i colorati, del dolcificante o del formaggio light per non ingrassare, del polletto gustoso per fare contento il maritino, il tutto accanto alle creme antirughe, al deodorante iper-resistente, al gioiello che ti rende unica, al profumo che ti rende irresistibile, alla linea di abbigliamento che non ti starà mai come sta alla donnina in copertina ed ora ci aggiungiamo anche il gioco per “donnette”.

In un campo in cui potevamo rifarci, in cui si poteva guadagnare un po’ di dignità, tiè, beccati la pubblicità del giochino manageriale semplice semplice e pure educativo (che  ci sta sempre bene metterci un po’ di utilità nelle cose, che così non si sta perdendo tempo, non sia mai che ci si diverte e basta, i panni nella cesta ci aspettano!)

Accanto a questo giochino ci metto pure i vari:

Giulia passione Veterinaria
Giulia passione Boutique
Giulia passione Chef
Giulia passione Dottoressa
Giulia passione Equitazione
Giulia passione Esperta di Bellezza
Giulia passione Maestra: In gita scolastica
Giulia passione Guardaparco
Giulia passione Giornalista
Giulia passione Pittrice
Giulia passione Protezione animali
Giulia passione Stilista
Giulia passione Arredatrice
Giulia passione Ballerina

BASTAAAA, lo so che lo state gridando anche voi, per forza.

Notate qualcosa di strano nei titoli?

Per quanto mi riguarda sì, ma non entrerei nel merito, basti dire: la educhiamo sin da piccola, non sia mai abbia voglia di fare altro, o magari quelle cose lì, ma senza essere etichettata come “donnetta”.

Fatto sta che ho immediatamente letto l’articolo: dovessi mai trovare il miracoloso modo di ingrandire il mio terreno gratis senza dover molestare telematicamente otto fanta-amici di Facebook!

E non c’era niente più di quanto si possa evincere giocandoci un po’.

Dopo aver fatto outing (ebbene, gioco pure io a Farmville) vorrei sapere: come mai se cerco un qualche tipo di guida, trucchi per progredire più velocemente, trovo principalmente interventi maschili?

Perché più della metà dei miei vicini di fattoria sono maschi?

Perché Farmville è etichettato come giochino per donnette? Quali sono le caratteristiche che lo rendono “per donnette”?

Outcast Mag #1

Un podcast che si chiama Outcast Mag? Ha un senso, ma è difficile da spiegare. Quindi scaricatelo, state a sentire e poi tornate qui e cliccate sulle pubblicità che non abbiamo per farci guadagnare un multiplo a caso di zero.
—————————————————————–
Immagine

Ed eccoci anche col Magazine, il podcast dedicato alle rubriche. In realtà ‘sto primo appuntamento è un po’ monco: gli manca un presentatore, perché io ero ancora jetlaggatissimo e mi addormento fra una frase e l’altra, e gli mancano pure un paio delle rubriche previste, perché così, non ci andava di farle. Ma insomma, meglio che niente, no?

Il sito (su cui ci potete ascoltare in streaming), sta qua.

Per abbonarsi su iTunes, si clicca qua.

Il feed RSS sta qua.

L’MP3 dell’episodio si scarica qua.

Ah, siamo pure su Facebook, qua.

Saludos!

Proiezione MGS: Philanthropy a Settimo Milanese

Penso che molti di voi siano a conoscenza della produzione cinematografica, tutta italiana ed indipendente, di Metal Gear Solid: Philantropy. Molto bene. Spesso mi capita di frequentare un cineforum nella mia zona dove oltre a venir proiettati film classici e di culto, viene dato anche spazio a lavori più indipendenti.

Questa volta Riccardo Riccardi, promotore del cineforum, supera se stesso invitando all’evento i ragazzi che hanno realizzato l’opera cinematografica di Snake e soci. Avremo in sala il regista e protagonista, nella parte di Solid Snake, Giacomo Talamini, la sceneggiatrice Valentina Paggiarin e il supervisore degli effetti speciali Alessandro Schiassi.

L’evento si terrà in quel di Settimo Milanese, Milano, a Palazzo Granaio, il 25 di Marzo alle ore 21.00. L’ingresso è gratuito.

Come sempre a seguito della proiezione ci sarà una discussione su quanto visto dove sarà possibile confrontarsi con i partecipanti del cineforum. Inoltre saranno a disposizione anche i realizzatori dell’opera, per soddisfare ogni curiosità riguardo la produzione.

Per chi non fosse a conoscenza di cosa sia Metal Gear Solid: Philantropy, lascio qui una breve descrizione dell’evento scritta dal buon Riccardo:

Metal Gear Solid è possibile paragonarlo ad un Citizen Kane dell’industria videoludica, il gioco infatti era la linea di confine più sottile fra cinema e videogame dove il giocatore a tutti gli effetti veniva messo alle prese con un film di spionaggio interattivo grazie ad un “protagonista” dotato di un ottima caratterizzazione e di un incredibile carisma, il tutto condito con una vera e propria regia alla base del gioco.

Metal Gear Solid: Philanthropy è un omaggio a tutto questo, ed è un vero e proprio film autoprodotto fatto da chi di cinema ne mastica tutti i giorni, la Hive Division, con alla regia Giacomo Talamini in veste anche del protagonista Snake, e con un cast tecnico di tutto valore che, per essere un’ autoproduzione, ha compiuto il miracolo.

Un esempio di cinema indipendente italiano che è diventato famoso in gran parte del globo. Recitato in inglese, è stato sottotitolato in oltre 20 differenti lingue; il regista Giacomo Talamini, la sceneggiatrice Valentina Paggiarin e il supervisore degli effetti speciali Alessandro Schiassi saranno presenti in sala a disposizione del pubblico che potrà intervistarli; una serata all’insegna dell’amore per il cinema e di come poter trasformare questa passione in realtà, un omaggio a chi in Italia possiede ancora un sano interesse per la settima arte, nel nostro paese purtroppo sempre più sottotono, vi aspettiamo.