• Non ci sono risultati.

3.4 I 4 Pilastri

3.4.2 La Scelta della Tecnologia

Quando si inizia a creare un videogioco, solitamente gli sviluppatori in erba non si pongono troppe domande su quali tecnologie usare per creare il proprio progetto, ma è un errore madornale non farlo: la scelta tecnologica concorre direttamente al tipo di esperienza e game design che verrà sviluppato. La scelta tecnologica si basa fondamentalmente sul tipo di game engine utiliz-zare per la realizzazione del proprio prodotto. I game engine o, in italiano, motori graci sono la parte principale software che sta dietro la creazione di un videogioco con graca in tempo reale; la graca 3D ha apportato una rivo-luzione nel campo dello sviluppo tecnologico: hanno cambiato gli hardware, i software e sono cambiate anche le competenze richieste ai programmatori del settore.

Figura 73: Il termine "motore graco" è nato intorno alla metà degli anni novanta. Allora ci si riferiva solo ai videogiochi 3D, mentre ora, si è molto diuso anche su altri generi di giochi e non solo 3D.

Divennero popolari dal 1993, quando uscirono due videogiochi:

Doom (1993) e Quake (1996) (in gura), gli unici no a quel tempo, ad utilizzare motori graci. Vista la popolarità di quei due giochi, molte altre aziende invece di creare da zero i loro giochi preferirono comprare da chi creò Quake e Doom pezzi di codice e usarli come base per il loro gioco.

Molti dei programmatori graci scrive un codice che gira sulla GPU e non sulla CPU standard: è parte integrante della strategia di business nel mondo gaming, la riutilizzabilità del codice. I game engine servono proprio a spingere in questa direzione: software che forniscono ambienti di sviluppo preimpostati in cui costruire le proprie produzioni, permettendo al program-matore di dedicarsi solo agli aspetti specici del gioco, quindi sfruttare quello che è già presente all'interno del motore stesso. Questo dipende da che game engine si sta usando; in generale, ogni motore graco che si rispetti deve avere alcune funzionalità di base: gestione degli spazi, collisioni, sica, in-telligenza articiale, suono, animazioni, ecc. Ma ciò che rende diversi i vari motori graci è il motore di rendering, essenziale in ogni game engine, ela-borando informazioni in ingresso e le trasforma in rappresentazione graca. I motori graci si basano su dati forniti dai pacchetti integrati e dai dispositivi di input (tastiera, mouse, ecc), quindi fanno da "medium" tra hardware e

software. I motori graci sono costruiti nella maggior parte dei casi su delle API grache; per consentire ai motori graci l'accesso hardware vengono usate librerie di basso livello tipo DirectX. Prodotti come Unity, che punta tantissimo sulla democratizzazione dello sviluppo video-ludico, hanno con-sentito alla creazione di numerosi studi indipendenti, riducendo la barriera d'ingresso nel settore per molti programmatori e developer; altri come Un-real Engine 4, puntano ad orire qualità più elevata, più vicina ai prodotti tripla A. Va sottolineato come grazie alla sempre maggiore specializzazione dei programmatori in ambito di game engine, durante lo sviluppo di numerosi giochi sono stati prodotti grazie all'utilizzo di engine prodotti ad hoc.

Figura 74: Per lo sviluppo di Horizon Zero Down, sviluppato per Ps4 da Guerrilla Games nel 2017, è stato utilizzato un motore di gioco customizzato chiamato Decima: concepito ed utilizzato la prima volta per un altro titolo prodotto dalla software house, ovvero Killzone: Shadow Fall, è un engine che possiede sistemi di AI, un motore sico integrato ed è in grado di supportare la risoluzione 4K e l'uso dell'high dynamic range imaging.

La varietà e le possibilità oerte dai game engine, permettono agli svi-luppatori di fare scelte ben speciche in funzione del design che poi verrà implementato: se si ricerca il realismo, occorrerà optare per un determinato motore graco, ma dovrò tenere conto dei costi produttivi, sia in termini tecnici che economici; se opto per l'utilizzo di un motore open source, potrò lavorare su un progetto con meno costi produttivi, ma con possibilità realiz-zative sicuramente inferiori. Ad esempio, CryENGINE è il motore di gioco utilizzato da Crytek, un'azienda fondata dai fratelli Cevat Yerli, Avni Yerli e Faruk Yerli: CryENGINE vanta una graca tra le più potenti di tutti i motori di gioco attualmente sul mercato.

Figura 75: Crysis, sviluppato nel 2011 da Crytek, ad oggi risulta ancora uno dei giochi con la graca più potente da supportare per le piattaforme da gioco in commercio.

D'altro canto Frostbite Engine, creato da Digital Illusions CE viene utilizzato per creare sparatutto (genere in cui il gameplay è focalizzato sul-l'uso di armi da fuoco) in prima persona ed ha svolto un ruolo importante in quasi tutti i giochi di EA Games, come ad esempio le ultime iterazioni di FIFA. Anvil Engine è stato creato da Ubisoft per essere utilizzato dal-l'azienda ed è molto apprezzato per i livelli elevati di intelligenza articiale.

Mentre Source è un motore di gioco 3D, sviluppato da Valve Corporation ed uscito nel 2004, molto essibile; fra le sue caratteristiche si possono citare il sistema di render basato sugli shader, l'accurata sincronizzazione labiale, un sistema avanzato per realistiche espressioni facciali e un modello sico molto accurato.

Figura 76: Portal 2, sviluppato da Valve nel 2011, è un videogioco "rom-picapo" dove viene sfruttata pienamente la simulazione sica interna del Source Engine.

I game engine non sono gli unici ingranaggi che determinano la scelta tec-nologica, quindi la direzione artistica del progetto; infatti se i motori graci riguardano il lavoro del programmatore o dei developer più tecnici, esisto-no altri software sviluppati appositamente per facilitare il lavoro dei 2D/3D artist: sono programmi dedicati alla realizzazione di modelli tridimensiona-li; i più noti sono Maya o 3D Studio Max dato che sono i più utilizzati all'interno dell'industry, ma non meno potenti o funzionali sono Blender, Modo o Houdini. Applicazioni di questo tipo consentono di modellare personaggi, oggetti e ambienti partendo da un semplice solido geometrico composto da poligoni, agendo poi con appositi strumenti di trasformazione, sulle componenti di tali poligoni.

Figura 77: Maya è un potentissimo tool di modellazione utilizzato forte-mente nel settore del gaming con una struttura logica basata sui nodi.

Altri software hanno invece un approccio molto più vicino alla scultura tradizionale e alla modellazione della creta e dell'argilla: ZBrush è il più famoso e permette di operare su un enorme numero di poligoni con strumenti di scultura molto simili a quelli analogici, garantendo un altissimo livello di dettaglio. Dal momento che i motori graci non riescono a gestire in tempo reale un grandissimo numero di poligoni a schermo, la prassi lavorativa è quella di trasferire tale livello di dettaglio dal modello high-poly, composto da milioni di poligoni, a quello low-poly, composto da un numero ridotto di poligoni e che andrà inserito nel motore di gioco, tramite un processo baking.

Il risultato di tale processo è la cosiddetta normal map, ovvero una texture, un'immagine bidimensionale; questa, una volta applicata al modello low-poly, darà l'illusione della presenza di una gran mole di dettagli che, pur non essendo materialmente presenti in forma di poligoni nel modello low-poly, reagiranno coerentemente alle variazioni di illuminazione.

Figura 78: ZBrush è un software importantissimo per la modellazione più tradizionale: l'utente infatti agisce come uno scultore e deve avere conoscenze anatomiche per realizzare progetti di un certo tipo.

Le texture servono a caratterizzare personaggi, oggetti ed ambienti: la loro produzione è adata ad artisti che lavorano con software specici, o anche il più generico Photoshop, che si stanno diondendo rapidamente an-che altre applicazioni an-che consentono di "colorare" direttamente l'oggetto tridimensionale: i prodotti più diusi sono quelli dell'Allegorithmic e della Quixel, ma sono usati anche 3DCoat e Mari.

Per semplicare o velocizzare alcune fasi si inseriscono nella pipeline di pro-duzione altri software sussidiari, come Marvelous Designer, utilissimo per realizzare vestiti e tessuti, SpeedTree per la vegetazione e WorldMachine, per terreni di grande estensione.