BooMfire: il mio programma per il 13° BASIC 10Liner Contest

Quest’anno non sono riuscito a trovare il tempo per realizzare nuovi giochi per il BASIC 10 Liner Contest, così ho ripreso e completato una vecchia idea, su cui avevo iniziato a lavorare qualche tempo fa: ispirato dal programma per MSX sviluppato da Roberto Capuano per l’11a edizione del contest, ho implementato una mia versione del noto effetto DOOM Fire, per ZX Spectrum. Per ottenere un’animazione fluida, ho abbandonato l’interprete Sinclair BASIC dello ZX Spectrum e mi sono affidato al compilatore ugBASIC di Marco Spedaletti. Il risultato è BooMfire, una demo realizzata in 9 linee di codice e candidata per la categoria SCHAU.

Penso che il risultato, che puoi osservare nel seguente video, non sia male:

Video che mostra BooMfire in azione (emulatore Fuse)

All’avvio del programma, viede disegnato il logo “BOOM“, per mezzo un algoritmo simile a quello utilizzato dal Kickstart dei computer Amiga per visualizzare l’immagine di richiesta inserimento floppy disk. Per lo riempimento, non ho utilizzato l’isitruzione PAINT di ugBASIC, ma ho implementato una subroutine che permettesse anche la riproduzione di una musica di sottofondo, per rendere meno noiosa l’attesa. Tale subroutine è basata sulla tecnica ricorsiva descritta nell’articolo A Fast Well-Behaved Pattern Flood Fill di Alvin Albrecht. A proposito di musica, il suono è riprodotto tramite chip AY-3-8912, per cui per apprezzare appieno la demo, non è sufficiente lo ZX Spectrum 48K, ma è necessario un modello avanzato (128K, +2, +3, Next, …).

L’animazione delle fiamme è la mia implementazione dell’effetto originariamente introdotto sulla versione di Final DOOM per Playstation, ovviamente riadattata per il computer Sinclair. L’animazione non lavora a livello di pixel, ma di carattere (8×8 pixel) e, mediante la pressione dei tasti 1, 2, o 3, è possibile simulare tre diversi livelli di sovrapposizione tra le fiamme e la scritta “BOOM“. Questo è stato possibile scegliendo opportunamente i colori di carta e inchiostro nelle tre corrispondenti “tavolozze”.

Puoi provare BooMfire utilizzando l’emulatore online oppure scaricarlo per eseguirlo su un emulatore o su un vero ZX Spectrum semplicemente accedendo alla pagina del progetto su retrobits.itch.io. Se sei interessato ad approfondire il funzionamento di BooMfire, puoi dare un’occhiata alla documentazione, corredata di codice sorgente commentato e inclusa nel download.

Enjoy the SCHAU!

Link e riferimenti

Read in English

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.