Il mio primo o forse secondo post serio chiamato diario di sviluppo
Vi confesso una cosa: non sono uno sviluppatore di software. Però mi piace giocare a fare lo sviluppatore di videogiochi indie quindi ho pensato: “Perché non fare un bel diario di sviluppo di ciò a cui sto lavorando in questo momento?” Ebbene, in questo momento non sto lavorando a nulla. Vi parlerò quindi di questo nulla.
Per il gioco che sto sviluppando non ho assolutamente nessuna idea né, tantomeno, alcuna intenzione di completarlo e di ricavarne un prodotto finito.
Per assolvere questo compito, ho scelto Love2d, un framework basato su Lua, linguaggio che da sempre associo al Vaticano, essendo stato sviluppato inizialmente in un'università pontificia del Brasile (non so se è vero, ma è importante che questo rimanga vero nella mia testa, affiché si creino inconsci puntelli mentali del genere “Dio è con me”).
Avevo già conosciuto le bontà di questo framework ma la cosa più importante di tutte riguardo questo framework è che pesa meno di 10 Mb e somiglia vagamente al Python (sempre nella mia testa) ma senza la necessità di indentare.
Ci sono le tabelle, o tables, e si possono creare tabelle di tabelle di tabelle, se si vuole e si è virtuosi.
Comunque una delle cose più importanti di questo framework è che lo conoscevo quindi ero già capace di:
– Far comparire a schermo “Hello world”;
– Sostituire eventualmente “Hello world” con un'altra stringa di testo più significativa;
– Far apparire (dal nulla!) un'immagine jpg o png;
– Qualche suono;
– Cambiare stato, con un'apposita libreria che associa ciascun file di codice con uno stato a parte, stato richiamabile con appositi parametri tipo una funzione;
– Salvare con un'altra apposita libreria;
– Esportare una cosa potenzialmente inferiore ai 10 Mb.
Finora avevo fatto sempre tutto con il Notepad++ ma adesso mi sono trovato di fronte a nuove sfide, difatti non avevo alcuna idea né progetto per concludere alcunché, quindi ho dovuto sopperire alla carenza di motivazione con un paio di sterili stimoli tipici dei programmatori onanisti. Essi sono stati: 1) Un nuovo Ide che ho trovato in Zerobrane Studio. E' gratis o opensource (lo so che c'è una differenza ma non nel mio caso, specie per le mie poco significative motivazioni per le quali basterebbe una demo di ide che non salva manco il codice); 2) Una nuova libreria per interfacce grafiche in grado di semplificare enormemente (appunto) le interfacce grafiche, che ho individuato in SUIT.
Forte di questi due giocattolini/novità ma debole per l'assenza di idee e moventi interiori, ho creato una interfaccia menù con un titolo (“Fattoria Mallory”) e due pulsanti (“Comincia” e “Esci” che poi ho presto trasformato, un po' a malincuore, in “Start” e “Quit”).
Siccome non avevo un gioco in mente, ho pensato di proseguire con una specie di motore per introduzioni, roba con immagini e descrizioni prese da un file di testo che, una volta letto, crea una apposita tabella da scorrere per modificare la roba a schermo.
Poi ho pensato che forse dovevo adottare un concetto di gioco. Mi era venuto in mente di fare una roba tipo “Trova l'oggetto” dove lo scopo era individuare una sferetta verde piazzata casualmente in mezzo a un mare di sfere sgargianti e delle stesse dimensioni. Ma poi ho detto a me stesso: “Mah...”. Quindi sono tornato ad un mio pallino, una dinamica in grado oltretutto di sfruttare al meglio la libreria grafica SUIT: ho pensato così al gioco di carte. Adesso dovrei inventare il meccanismo del gioco di carte e implementarlo. Ma non ho la motivazione necessaria, nè (indovinate?) alcuna idea. Quindi?
Niente, questo era un diario di sviluppo, o devlog. Spero di non essere sembrato troppo autoreferenziale ma è tutto vero ciò che ho scritto, quindi mi auguro comunque di essere stato utile e di ispirazione.
P.S.: non è tutto, su Wikihow ho letto un tutorial su come creare un gioco di carte collezionabili. Lo sapevate che bisogna partire dall'ambientazione e non dalla meccanica di gioco? Peccato che non ho nessuna idea né sull'una né sull'altra...
Gippo for Comitato Yamashita