Salve a tutti, cari FollowHz!
Come ben vi ricorderete, io sono uno sviluppatore di siti web e videogiochi, ed oggi, vi introdurrò al mondo della programmazione focalizzandomi sullo sviluppo di videogiochi. Naturalmente, è chiaro che questo, quindi, è il primo di una serie di tutorial sull’argomento.
Prima di tutto, chiariamo il concetto di programmazione: tale sostantivo indica tutta quella serie di attività tecniche che, grazie ad un linguaggio di programmazione per l’appunto, si ottiene un software che agirà secondo il suo codice sorgente che gli abbiamo scritto a monte.
Una volta, i linguaggi di programmazione erano molto più complessi, detti proprio “a basso livello” perché erano più simili al linguaggio macchina ma ora, per rendere più accessibile a tutti la programmazione e per semplificarla, la maggior parte dei nuovi linguaggi di programmazione che nascono sono detti “ad alto livello” proprio perché sono più simili al linguaggio umano.
DEFINIZIONE DI SVILUPPARE UN VIDEOGIOCO
Sviluppare un videogioco, significa, creare un’opera videoludica. Queste opere offrono all’utente finale dell’intrattenimento che può essere fine a se stesso o per scaturire delle emozioni, oppure, persino far riflettere riguardante al tema trattato dal videogioco.
Il Team di Lavoro
Sebbene io sviluppi ancora i miei videogiochi da solo, sappiate che sia indie che aziende sono formati da più persone. In particolare, il team minimo richiesto è formato da questi ruoli: uno o più programmatori, uno o più gamedesigner, uno o più 2DArtist e uno o più 3DArtist.
Il Modo di Lavorare di uno Sviluppatore
Lo sviluppatore avrà il compito di rendere, naturalmente, giocabile il gioco all’utente finale seguendo le direttive del gamedesigner. E questo, credo sia il suo compito più evidente, ma non è l’unico: lo sviluppatore ha anche il compito di mantenere il codice pulito e, soprattutto, più corto possibile per questione di prestazioni. Inoltre, sempre per questione di prestazioni, se ad un certo punto, un oggetto sparisce dal gioco per qualsiasi motivo (ed è giusto che succeda) e non torna mai più (come anche un banale proiettile), quell’oggetto non deve stare a fluttuare nel gioco anche se è ben nascosto dal giocatore, perché il dispositivo che sta eseguendo il gioco lo continuerà a processare inutilmente con inspiegabili cali di prestazione. Perciò, è sempre compito dello sviluppatore far sì che quell’oggetto venga letteralmente distrutto e non esistere più.
Perché Iniziare a Sviluppare in Unity?
Ho scelto questo Engine pur sapendo che molto probabilmente non lo userò più solamente perché l’ho trovato molto semplice da usare ed imparare. Ma non è inutile impararlo perché i concetti della programmazione dei videogiochi sono gli stessi per ogni Engine, o comunque farò in fretta ad imparare alcune piccole differenze. Inoltre, c’è da dire che, per quanto Unity goda di una brutta fama, ce l’ha solo da parte dei giocatori, tant’è vero che molti giochi vecchi di Assassin’s Creed hanno parti gestite proprio da questo Engine, come la gravità, ad esempio.
Come vi ho spiegato, gli script dovremmo svilupparli poiché altrimenti quando metteremo “Play”, nulla si muoverà. Per fare degli script, dovremo aver bisogno di un qualsiasi editor di testo che conosca il C#, altrimenti, vi complicherete la vita.
L’editor lo paragono spesso al tavolo da cucina in cui gli sviluppatori creano la loro arte, ma se il tavolo non aiuta, in questo caso, non conoscendo il linguaggio usato, sarà tutto molto più complicato. Il “tavolo”, o meglio, l’editor di testo consigliato da me è Visual Studio per chi possiede Windows, mentre per chi possiede un Mac, Unity ha integrato un suo editor di testo che conosce, naturalmente, C# che può essere usato anche dagli utenti Windows, a vostra totale discrezione.