Rilasciato Project: RE.VE.LA.TION (ZX Spectrum)

Project: RE.VE.LA.TION: schermata di caricamento.
Project: RE.VE.LA.TION: schermata di caricamento.
Immagine adattata da “Earthrise” (Apollo 8). Font: Nasalization by Typodermic.

Pochi giorni fa, la NASA ha annunciato la sua partnership con SpaceX per far atterrare i prossimi astronauti sulla Luna. Dato che avranno sicuramente bisogno di un sistema di controllo dell’atterraggio e di un simulatore, quale momento migliore per riprendere in mano Project: RE.VE.LA.TION! 😉

Project: RE.VE.LA.TION: razzo atterrato in sicurezza.
Project: RE.VE.LA.TION: razzo atterrato in sicurezza.

Project: RE.VE.LA.TION (REmote VErtical LAnding rocket control staTION) è un videogioco in stile Lunar Lander per Sinclair ZX Spectrum. Lo scopo del gioco è controllare la discesa del razzo, modificandone spinta e orientamento, per consentirgli di raggiungere in sicurezza la piattaforma di atterraggio, evitando di sbattere contro gli ostacoli e di posarsi sula piattaforma stessa a una velocità troppo elevata. La quantità disponibile di carburante è limitata, per cui è essenziale evitare gli sprechi!

Project: RE.VE.LA.TION: video del gameplay

Inizialmente ho realizzato Project: RE.VE.LA.TION per il Lander Challenge, organizzato dal gruppo RetroProgramming Italia. Il gioco è stato sviluppato principalmente in linguaggio C e compilato con z88dk, utilizzando la libreria sprite software SP1 e gli effetti sonori BeepFX. Purtroppo, per mancanza di tempo la versione presentata al concorso aveva solo due livelli e mancava la configurazione dei controlli.

Project: RE.VE.LA.TION: uno dei nuovi livelli.
Project: RE.VE.LA.TION: uno dei nuovi livelli.

Finalmente, dopo più di un anno, ho ripreso il progetto e, dopo alcune prime rielaborazioni, ho aggiunto il menu con le opzioni ed alcuni livelli. Per velocizzare lo sviluppo, per il design dei nuovi livelli ho fatto ricorso a Tiled; anche se non l’avevo mai utilizzato prima, ho apprezzato molto la sua facilità d’uso e immediatezza, almeno per le mie esigenze.
Quindi, ho rapidamente programmato un tool .NET a riga di comando per convertire le mappe create con Tiled in un file di codice sorgente assembly, da incorporare nel progetto. Il parser fornito dalla libreria NTiled ha reso questa operazione estremamente semplice.

Project: RE.VE.LA.TION: editing dei livelli con Tiled.
Project: RE.VE.LA.TION: editing dei livelli con Tiled.

Sebbene ci sia ancora molto margine di miglioramento (ad esempio, vorrei introdurre un formato compresso per consentire di memorizzare più mappe di livello e aggiungere musica di sottofondo), penso che il risultato ottenuto fino ad ora sia piacevole; è quindi giunto il momento di rilasciare la prima la versione!

Come al solito, il progetto è ospitato su itch.io e puoi sia scaricare Project: RE.VE.LA.TION che giocare online nel tuo browser web. Ogni feedback è benvenuto!

Buon allunaggio!

English version

Project: RE.VE.LA.TION: una curiosa coincidenza

Qualche giorno fa, ho finalmente deciso di darmi da fare per portare a termine lo sviluppo di Project: RE.VE.LA.TION (REmote VErtical LAnding rocket control staTION), un videogioco in stile Lunar Lander per ZX Spectrum.

Project: RE.VE.LA.TION: Schermata di caricamento
Project: RE.VE.LA.TION: Schermata di caricamento

Avevo originariamente ideato questo gioco per il Lunar Lander Challenge, organizzato dal gruppo RETROPROGRAMMING ITALIA. Purtroppo nel Dicembre 2019, poco dopo la fine del contest, ho dovuto accantonare lo sviluppo. Tuttavia, dato che mi spiacerebbe vanificare il lavoro precedentemente svolto, cercherò, compatibilmente con gli altri progetti in cantiere, di realizzarne una versione completa.

Immediatamente dopo aver preso questa decisione, con grande sorpresa mi sono imbattuto nella notizia degli accordi tra NASA e SpaceX per il nuovo lander lunare, nell’ambito del programma Artemis… quale tempismo migliore!

Rappresentazione artistica del lander lunare Starship della SpaceX per il programma Artemis (fonte: SpaceX)
Rappresentazione artistica del lander lunare Starship della SpaceX per il programma Artemis (fonte: SpaceX)

Risultati del BASIC 10Liner Contest 2021

Si è appena conclusa la cerimonia di premiazione dell’edizione 2021 del BASIC 10Liner Contest. L’evento, iniziato in mattinata, si è svolto durante l’intero arco della giornata, mediante la pubblicazione di tweet con i risutati parziali sull’account BASIC10Liners.

BASIC 10Liner Contest: "volantino" del concorso
BASIC 10Liner Contest: “volantino” del concorso

Un comitato composto da 7 esperti ha giudicato i 146 programmi in concorso ed ha espresso, per ciascuno di essi, un punteggio compreso tra 1 (scarso) e 10 (eccellente).

I titoli con cui ho partecipato all’edizione 2021 del contest appartengono tutti alla categoria PUR-80 (66 giochi in gara) e sono:

Nonostante l’anno scorso avessi ottenuto risultati migliori, sono comunque soddisfatto di essere entrato nella TOP 10 con ROUTE81 (9a posizione, 7.25 punti), la cui realizzazione è stata particolarmente sfidante, in quanto il BASIC dello ZX81 permette solamente un’istruzione per linea, quindi riuscire a realizzare un gioco in 10 righe di codice per questo piccolo computer è comunque un risultato notevole.

Il tweet che annuncia la nona posizione per ROUTE81
Il tweet che annuncia la nona posizione per ROUTE81

10 Miglia si è classificato 17o, con 6.75 punti, mentre è andata peggio per The Typing of the Spec, 48o con 4.50 punti.

Il tweet che annuncia la diciassettesima posizione per ROUTE81
Il tweet che annuncia la diciassettesima posizione per ROUTE81
Il tweet che annuncia la quarantottesima posizione per The Typing of the Spec
Il tweet che annuncia la quarantottesima posizione per The Typing of the Spec

Per la cronaca, il primo classificato per la categoria PUR-80, con 8.36 punti, è Moon Landing per Oric Atmos. Segue A Day In The Life Of A Teleporter per Commodore 64 (8.30 punti), mentre il terzo è Chuck’s Challenge, sempre per Commodore 64 (8.16 punti).
Ovviamente, vorrei provare (e studiare) tutti i giochi in concorso, ma da fan di PI-Balled e Q*bert, sono particolarmente attratto da Hubert per Atari 800 XL, che con 7.33 punti si è piazzato ottavo.

Risultati del BASIC 10Liner Contest 2021 (da basic10liner.com)
Risultati del BASIC 10Liner Contest 2021 (da basic10liner.com)

Segnalo che i giochi in gara e la classifica finale per tutte le categorie sono disponibili sui canali ufficiali del contest: Twitter, itch.io e sito web basic10liner.com e che le mie realizzazioni sono disponibili anche sul mio profilo itch.io.

Ricordo infine che è ancora possibile votare per il premio speciale Public’s Award, esprimendo la propria preferenza con un 💗 sul tweet dedicato al gioco o programma preferito (qui i link per ROUTE81, 10 Miglia e The Typing of the Spec).

Già pensando a cosa proporre nella prossima edizione, ringrazio ancora Gunnar e gli organizzatori dell’evento, gli altri partecipanti e gli amici di Retro Programmers Inside e RetroProgramming Italia.

Read in English