Dopo l’interessante INTERVISTA realizzata ormai secoli fa, torniamo a parlare di LUCA CRISAFULLI, appassionato e dotato programmatore che qualche giorno fa è diventato ufficialmente un Google Developer!
E quale miglior occasione per festeggiare l’evento se non quella di raccontare la nascita e lo sviluppo del suo primo progetto ufficiale?
Come avrete intuito dal titolo stiamo parlando di una versione dello storico Arkanoid, sviluppata per il sistema operativo Android, grazie al versatile linguaggio Xamarin.
Sarà proprio Luca, però, a raccontarci in dettaglio come è nata l’idea realizzare una versione mobile dello storico titolo Taito!
“A causa di alcune vicissitudini lavorative, un piccolo “buco” di 2/3 mesi dopo 25 anni ininterrotti come programmatore, ho deciso di vedere se ero ancora capace di sviluppare ad 8 bit, come ho fatto fino a 32 anni fa. Ovviamente sul mio amato Commodore 64.
Grazie anche ad alcuni gruppi Facebook di retroprogrammazione mi sono installato l’IDE di cross-development chiamata CBM Prg Studio, scaricabile liberamente a questo INDIRIZZO
In coppia con il famoso emulatore VICE è possibile comodamente programmare con un editor moderno e immediatamente testare il proprio codice BASIC od ASM senza pericolo di perdere il lavoro a causa di un crash: tutti i sorgenti sono sempre lato PC.
Prima cosa da fare quando si è davanti ad un Commodore 64? Visualizzare la mongolfiera e farla spostare in giro per lo schermo. Però poi ti fai ingolosire e decidi di spostarne otto contemporaneamente facendoti aiutare anche da un po’ di ASM.
E qui il risultato:

Ero ancora in grado di produrre qualcosa di decente pur con le limitatissime risorse hardware e software che il Commodore 64 e il suo 6502 possono oggi darti. La successiva sfida è stata quella di programmare, avvalendosi del solo BASIC V2, un clone di Breakout/Arkanoid. Questo challenge era organizzato da un gruppo Facebook italiano di retroprogrammazione ad 8 bit.
In due settimane il gioco era pronto, molto focalizzato sulla esatta simulazione della collisione pallina/mattoncino e del relativo rimbalzo (magari un po’ a discapito di grafica ed orpelli vari):

Adesso però volevo rendere le cose più interessanti e mi sono chiesto: “Su quale altro sistema potrei implementarlo?”. E la scelta è caduta proprio sull’opposto dell’ambiente precedente: applicazione per smartphone Android usando l’ultimissimo prodotto Microsoft disponibile: Xamarin.Forms 4.
I primi esperimenti promettevano bene e la mia esperienza come programmatore .NET C#/WPF mi è stata di grande aiuto. Qui un confronto “face to face” agli albori dello sviluppo:

Dopo soli 2 giorni era già giocabile su device fisico (tablet di mio figlio, che mi ha molto aiutato nei successivi test, in questo caso):

Molto importante è stata appunto anche la fase di testing: “Il software è nulla senza controllo”, parafrasando un famoso spot pubblicitario. Qui gioco in contemporanea su quattro device di risoluzioni e dpi diversi, con Android 5, 6, 8 e 9 e architetture con cinque anni di differenza, fondamentale per allargare al massimo il bacino di utenza:

Altra caratteristica fondamentale è che con lo stesso codice sorgente hai già pronta l’app per lo store di Microsoft ed eventualmente (io non ho provato non possedendo device fisici Apple) anche per iOS:

Infine, dopo aver implementato un po’ di bonus come ad esempio il mitragliatore (sempre stando attento alle performance per rimanere nei 60fps) il gioco era pronto per essere pubblicato sul Play Store:

Pubblicare per Android: ci sono tantissime guide on-line, io ho seguito QUESTA: ho trasformato il mio semplice account Google in uno Google Play Developer, al costo di $25 con carta di credito una tantum.
Adesso si ha a disposizione la Google Play Console dove hai la lista delle tue app live (o pronte per esserlo) con tante statistiche interessanti:

Attenzione che per farsi valutare la classificazione dell’app è necessario rispondere anche a domande problematiche…:

Dopo circa 24 ore l’app è live, il tutto confermato da questa schermata:

Sì, l’icona l’ho disegnata io: sono un programmatore, non un grafico, parafrasando un famoso dottore del futuro…
Ho già in preparazione un secondo gioco, questa volta un remake di un gioco CD Express, “Rigore” (si veda mia precedente intervista QUI):

Ecco uno screenshot dopo solo mezza giornata di sviluppo, con i palloni che ruotano perfettamente e senza rallentamenti sull’emulatore Android:

(CONTINUA…)