La mia esperienza da sviluppatore con Flash… nel 2012

Tutti hanno un lato oscuro e oltre la mia esperienza con il .NET e lo sviluppo su Windows nel periodo 2005/2008, c’è stato anche il periodo non voluto di ActionScript e flash nel 2010/2012. Visto che il 31 dicembre 2020 Flash è morto e non riceverà più aggiornamenti oltre a non essere più supportato da Adobe, è considerato defunto.

Premessa credo di non avere più flash nel mio computer dal 2013 ma passiamo subito alla storia…

Nel lontano 2009 avevo finito le superiori, mi presi un anno sabbatico dove lavoravo al negozio di famiglia la mattina e nel pomeriggio invece facevo uno stage come programmatore dove lavoravo in .NET.

Questo perché io volevo andare all’Accademia di belle arti a L’Aquila dove stava per essere lanciato uno dei primi corsi dedicati al web design ma il famoso terremoto fece saltare il mio piano. Io non volevo fare Informatica o ingegneria perché odio matematica e quindi per me il percorso universitario non è mai partito.

I miei genitori ci tenevano però che avessi un foglio di carta che da quando lo ho preso è rimasto in un cassetto, almeno credo. Cioè credo perché ho rimosso quei due anni 2010/12 in questa scuola romana di design anche da Linkedin.

Voi direte perché una scuola di design visto che sei un programmatore e di grafica non ci capisci un cavolo, ma un cavolo di quelli grandi?

La mia faccia nel 2012

8/9 anni fa scuole di programmazione o corsi non esistevano come oggi, quelli che si trovavano erano molto specifici e per il mondo Windows. Io dal 2008 utilizzavo Linux come ambiente fisso, tant’è che divenne il mio soprannome nella mia classe in quei due anni. A oggi sono tecnico dei sistemi multimediali per la regione Lazio, che io ho sempre definito “la capacità di saper impostare il videoregistratore”.

In ogni caso io programmavo web già dal 2005/6 con un mio sito dedicato a Dragon Ball il mio personale poi negli evoluto fino a questo sito, quindi volevo continuare con le mie conoscenze di programmazione e capire un po più di grafica visto che volevo fare siti o applicativi web.
Questo corso privato era una delle vie e la più interessante perché includeva anche Arduino e tutta la suite di Adobe. Mi affascinava After Effects e i programmi audio (ad oggi non mi ricordo più nemmeno i nomi).

In ogni caso questo corso includeva nei due anni anche programmazione iOS e Flash anche se stava già morendo.

Mi ricordo che mi venne chiesto di fare un sito con Flash ma siccome era noioso tutto quel trascina, lo feci direttamente in PHP e CSS. Con i rimproveri del caso visto che il compito era un altro, ci fu anche un progetto fatto con flash che dovrei avere in qualche archivio per un portfolio fatto da noi, dove ogni pagina era un file di progetto diverso con tutti i duplicati del caso.
Insomma un macello.

In ogni caso uno dee compiti era quello di realizzare un videogioco dalla grafica, musica e programmazione.

Così nacque CakeFactory alla veneranda età di 22 anni, il mio primo e unico gioco con grafica.

Tale gioco era un mix delle mie passioni di videogiochi essendo un clone di un Game & Watch che avevo per gameboy:

A sua volta un remake di un gioco del 1983 ma che all’epoca mi sembrò facile da realizzare, in molti sensi ed effettivamente lo è.

Lo scopo se non volete vedere il video è di controllare Mario e Luigi per portare le torte da un livello all’altro e da un lato all’altro e di non farle cadere in modo tale che vengano consegnate e spedite. Quindi il gioco poi aumenta la velocità sempre di più diventa un gioco di resistenza tra bonus e altro.

Come dice il readme del repo GitHub, possiamo vedere il periodo storico e qualche dettaglio. Mi ricordo che per la grafica dei pupazzi mi basai su qualche sprite estrapolato da qualche gioco per gameboy, il resto della grafica era stato realizzato con Gimp.

Si può vedere un poster modificato dell’Armata delle tenebre, uno dei miei film ancora preferiti che tiene in mano un pezzo di torta. Mi ricordo che per fare il contatore elettrico presi varie immagini e le specchiai.

Poi nella finestra misi una parte di un disegno vettoriale che avevo fatto anni fa del monte Terminillo, che quando si perdeva una torta il computer faceva apparire un BSOD blu e che per l’effetto pixellavo prendevo immagini grandi che ridimensionavo e poi ringrandivo più volte.

Guardando lo sprite della torta mi ricordo stile flashback le ore a sistemare la torta in modo che si capisse che veniva guarnita ecc

Persi anche molto tempo a programmare le animazioni di cambio stato della torta con questa animazione della nuvola, quindi immaginate le animazioni scattose come era l’originale del gameboy.

Ricordo anche che siccome l’editor di Adobe faceva schifo, non colorava il codice e quindi usavo un editor esterno, e poi usavo Adobe solo per compilare il gioco e vedere che succedeva. In alto a sinistra veniva scritto il numero di torte e il tempo (credo).

Il repo include tutto il materiale, una relazione così bella graficamente che non sembra l’abbia fatta io, scritta su LibreOffice e generata in PDF perchè anatema, usare Office!

Onestamente non so da dove presi la musica ma gli effetti sonori sono proprio quelli di un gioco di Super Mario.

Leggendo il codice non è malvagio per uno che aveva appena cominciato ad usare Git/GitHub (al corso non lo insegnavano), sono sempre stato un autodidatta.

Sicuramente il codice che gestisce il numero di torte con le varie animazioni ecc si può scrivere meglio ma probabilmente all’epoca non serviva anche perchè c’è una nota che dice che il gioco dopo 7 torte è ingiocabile.

Io già programmavo in JavaScript e PHP e avevo esperienza di programmazione che mi permise di fare un gioco più complesso degli altri (non mi ricordo granchè), in ogni caso il collo di bottiglia del gioco è sicuramente in questa parte.

Guardate questi file e immaginatevi di programmare senza colorazione del codice o indentazione perchè l’editor nativo non l’aveva e io ne usavo uno di terze parti su Linux! Con una macchina virtuale compilavo il gioco e lo provavo su Linux.

Sicuramente la mia esperienza all’epoca fu pessima perchè tante cose nell’editor grafico che permettevano di piazzare gli elementi li avrei programmati direttamente per fare prima, ma il corso imponeva certi comportamenti. La mia esperienza con Adobe Flash è nata e finita in quel corso e di questo gioco resta tutto il codice, assets e gioco compilato ma ad oggi non si può più provare, se non qualche implementazione open source del player.

Mi ero già messo contro il professore per la realizzazione di quel sito in web puro invece di Flash, non volevo avere altre rogne.

L’unico bel ricordo di tutto il progetto è che il mio cugino più piccolo all’epoca aveva 9 anni, andava pazzo per i giochi Flash (miniclip.com) che io trovavo. Si vantava con gli amichetti del cugino che faceva videogiochi e che aveva potuto giocarci.

In ogni caso con quel progetto imparai che una interfaccia grafica per piazzare gli elementi non è detto che sia intuitiva come tutti pensano, che il codice deve essere colorato (syntax highlitghing) e indentato o non si capisce niente. Che i giochi sono belli ma se sei incapace di grafica vengono uno schifo anche se più bravo della tua classe come programmatore, del tipo che io a lezione spesso mi facevo i fatti miei perchè i professori non volevano che li interrompessi o li correggessi su quello che dicevo.

In ogni caso alcune di queste esperienze su codice vecchio le ho rivissute quest’anno quando ho lavorato ad un programma sviluppato da altri in Visual C++97, che ho convertito in C++ moderno e portato anche su Linux/OSX con le QT (usai una macchina virtuale con editor del tempo).

Ad oggi non lavoro più con i videogiochi ma più che altro li modifico e realizzo dei tool come da articoli recenti in questo sito.

Purtroppo non ho altri dettagli visto che si parla di oltre 9 anni fa…

Morte a Flash e a ActionScript!

Liked it? Take a second to support Mte90 on Patreon!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

La mia esperienza da sviluppatore con Flash… nel 2012

time to read: 5 min
0