Project: RE.VE.LA.TION premiato agli ZX Online Awards 2022

Si sono da poco concluse le votazioni per gli ZX Online Awards 2022, evento a cui qualsiasi gioco per ZX Spectrum rilasciato nel 2021 poteva partecipare.

Avevo candidato le mie realizzazioni del 2021 senza troppe pretese, trattandosi di piccoli progetti realizzati per i vari contest a cui ho partecipato. Proprio per questo motivo sono stao piacevolmente sorpreso nell’apprendere che Project: RE.VE.LA.TION, il mio videogioco in stile Lunar Lander, si è aggiudicato il premio speciale Best Well-polished Classics!

Il certificato Best Well-polished Classics
Il certificato Best Well-polished Classics

Consiglio di provare i vincitori di tute le categorie, in quanto lo scorso anno è stato ricco di uscite interessanti e di eccelsa qualità!

Read in English

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)

Lander Challenge: pubblicati giochi e video

La scorsa settimana sono stati pubblicati tutti i giochi partecipanti al Lander Challenge, a cui avevo aderito con Project: RE.VE.LA.TION. L’archivio contiene, per ciascun concorrente, oltre ai file utilizzabili direttamente con gli emulatori, il codice sorgente e la relativa documentazione.

È inoltre disponibile il video della diretta di venerdì di Gameplay Retrogames World, durante la quale sono stati provati tutti i giochi:

Project: Revelation

Grandi novità per quanto riguarda Project: RE.VE.LA.TION (remote vertical landing rocket control station), il clone di Lunar Lander che sto realizzando per l’home computer ZX Spectrum.

Project: RE.VE.LA.TION - schermata di caricamento
Project: RE.VE.LA.TION – schermata di caricamento

Nonostante lo scarso tempo a disposizione, con un tour de force che mi ha tenuto sveglio nelle nottate del weeked appena trascorso, sono riuscito a realizzare una versione giocabile di Project: RE.VE.LA.TION e ad inviarla agli organizzatori del Lander Challenge poco prima della scadenza.

In particolare, sono riuscito a:

  • ultimare l’algoritmo di rilevamento delle collisioni pixel-perfect,
  • aggiungere alcuni effetti sonori forniti col tool BeepFX,
  • realizzare due livelli giocabili.

Ho anche realizzato un video col gameplay del primo livello:

Inoltre, se vuoi cimentarti con la procedura di atterraggio, puoi scaricare la versione attuale di Project: RE.VE.LA.TION, oppure giocarla tramite l’emulatore web.

Project: RE.VE.LA.TION - primo livello della versione attuale del gioco
Project: RE.VE.LA.TION – primo livello della versione attuale del gioco

Nota: per giocare a Project: RE.VE.LA.TION tramite emulatore web, è necessario dispositivo dotato di tastiera; inoltre tuo browser deve supportare JavaScript. Personalmente l’ho testato solo su PC con Firefox e in questa configurazione non ho riscontrato problemi. In alternativa, puoi scaricare Project: RE.VE.LA.TION per utilizzarlo su un vero ZX Spectrum o sul tuo emulatore preferito.

Buon allunaggio!

Read in English

Project: Revelation, la mia versione di Lunar Lander in sviluppo per ZX Spectrum

In occasione del Lunar Lander Challenge, organizzato dal gruppo RETROPROGRAMMING ITALIA e non più ristretto al BASIC, ma aperto a qualsiasi linguaggio, ho deciso di unire il dilettevole al dilettevole, realizzando una versione del gioco in linguaggio C, con z88dk, che mi permettesse di studiare le librerie SP1, che non ho mai avuto modo di approfondire.
Il gioco si chiama Project: Revelation (remote vertical landing rocket control station); dubito che riuscirò a realizzarne una versione completa entro la data di scadenza; in ogni caso ecco un breve video che mostra lo stato attuale. Buona visione!

Read in English