Il game development, e non è una novità, è in un momento abbastanza difficile, basti vedere quanti dei titoli presentati all’E3, subito prima dell’uscita subiscono mutamenti qualitativi che ne vanno a peggiorare il comparto tecnico.
E come se non bastasse anche il gameplay è spesso un incognita per le nuove IP.
Alcuni di fronte a cotanta scarsità di idee ed attaccamento al denaro, scelgono di intraprendere anch’essi la strada delle grandi software house, diventando sviluppatori indie, portando cosi un po d’aria fresca nel settore.
Oggi giorno diventare sviluppatori indie è piuttosto semplice, ed il materiale necessario varia a seconda dell’engine utilizzato, noi in questa circostanza faremo riferimento a Unity 3D, un motore indie molto versatile e dalle grandi potenzialità, la versione 4, ovvero l’ultima disponibile, offre un area di lavoro di tipo “vuota”, a differenza di Unreal o Cry che invece ne offrono una di tipo “derivata” (Unreal da Unreal tournament, e Cry da Crysis).
Per questo vi ritroverete a dover partire da zero, con un progetto praticamente privo di qualsivoglia modello, sia esso uno scenario o un semplice personaggio, ed anche se da una parte ciò non vi darà scusa per rimandare, dall’altra vi formerà in modo più rigoroso, semplificandovi gli obiettivi una volta raggiunta la forma mentis adeguata per gestire le varie interazione da codice.
Ma in se l’engine (a meno che esso non sia di un livello di completezza tale, da consentire di fare a meno di mezzi esterni) è solo la punta dell’iceberg, in quanto ad esso andranno accompagnati ulteriori tools, quali:
- Modellatore di elementi inorganici (oggetti).
- Modellatore di elementi organici (personaggi).
- Applicatore ossa per modelli organici (generalmente disponibile sul modellatore).
- Animatore (anch’esso generalmente disponibile sul modellatore).
- Editor di materiali visuale (a meno che non vogliate usare la versione IDE di Unity)
- Sistema di Motion Capture.
Parte di quanto scritto nella lista non servirà, o almeno non a chi farà a meno di creature viventi complesse.
Fatto ciò bisognerà acquisire una certa padronanza con gli elementi base dell’engine, ovvero:
Material: Il renderizzarore dei dettagli, che caratterizzano il guscio dei nostri modelli, come: riflessione, rilievi, illuminazione propria, taglio, ombreggiatura predeterminata ecc…
Shader: Colui che si occupa di fornire i suddetti dettagli, sfruttando le peculiarità della GPU per calcoli più o meno complessi a seconda dei casi. Il linguaggio utilizzato è il CG.
Script: Il sistema di interazioni in game, generalmente utilizzato per: spostamento, rotazione o dimensione. I linguaggi disponibili sono: Js e C#.
Mecanim: Il gestore ossa personaggi ed animazioni presente dalla versione 4, che consente non solo l’esecuzione di una singola animazione, ma anche di una più complessa transizioni derivata dalla fusione di 2 animazioni, evitando così brusche interruzioni.
Cubemap: Un estensione del material, che mediante la disposizione avvolgente di una singola texture, crea una riflessione dinamica a loop, per ogni angolo di visione.
Lightmap: un sistema di reindirizzamento della luce basato sulla sua intensità, il quale genera una serie di texture applicate a tutti gli elementi presenti scena in forma secondaria, ovvero senza interferire con quanto scelto in editor.
Per tutto ciò che non riguarda gli Shaders, la documentazione gratuita online messa a disposizione dal team Unity, riesce a sopperire a tutte le necessità dello sviluppatore, per gli stessi Shaders invece il manuale nVidia può risultare utile.
Al suddetto elenco va infine aggiunto il pacchetto “Image effects” (disponibile solo con licenza Pro), che aggiunge ulteriori effetti alla scena in caso di necessità, come ad esempio: Ambient Occlusion, Antialiasing post processing, Glow ecc…
Indie development: Le premesse