Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Un nuovo progetto, un esperimento, un'esperienza di insegnamento e di apprendimento


Breve presentazione di "2D Game Development: From Zero To Hero": un progetto che mi piacerebbe veder crescere

Buongiorno a tutti,

Oggi vorrei parlare di una piccola idea che ho avuto nella testa per diverso tempo e che solo poco tempo fa (insieme ad alcuni amici) ho deciso di mettere in pratica.

Tale idea ha preso forma nel progetto che ho chiamato "2D Game Development: From Zero To Hero": essenzialmente un libro riportante le mie conoscenze (e nel futuro spero quelle di molti altri) nell'ambiente dello sviluppo di videogiochi 2D.

Il libro si articola in diverse sezioni, tra cui:

  • Alcune basi di logica, matematica ed informatica,
  • Introduzione al "Game Loop",
  • Rilevamento e reazione alle collisioni,
  • Bilanciamento dei giochi,
  • Creazione dei propri assets,
  • Game Jams,
  • Generazione procedurale,
  • Patterns e contenitori,
  • Motori, frameworks, risorse gratuite di apprendimento,
  • Marketing del proprio gioco,
  • Molto altro...

L'obiettivo è ottenere una risorsa usabile da chiunque, senza avere conoscenze specifiche riguardanti lo sviluppo di videogiochi, che consenta di imparare i principi base per la creazione di un videogioco.

Quale linguaggio di programmazione verrà usato?

Il libro principalmente farà uso di pseudocodice, ma ho deciso di dare la possibilità di "tradurre" il codice in diversi linguaggi, selezionabili modificando il file metadata.yml . Questo consente di ottenere diverse versioni di questo libro, perfettamente adatte alle conoscenze del lettore, a fronte di una maggiore difficoltà (ma neanche troppo alta) nella scrittura dello stesso.

Per ora i linguaggi disponibili sono:

  • Pseudocodice
  • Python

In che lingua è disponibile il libro?

Per la massima copertura, il libro sarà scritto in inglese, ma nulla impedisce di effettuare un fork del progetto e scriverne una versione in un'altra lingua.

Esisterà una versione stampata?

Oltre alla versione che sarà stampata dal singolo, non esisteranno versioni stampate, soprattutto per una decisione sul fronte della licenza. Inoltre una risorsa che sperabilmente avrà un ciclo di aggiornamenti molto breve (molti cambiamenti in poco tempo), non avrebbe molto senso stampare.

Quale Licenza è usata?

Il libro è distribuito con licenza Creative Commons BY-NC (Attribuzione-Non Commerciale), questo permetterà a tutti di contribuire, vedere il proprio contributo elencato nel libro e non ritrovarsi con il proprio lavoro pubblicato da qualche azienda con pochi scrupoli senza autorizzazione.

Questo tipo di licenza non è considerata una licenza "Free Culture" (Cultura libera) a causa della limitazione "non commerciale", ma penso sia un buon compromesso.

Quanto Lungo sarà il libro?

Questo non posso dirlo, ma per ora abbiamo già superato le 70 pagine!

Perchè hai creato questo progetto?

Perchè no? Ritengo un ottimo modo di imparare qualcosa sia cercare di insegnarlo, ed è quello che sto facendo: sto imparando nuove tecniche, ricerco, cerco di spiegare e riporto nel libro.

In futuro spero che qualcun altro che abbia conoscenze diverse dalle mie contribuisca al libro così che io possa imparare qualcosa in più.

Il libro diverrebbe un'esperienza di insegnamento e di apprendimento allo stesso tempo.

Se volete leggere o contribuire aprite la repo gitlab , il progetto è disponibile anche su questa repo github .

Grazie per aver letto, alla prossima!

Penaz