• Non ci sono risultati.

ARCADE GAME DESIGNER/MULTI-PLATFORM ARCADE DESIGNER/AGDX(MINI)/MUSICIZER

Nel documento Alessandro Grussu. Seconda edizione (pagine 120-124)

APPLICAZIONI DI PROGRAMMAZIONE E SVILUPPO

ARCADE GAME DESIGNER/MULTI-PLATFORM ARCADE DESIGNER/AGDX(MINI)/MUSICIZER

Terzo strumento di sviluppo ad opera di Jonathan Cauldwell, Arcade Games Designer – AGD in breve – è più generico rispetto ai primi due: manca di alcune caratteristiche distintive, come i nastri trasportatori per i giochi di piattaforme o il generatore di ondate d’attacco per gli sparatutto, nonché di routine di scorrimento dello schermo. In compenso, oltre ad essere, a differenza di PGD e SEUD, distri-buito gratuitamente, è uno strumento ben più flessibile, adatto alla creazione di giochi arcade o arcade adventure di vario tipo,

Quest’opera è diffusa sotto licenza CC BY-NC 4.0 Internazionale.

ad esempio piattaforme con salto, piattaforme e scale oppure a labirinto.

AGD gira su Spectrum (solo 128K dalla versione 3.0 in poi) e presenta una struttura suddivisa tra vari moduli, un linguaggio di programmazione interno per gli script della logica del gioco e la combinazione del risultato finale in un programma a sé stante. I moduli sono numerosi e riguardano il set di caratteri, il disegno e l’animazione degli sprite e degli oggetti, il disegno e la definizione del tipo di blocchi da un carattere necessari per comporre gli schermi, la misura dell’area di gioco, la traiettoria del salto per i giochi di piattaforme, i messaggi di testo ed altro ancora. Il linguaggio di programmazione degli script include numerosi comandi, funzioni e variabili ed è assai più complesso di quello di SEUD.

Inizialmente, le possibilità offerte da AGD erano piuttosto limitate, ma l’interesse suscitato tra gli appassionati spinse l’au-tore ad aggiornarlo, introducendo nuove funzionalità ed am-pliando il linguaggio per gli script. Con la versione 4.0, rilascia-ta il 4 aprile 2013, AGD assume una fisionomia variabile attra-verso tre “specializzazioni”, per l’inclusione nei giochi di effetti speciali visivi, scritte scorrevoli, menù a tendina per la gestione degli oggetti. Inoltre, gli sprite possono avere dimensioni di 16×24 pixel accanto ai soliti 16×16 e assumere un colore diver-so da quello dei blocchi di sfondo.

AGD terminò la sua storia con la versione sperimentale 4.8 del 16 febbraio 2019. Si trattava di una bozza della 5.0, progettata da Cauldwell ma in seguito abbandonata a favore di un pro-gramma per Windows: Multi-Platform Arcade Game Designer, in breve MPAGD. L’interfaccia utente è comandata dalla tastiera e dal mouse del PC: ogni modulo si gestisce da una fine-stra a parte. “Multi-Platform” significa che il gioco realizzabile

con MPAGD si può esportare per altre piattaforme basate su processore Z80 oltre allo Spectrum, quali Amstrad CPC, MSX, ZX Spectrum Next, TS 2068. Il codice del gioco non si può utilizzare immediatamente, ma va esportato in Assembly Z80 e compilato con un assemblatore esterno.

Con MPAGD, la fine della dipendenza dalla RAM dello Spectrum permette la realizzazione di giochi più lunghi e più dettagliati, mentre gli script, essendo memorizzati come nor-mali file di testo ASCII, sono molto più facili da creare e modi-ficare. Alcune istruzioni già presenti cambiano nome, mentre viene introdotto un apposito comando CALL per richiamare routine esterne, laddove in precedenza si doveva inserire diret-tamente un’istruzione ASM 205 (codice numerico in Assembly Z80 di CALL) seguita da altri due codici ASM contenenti l’indirizzo della routine in formato “little-endian”, l’ordine dei byte seguito dallo Z80. Il rilevamento di collisione, da sempre un punto debole di AGD, viene reso più preciso.

Parallelamente alla comparsa di MPAGD, il codice del vecchio AGD per Spectrum viene riveduto ed ampliato da un altro sviluppatore, Allan Turvey (“Highriser”). Nasce così AGDX, un’evoluzione del programma con un gran numero di migliorie quali varie scorciatoie da tastiera, possibilità di copiare e incol-lare gli script, una gestione della memoria interna più efficace.

AGDX, a sua volta, viene frequentemente revisionato con l’ag-giunta di nuove caratteristiche e la correzione di bug. Turvey ha poi scritto delle routine esterne per implementare effetti normalmente assenti dal codice base di AGD, per esempio piat-taforme a nastro trasportatore ed oggetti lampeggianti. Sempre a Turvey si deve AGDX Mini, una versione di AGDX nella quale tutti gli sprite hanno le dimensioni di un blocco carattere (8×8 pixel) ed è possibile inserire in ogni schermo un massimo di 40 sprite, contro i 12 di AGD e AGDX. L’utilità include un

Quest’opera è diffusa sotto licenza CC BY-NC 4.0 Internazionale.

nuovo generatore di effetti sonori per chip AY scritta da David Saphier.

Tutte le “manifestazioni” di AGD condividono gli stessi limiti.

Il programma consente di creare titoli arcade che rientrano in alcune tipologie ben determinate, la cui meccanica di gioco, per quando definibile dall’utente, è sempre condizionata dai limiti intrinseci del linguaggio degli script. I giochi così ottenuti sono concepiti per il 48K, pertanto quelli estesi su più livelli da inte-grare assieme nella memoria del 128K richiedono che ognuno di questi venga realizzato come un singolo gioco a sé stante, da richiamare tramite un codice esterno ad AGD, il che comunque è stato fatto, fino ad ora, in pochissimi casi. È assente il masche-ramento degli sprite; Allan Turvey ha ideato un codice per sop-perire a questa mancanza, che però richiede un grande quan-titativo di RAM. Gli effetti sonori si possono definire solo per il chip AY, mentre per il cicalino vi è un blando effetto di lun-ghezza variabile generato con il comando BEEP, cui si affianca in MPAGD un rumore generico generato dal comando CRASH; effetti sonori più elaborati vanno memorizzati come routine esterne da richiamare tramite le istruzioni ASM o CALL. Lo stesso va fatto per inserire la musica di sottofondo generata dal chip AY, da comporre con un programma come Vortex Tracker II e richiamare con un apposito “player” in Assembly Z80. Per facilitare quest’ultima operazione, David Saphier ha creato AGD Musicizer, un’utilità per aggiungere uno o più pezzi musicali per chip AY ad un gioco realizzato con AGD, sfruttando il banco di memoria 4 della RAM del 128K.

Nell’ottobre 2020, Jonathan Cauldwell ha ripreso AGD per Spectrum creando Arcade Game Designer ROM, una versione del programma che sostituisce il firmware del computer. Si tratta, a detta dello stesso autore, di uno studio di fattibilità per verificare se sia possibile inserire quante più funzionalità dello

AGD che gira sul 128K in una ROM da 16 KB. Va usato prin-cipalmente con un emulatore, caricandone il file binario al posto della ROM del 48K.

AGD e i suoi derivati hanno dato vita, fino a tutto il 2021, a circa 300 giochi, nella maggioranza dei casi arcade a piattafor-me, che vanno da semplici titoli completabili in pochi minuti ad avventure relativamente complesse e articolate su più livelli, integrate da menù iniziali, schermate di intermezzo e fine gioco ed altre caratteristiche aggiuntive. In un caso è stato persino realizzato un gioco in 3D isometrico, Qbox.

MT ENGINE MK1 “LA CHURRERA”/MK2/MK3

Nel documento Alessandro Grussu. Seconda edizione (pagine 120-124)