- Alex Ferri
Guida allo sviluppo di un videogioco - 5 passi che tutti gli sviluppatori dovrebbero seguire.
Aggiornamento: 9 mag 2021
Come creare un videogioco è uno dei principali argomenti di questo blog che, tra un articolo di approfondimento e l'altro, intende fornire consigli e strumenti utili per chi si approccia a questo mondo.
La progettazione è un compito importante e richiede più tempo di quanto si possa immaginare. Settare il progetto in maniera pulita fin dall’inizio aiuta a risparmiare parte del tempo durante lo sviluppo, soprattutto considerando che spesso si tende a scalare un'idea più del necessario (in questo video approfondiamo perché NON FARLO).
Come ogni progetto, tenere tutto sotto controllo è importante per evitare di perdersi tra mille file e cartelle.
Vediamo quindi quali sono I passaggi fondamentali per iniziare a sviluppare un videogioco:
1 - La scelta dell'engine
Prima di iniziare, è bene porsi una domanda fondamentale:
"Conosco qualche linguaggio di programmazione?"
Se la risposta è affermativa, le opzioni sono diverse:
Unreal Engine se usi C++
Il framework Phaser.js se utilizzi Javascript
E questi sono solo alcuni dei linguaggi coinvolti nello sviluppo di un videogioco.
Se invece hai già conoscenza di un linguaggio di programmazione, ma preferisci utilizzare un linguaggio di scripting proprietario, puoi scegliere GameMaker Studio 2 (qui un corso perfetto per principianti) con il suo GML, o Godot, con il suo GDScript.

Ma se non hai alcuna esperienza con la programmazione, potresti iniziare con Construct 3, Scratch, il Drag’n Drop di GameMaker Studio 2 oppure GDevelop, che permettono di procedere per programmazione a blocchi, senza l'utilizzo di codice, rendendo lo sviluppo di videogiochi accessibile a chiunque, persino ai bambini!

Puoi trovare una lista completa degli engine con i relativi linguaggi di scripting a questo link.
2 - La piattaforma
Hai selezionato il linguaggio di script e hai trovato l'engine che fa per te. Ora è il momento di scegliere la piattaforma su cui verrà esportato il gioco una volta finito. Infatti, nonostante sia lontano il momento in cui finalmente potrai rendere il tuo gioco giocabile, è bene avere chiaramente in testa quest'ultima fase.
Molti engine permettono di esportare solo per determinate piattaforme, anche se la maggior parte dei motori grafici permettono di esportare su qualsiasi piattaforma disponibile sul mercato: Windows, MacOS, iOS, Android, tutte le principali console e l’ultimissima piattaforma di trend, ovvero HTML5.
L’HMTL5 permette infatti di fare giocare il tuo gioco direttamente sul web tramite qualsiasi dispositivo munito di browser.
Rendendo il tuo gioco accessibile a chiunque in un batter d’occhio.

A questo punto è importante capire le funzionalità base del IDE (Ambiente di Sviluppo Integrato) associato all'engine.
Alcuni engine hanno il proprio IDE integrato, mentre per altri avrai bisogno di scaricarne uno per poter iniziare a programmare il tuo gioco.
Darò per scontato che tu sappia già che tipo di videogioco, anche se si trattasse di sviluppare solamente un piccolo prototipo. In caso contrario, puoi schiarirti le idee con questo video.
3 - L'organizzazione del progetto
È giunto il momento di aprire l'engine e iniziare a darsi da fare. Generalmente, si parte con l'organizzazione delle risorse.
Le risorse sono gli asset principali che compongono tutti gli elementi presenti nel tuo videogioco, come gli sprites, effetti sonori, font del testo, modelli 3D, livelli e così via…
Ad ogni risorsa, assegna un prefisso diverso.
Es. gli sprites avranno la S + il nome specifico della risorsa.
Pro tip: rinomina sempre tutte le risorse utilizzate in modo che siano più chiare da capire.

Puoi anche raggruppare tutte le risorse dello stesso tipo all'interno di un'unica cartella, in modo da poterle sempre trovare facilmente.
Queste piccole abitudini aiutano a gestire con semplicità tutte le fasi di sviluppo del progetto, che abbia solo qualche asset o che finisca per diventare un colossal AAA.
4 - L'utilizzo del codice
Siamo finalmente giunti alla parte più meccanica e importante del processo: la struttura del codice.
Ipotizziamo di voler creare un platform game in stile Super Mario. Quali sono le principali caratteristiche? Il numero di vite, il punteggio del giocatore, la velocità di movimento, l’altezza del salto e la forza della gravità.
Definite queste variabili strettamente correlate al processo di game design, non facciamo altro che settarle all’interno del nostro codice, in modo da avere già tutto ciò di cui abbiamo bisogno per definire le dinamiche di gioco.

Pro tip: Commenta SEMPRE tutte le linee del codice, così che la versione di te del futuro possa rileggere e capire cosa è stato fatto tempo prima senza dover perdere ulteriore tempo a decifrarne il contenuto.

Da non trascurare è sicuramente l'utilizzo dell'inglese: potresti ritrovarti a dover condividere il progetto con qualcuno che non fa parte del tuo team e che si tratti di un potenziale publisher o di una risorsa da aggiungere alla squadra, è importante utilizzare lo stesso lessico e la stessa terminologia condivisa nel settore.
Non a caso, si parla di codice...
5 - La suddivisione delle task
Ultimo ma non meno importante, è il tracciamento delle task e delle implementazioni.
Fortunatamente esistono tantissimi tool e servizi online che permettono di farci da reminder sulla progressione del gioco.
Personalmente, ti consiglio di utilizzare software come Hack N Plan o Trello.
Trello è una vera e propria bacheca digitale in cui è possibile gestire le varie task da compiere per il nostro progetto.
Trello permette inoltre di avere sott'occhio tutto il processo di sviluppo in modo pulito e ordinato. Insomma, questo strumento può salvare la vita anche agli sviluppatori più incasinati!

Ed è tutto per questo articolo di Colpa di Cypher!
Se vuoi saperne di più, scrivici. Sarò felice di fornirti qualche consiglio in più o confrontarmi con te sull'utilizzo di altri strumenti e metodologie.