Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

"2DGD_F0TH": 2000 download dopo


Pensieri altamente casuali riguardo al passato, presente e futuro di questo progetto. Un po' come un post-mortem, senza il "mortem".

Salve a tutti!

Ho pensato per un bel po' di scrivere questo post, da quando "2D Game Development: From Zero to Hero" raggiunse un totale di 2000 download nella propria pagina di itch.io .

Ora ho deciso di prendermi del tempo e ripensare a come questo progetto è iniziato, com'è evoluto nel tempo, com'è adesso e cosa potrebbe diventare nel futuro.

L'inizio

Ho passato un sacco di tempo a pensare di provare a sviluppare videogiochi, iniziando col libro " Making games with python and pygame " di Al Sweigart, che ho trovato estremamente interessante, ma con un approccio che non funzionava bene con me.

Il libro mi ha insegnato come creare giochi basilari, ma non riuscivo a comprendere i concetti base dietro ad essi, soprattutto dal lato del "game design" e della gestione di progetto: era puramente un "libro di programmazione", mi insegnava "come" fare.

Il mio approccio è capire ed assimilare i concetti base dietro alle cose, ed i "perchè" che stanno dietro a certe decisioni. Questo è quello che volevo scrivere in questo libro.

Dopo la mia laurea in Informatica, volevo creare quel libro che avrei voluto avere nella mia biblioteca: qualcosa che spiegasse i "perchè" insieme ai "come" dello sviluppo dei videogiochi, con un altro po' di cose connesse.

L'idea di base era quella di usare "pseudocodice" come modo di mostrare concetti in maniera strutturata, tenendomi però lontano da linguaggi di programmazione veri ed evitare di rimanere intrappolato in un framework.

Feature creep, sei tu?

Tutte le buone intenzioni del mondo non possono aiutare contro il feature creep, quindi mi chiesi

perchè limitarsi allo pseudocodice, sicuramente posso giocare coi comandi LaTeX e rimpiazzare i listati di codice in maniera dinamica

E così vennero a crearsi le "edizioni": prima Python, seguito da C++ (che è stato appena rinfrescato) ed infine il nuovo arrivato: JavaScript.

E poi, dopo 2000 downloads mi posi un'altra domanda:

a questo punto, è semplice cambiare il codice per aggiungere supporto alle librerie, no?

e così nacquero le "estensioni di linguaggio", quindi se adesso qualcuno volesse una edizione "Python + Pygame", potrebbero crearla (anche se questa caratteristica è estremamente sotto-documentata).

Dove siamo adesso

Questo progetto ha ora 4 edizioni principali: Pseudocodice, Python, C++ e JavaScript. È stato aggiunto in un discreto numero di collezioni ed ha anche ricevuto alcune recensioni su itch.io ed la repository è ferma a 61 "stars" su GitHub, più 9 su GitLab.

Volevo dare una ripulita al libro per renderlo più comprensibile, ma un paio di cose si sono messe di mezzo: la prima è la vita, la seconda è quella che penso sia una crisi d'identità.

Ho inteso questo progetto come un modo per consentire alla gente di "iniziare", oltre ad essere un "agglomerato di conoscenza" che li aiutasse a comprendere i concetti dello sviluppo di videogiochi, e qui è dove mi sono bloccato: potrei aver creato qualcosa di "troppo tecnico".

Voglio bilanciare semplificazione e "correttezza formale", ma temo che mi stia spostando sempre più verso la seconda, ignorando la prima. Questo libro potrebbe non essere più una "introduzione", tradendo il proprio nome: "From Zero to Hero".

C'è un sacco in questo libro: gestione dei progetti, scienze informatiche, matematica, rilevamento delle collisioni, marketing, ... eppure è distante dal "MegaLibro sullo sviluppo di videogiochi" che sogno. E forse, tentando di essere così tante cose insieme, come:

  • Un libro sul design di videogiochi
  • Un libro Python
  • Un libro C++
  • Un libro JavaScript
  • Un libro sul marketing di videogiochi
  • ...

potrebbe arrivare a fallire nel diventare almeno una di queste cose in modo soddisfacente.

Il futuro di questo progetto

Il futuro del progetto è ignoto: non so proprio dove virare questa nave, quindi penso che per ora aspetterò per vedere dove ci porta la corrente.

Terrò d'occhio il numero di download, così come commenti e suggerimenti, ma dubito che supporterò altri linguaggi da solo: tentare di scrivere in 3 linguaggi di programmazione assieme mi ha portato a pubblicare una edizione in C++ orribile che ho dovuto mettere a posto, 4 sarebbe un lavoro ancor più massiccio.

Quando la volontà di scrivere tornerà, sicuramente aggiungerò ulteriore contenuto, ma non sarà un aggiornamento massiccio. La versione 0.7.2 del libro sarà la versione principale per un bel po' di tempo, temo.

Forse tenterò di migliorare un po' il marketing su internet?

Il monologo emotivo

Personalmente, sono strattonato tra "questo è molto buono, non avrei mai pensato di arrivare a 500 download per la fine del 2021" e "vorrei che questo progetto avesse più trazione", ed entrambe queste emozioni sono equamente vere e non si cancellano a vicenda.

Sono infinitamente grato alle persone che hanno dato una possibilità a questo libro (e per proprietà transitiva, a me): rimango senza parole quando vedo il numero di download del progetto ed il fatto che è quasi sempre tra i 60 libri più popolari su itch.

Semplicemente mi piacerebbe avere una mano (lo so, mi sto ripetendo). Non mi dispiacerebbe avere delle "pull request" da revisionare un giorno, anche solo per conoscere la sensazione.

"Fonti Alternative"

Ho notato che alcune "fonti alternative" per questo libro sono spuntate in giro per internet, solitamente consentendo alle persone di scaricare una versione più vecchia del libro dai loro archivi.

Fintantochè tale distribuzione è gratuita, non mi faccio problemi, non conosco l'impatto sul numero di download di tali siti, ed alcune fonti le sottoscriverei volentieri: per esempio unglue.it e openlibrary sono fantastiche fonti alternative, anche se potrebbero avere edizioni più vecchie. Ma in ogni caso, sono fonti che distrubuiscono il libro gratuitamente e contengono un sacco di ottimi libri.

Per ogni tipo di uso commerciale, per favore, chiedete il permesso: incluso l'uso di questo libro come "libro di consultazione", in quanto non ho gran fiducia nella sua accuratezza.

Conclusione

È stato un viaggio lungo, e considerando le basse aspettative che avevo (iniziando da risposte "miste" su reddit e sondaggi con bassa partecipazione), sono comunque sorpreso che sono qui a parlare di 2000 download. Si parla di 4 volte quanto mi aspettavo inizialmente!

L'unica cosa che posso dire è che la mia testa è tanto incasinata quanto questo post. Se non peggio.

Grazie per tutto, state al sicuro.

Penaz.