Starship Command 2022 (HACK)

di garghy

Una schermata del gioco in azione !

Attorno al gruppo 128S ruotano menti brillanti, che non finiscono mai di stupire, questo è un esempio. Frutto delle fatiche del nostro affiliato Francesco (garghy), ha “smontato” il gioco Starship Command, inserendo indicazioni in italiano ed i trucchi di gioco. Quello che forse avrebbe dovuto fare la Olivetti a suo tempo !

Starship Command è uno dei giochi più iconici del mondo Acornsoft. E’ stato pubblicato inizialmente per i computer BBC Acorn dalla Acornsoft. L’autore è Peter Irvin, un nome una garanzia nel mondo dei videogiochi…è infatti uno dei coautori di Elite, probabilmente il gioco più famoso tra quelli usciti per i computer BBC. Irvin programmò il gioco nell’anno di attesa tra la fine del liceo e l’inizio dell’università, iniziando a progettare il gioco senza particolari pretese iniziali. L’obiettivo del gioco è difendere i confini della propria galassia da invasioni di navicelle aliene, riuscendo a totalizzare almeno 80 punti per missione prima di avanzare alla successiva. La bellezza del gioco consiste nell’utilizzo di un sistema di riferimento centrato sulla propria nave spaziale.

Il gioco in Italia è stato pubblicato per l’Olivetti Prodest PC128s all’interno della compilation SUPER ARCADE 5 (insieme a “Monster”), ed a parte il menù iniziale in italiano, il gioco è rimasto interamente in lingua inglese, non proprio il massimo per coloro che erano bambini/ragazzi negli anni 80…

Il gioco è rimasto pressoché immutato fino a qualche tempo fa, fino a quando il gruppo Level 7, formato da entusiastici programmatori “old-school”, ha disassemblato interamente il gioco rendendolo fruibile il sorgente in linguaggio Assembly alla comunità di appassionati

Recentemente l’utente TobyLobster del noto forum ha lavorato su una versione aggiornata del gioco, basandosi sui sorgenti assembly del gruppo Level7. In particolare sono state introdotte alcune migliorie/velocizzazioni grafiche, nuove navicelle da utilizzare nelle varie missioni, un sistema di difficoltà più equilibrato, e un nuovo motore di comandi che comprende adesso anche la rotazione e l’accelerazione ammortizzata.

A partite da questa versione, esente da alcuni bug grazie all’intervento dell’utente Hexwab, alcuni utenti del gruppo italiano del PC128s hanno lavorato su una versione tutta italiana pensata esclusivamente per il PC128s. Questa versione è completamente tradotta in lingua italiana, e comprende un menù di lancio scritto in assembly che contiene alcune informazioni sulla storia del gioco, sulla versione italiana, e la divertente possibilità di attivare alcuni  hack da attivare prima del lancio del gioco.

Il menù personalizzato in italiano

Ci sono in totale 3 diversi hack che si possono attivare inserendo 3 codici diversi nella relativa schermata…l’elenco dei codici non è noto, ma ogni utilizzatore del PC128S dovrebbe immaginare con semplicità quali essi siano… Il primo hack permette di attivare/disattivare  l’invulnerabilità della navicella semplicemente premendo i tasti H/J… proprio così! I missili alieni saranno inefficaci e non produrranno nessun danno. Finalmente coloro che non hanno mai capito come e se termina il gioco avranno una risposta! Il secondo hack permette di auto guadagnare 10 punti semplicemente premendo il tasto 6… pensato per chi vuole rapidamente raggiungere gli 80 punti e lanciarsi dalla capsula per avanzare subito di missione. Il terzo hack è invece pensato per gli eroici combattenti… invece di farsi annientare degli alieni, premendo il tasto 7 la navicella si autodistrugge, senza espellere la capsula… proprio la classica missione kamikaze. Ovviamente i 3 hack sono attivabili separatamente ma possono cumularsi per avere tutti gli effetti insieme !

Per chi volesse approfondire l’argomento su questo gioco è presente una interessante sezione nel libro della IDESINE a pagina 143 dove mi sono permesso di tradurre l’artricolo dell’autore che vi riporto :

STARSHIP COMMAND

Non credo che altri giochi abbiano avuto un’influenza diretta sul mio progetto per Starship Command a parte il fatto che è un gioco in stile arcade basato su livelli, come i tanti che avevano fatto in passato. Visivamente, Asteroids ha somiglianze, ma il punto era che dovevo ruotare la grafica, quindi erano necessari pixel quadrati, ho dovuto usare la modalità monocromatica 4 (MODE4) per adattarsi a 16K.   Come mio primo programma scritto in assembler, volevo sperimentare per vedere cosa potevo creare ma senza sapere se sarebbe mai stato pubblicato. Amici di scuola, come Jeremy Smith e Ian Bell, stavano anche lavorando sui propri giochi, quindi ci siamo influenzati a vicenda, e questo ha contribuito a mantenere vivo l’interesse e lo slancio. Ho sviluppato Starship Command su un computer BBC Modello A (16K), un riproduttore di cassette Philips con acuti alzati al massimo (altrimenti il ​​caricamento era soggetto a errori) e il TV portatile in bianco e nero di mia madre. Quale avevo requisito, con suo infinito fastidio. Il meraviglioso BBC BASIC aveva la caratteristica ispirata di consentire il codice sorgente dell’assemblatore incorporato dall’interno del linguaggio di livello superiore. Il gioco era interamente scritto in 6502 assembler ma potendo per fare calcoli e preparare i dati tutti nello stesso file sorgente, è stato meraviglioso. Ricordo che ero perplesso quando si passa all’Amiga e alla goffaggine di catene portautensili contorte. Il gioco è stato scritto il mio anno sabbatico prima dell’università. Non credo che ci sia voluto molto, forse qualche mese. Quelli erano bei giorni! La matematica era piuttosto semplice, si trattava più di trovare il miglior compromesso per ruotare un intero schermo e gli oggetti abbastanza velocemente. Ho avuto questa idea che l’ovvio modo, di avere una serie di sprite ruotati, sarebbe oneroso da progettare e scrivere e che le immagini risultanti ovviamente si distorcono mentre ruotano leggermente; i pixel erano cose grosse per gli standard odierni. Tuttavia, se invece facessi tutte le astronavi con archi di cerchio di 32 pixel circonferenza, con ogni arco che inizia su un punto su un arco, quindi come angolo di rotazione incrementati, non sembrerebbero improvvisamente diversi, e potrei avere questo banale codice di trama in pixel, il vettore disegnato attorno ad un arco. Sembrava funzionare e con poco codice e poco sforzo. La rotazione degli oggetti di gioco (navi nemiche, missili, particelle) intorno allo schermo è stato fatto usando alcuni calcoli matematici di livello A e tabelle di ricerca sinusoidale, con l’onere forse solo di quattro moltipliche per centro oggetto. Non c’era alcuna correzione di precisione quindi, se hai lasciato il gioco nella schermata del titolo, con il suo motivo a punti rotanti sul pianeta, dopo qualche tempo il pianeta inizia a disgregarsi e diventare distorto, ciò sembrava divertente! Ricordo di aver partecipato a una competizione con Ian Bell come scrivi le funzioni 6502 più veloci e più piccole per dividere e moltiplicare, erano 7 istruzioni nel ciclo? Starship Command è stato progettato come un semplice, beh gioco arcade equilibrato, incentrato sul gameplay, e penso che probabilmente ci riesca. Più cose avrebbe potuto essere aggiunto ma penso che in questo caso “semplice di più”. È stato scritto prima dell’università, quindi ero entusiasta nel farlo, fare e rifare. Dopo di che avevo iniziato su un sequel di Starship Command in 3D ma si è perso strada facendo.

Peter Irvin (autore del gioco)

Questa versione unica di gioco è scaricabile a questo link e può essere utilizzata su B-em o GOTEK, per chi volesse la versione su floppy mi scriva una mail a : proteus075@gmail.com .