
Approfittando del restyling delle mie librerie di codice, iniziato un po’ per sfida in occasione del corso che ho tenuto, c’era una mezza idea di vedere che impegno poteva avere il porting anche su Windows Phone 8 dei giochi già realizzati (o di quelli futuri). Tenendo conto che (stando a quanto si legge) ora Microsoft dovrebbe consentire lo sviluppo in C/C++ il problema principale è chiaramente il render su schermo – tenendo conto che per PC/iOS/Android e Mac utilizzo le openGL, mentre su WP8 è necessario usare le directX 11. Nelle ultime due sere ho creato quindi una versione del layer ridotto che ho utilizzato per Z@xxon Clone (in realtà una versione un po’ più ampia) intanto per directX 9 (le più recenti che riesco ad usare sul mio buon XP) confidando che l’ulteriore step necessario per arrivare alle 11, una volta identificate le problematiche e le peculiarità del passaggio, sia una operazione relativamente semplice, da delegare al momento in cui potrò usare una macchina più adatta alla cosa.
Read more »

Con il consueto supporto di Andrea Capitani ecco a voi anche l’ultimo “pezzo” mancante del progetto Z@xxon Clone, ovvero apk, progetto Android e micro modifiche ai sorgenti per la gestione del tasto back. Come avrete modo di vedere anche in questo caso è evidente che la scrittura del codice C + openGL vi garantisce di procedere in modo multipiattaforma senza quasi nessun problema. Read more »

Con la lezione di questa sera si è conclusa la mia esperienza da “insegnante” di programmazione videogiochi – sei ore per dare una base teorica a tutto tondo, e per mostrare due giochi realizzati da zero ad hoc per il corso, uno 2D (un clone di PacMan) e uno 3D (un clone povero povero di Zaxxon 3D – che però ho la sua dignità come endless runner). Poche sicuramente per formare qualcuno su un argomento così vasto, ma abbastanza (spero) per lasciare almeno la traccia di un ricordo, nel caso a qualcuno dei presenti capiti poi di cimentarsi davvero nella creazione di un gioco senza il supporto di librerie o ambienti ad alto livello.
Read more »

Ah, nel caso siate curiosi di sapere che gioco 3d vedremo di (ri)costruire insieme questa sera, eccovi uno screenshot. Il nome Z@xxon è assolutamente esagerato per quanto proporrò – ma anche di questo videogame (cmq “completo”) rilascerò i sorgenti (licenza MIT) e i progetti per PC/iOS/Android nei prossimi giorni.

A questo indirizzo trovate ora uno zip che contiene l’apk del gioco direttamente da provare e la cartella completa dei sorgenti per compilare anche sotto Android questo progetto. Come avrete modo di vedere Andrea Capitani ha dovuto fare qualche piccola modifica agli “originali” per la gestione (praticamente obbligatoria) del tasto back e (come avevamo accennato) del restore dei texture in caso di switch di applicazione attiva. Vedremo (probabilmente insieme a lui) questa sera al corso queste differenze prima di parlare del progetto di un gioco 3d – tema di questa ultima lezione.

L’impressione che questa seconda lezione (quasi al 100% tecnica) sia andata meglio della prima, più teorica, potrebbe chiaramente essere sbagliata, ma quello che rimane certo è che, in poco meno di due ore ininterrotte, abbiamo realizzato quanto “promesso” dallo slogan del corso, mostrando passo passo come realizzare un gioco (2d) in grado di girare sia su PC sia su iPhone/iPad.
Come accennato nei prossimi giorni scriverò qualcosa su quanto proposto, ma intanto a questo indirizzo trovate uno zip contenente il progetto (versione Visual Studio 6.0 e CodeBlocks per PC) con la versione “finale” di questo clone di PacMan, e a questo indirizzo trovate invece il progetto XCode per iPhone/iPad (con gli stessi sorgenti e le stesse risorse, con solo il progetto e i sorgenti in object-C di contorno). Ricordo che per mettere sul proprio dispositivo il gioco compilato per iOS dovrete cambiare i settings per usare la vostra firma da sviluppatore (nel progetto è indicata al momento la mia, che non funzionerà sul vostro computer). A breve (in base alla disponibilità di tempo di Andrea Capitani che si occuperà della cosa) posterò anche il progetto per Android.
Se avete problemi e/o se c’è qualcosa che non va come deve non esitate a scrivermi.
P.S. nello zip per PC c’è anche l’exe già compilato (eventuali messaggi strani del vostro browser potrebbero dipendere da quello).
P.P.S. i sorgenti sono rilasciati, come anticipato, sotto licenza MIT. Se vi possono essere utili, quindi, usateli tranquillamente. Importante: tutte le risorse utilizzate hanno la fonte esatta da dove sono state recuperate, in testa a g_main.c. Le risorse sono inserite nel progetto per educational purpose – comunemente accettato come fair use. Il che, ricordo, non vuol dire che sono ulteriormente utilizzabili per scopi che non siano analoghi (la licenza esatta per ogni elemento è cmq descritta nello stesso file).

…e dopo la prima lezione (più teorica) domani sera si terrà la seconda lezione, più pratica, del corso per realizzare videogames, che, da esplicita richiesta degli studenti, seguirà passo passo la realizzazione di un gioco 2D, pensato per potere girare su PC, tablet e cellulari (iOS e Android). Tenendo conto che l’aspetto di Game Design è già stato portato avanti da Gabriele Ferri, e quello di grafica da Riccardo Cavalieri nelle sezioni precedenti ho pensato di proporre lo sviluppo di un clone di un classico del genere (Pac Man, indiscusso capolavoro Namco, rinominato per l’occasione P@cM@n) prendendo le risorse grafiche direttamente dal web, in modo da focalizzarci principalmente sui (tantissimi) aspetti tecnici/pratici, costruendo su qualcosa di noto a tutti.
Una nota di colore: considerando poi cosa è legittimo e rapido installare come software sui computer dei locali del Net Garage di via Barchetta (dopo questa parte corso fisicamente si tiene) la settimana scorsa ho preparato il progetto utilizzando CodeBlocks – ide opensource disponibile per PC, Linux e Mac, che si appoggia nella distribuzione che ho scaricato su MinGW e che ha anche una versione portable – per poi, chiaramente, compilare il tutto anche per iPhone/iPad usando XCode su Mac OSX (pur sapendo che non mi sarà possibile mostrare anche questa versione).
Per i curiosi e gli interessati faccio presente che nei prossimi giorni il progetto completo (con anche la parte per Android, proposta con il supporto di Andrea Capitani) sarà liberamente scaricabile da questo sito, molto probabilmente con licenza MIT, e che verrà messo on-line anche un “riassunto” di quanto proposto, in modo da potere comprendere meglio quanto avrete modo di consultare.
Era un po’ che non mi cimentavo in modellazione 3D di figure umanoidi lowpoly (per Street Basket: One on One ho fatto solo la modellazione dell’ambiente di gioco) e questo weekend ho ripreso un po’ in mano Wings3D (di gran lunga il mio programma preferito per questo tipo di attività). Al di là di qualche piccolo esperimento giusto per ricordarsi come funziona l’interfaccia (come la figura seguente, ispirata a Mini Gore), qualcosa di interessante magari è pure uscito.

Read more »

Come si accennava nel post precedente (in cui si parlava dei progetti che il Comune di Modena + Servizio Biblioteche + Circuito NetGarage mostreranno al loro stand a PLAY 2013), è ormai in beta un nuovo gioco su cui ho lavorato in queste ultime settimane, intitolato Pantagruel. Read more »

L’attesa è stata purtroppo più lunga del previsto, ma alla fine anche la versione iOS (universal) di Street Basket: One on One è disponibile sull’AppStore. Se gli i giochi di sport vi piacciono e volete anche solo dare una occhiata a cosa siamo stati in grado di realizzare, sappiate che per la prima settimana l’applicazione sarà gratuita (per passare dopo a 99c) quindi questo è il momento migliore per scaricarla senza riserve.
Buon divertimento :-)