I videogiochi, tutti li conosciamo, non tutti li consideriamo una forma di intrattenimento, ma ormai non si può negare la loro importanza e negli ultimi decenni hanno visto un considerevole sviluppo.
Dopo anni in cui i videogiochi mi hanno sempre sostenuto, decisi di provare a crearne uno, per quanto basico, e l’occasione si è presentata quando un amico mi ha chiesto una mano per realizzare un gioco molto semplice, uno spaceshooter:
Il player controlla una navicella e deve eliminare i nemici a schermo per un numero pressoché infinito di ondate e raggiungere il punteggio più alto possibile venendo colpito non più di due volte.

Recuperati degli assets online potevamo finalmente cominciare, il mio amico, che da qui in poi indicherò con D, aveva già preparato del codice di base usando Python e Turtle, ma divenne chiaro che Turtle non era adatto, quindi riscrissi l’intero codice con Pygame-ce, un modulo pensato per i videogiochi, e introdussi i primi aspetti fondamentali, il player, le dimensioni della finestra e l’organizzazione del codice.
Fu qui che capì l’importanza del debug e di tenere un occhio su come si evolvono le variabili internamente.

Insieme lavorammo poi ai nemici, i proiettili, il punteggio e infine il gameover.
Particolare è come abbiamo lavorato ai proiettili, D realizzò un prototipo con due classi separate per i laser del nemico e del player, io optai per una classe singola, così da non duplicare codice e rendere esclusivo solo il necessario.
Per quanto un gioco semplice, è un esperienza che non dimenticherò, in fondo è stato il primo gioco cui ho lavorato, e l’esperienza è stata più formativa di qualunque libro, creare e risolvere i problemi è un esperienza che insegna, insegna a trovare come prevenirli, risolverli, e in futuro può aiutare a risolvere altri problemi per analogia.