Alien Invasion: un gioco per VIC20 scritto nel 2018

Introduzione
Qualche dettaglio tecnico
Un'uscita su supporto fisico nel 2018?
Conclusione
Altre cosette come questa, per favore!


Download gratuito (immagine .D64 per emulatore VICE xVIC), file albergato sul progetto GitHub.

Introduzione

Come ho avuto già modo di dire altrove, il mio primissimo computer è stato un Commodore VIC20 che mia mamma aveva comperato all'inizio degli anni 1980. Ho imparato a programmarlo in BASIC, ma mi ero scontrato abbastanza presto con le limitazioni dell'implementazione molto rudimentale disponibile su questa macchina. Nel 2018, mi sono quindi deciso a fare il grande passo ed a scrivere un gioco intero in linguaggio macchina 6502 che potesse girare su un VIC20 inespanso.

Ho scelto di scrivere una sorta di clone di Space Invaders, combinando alcuni elementi ispirati da Arcadia, uno dei giochi più popolari per VIC20 all'epoca. Questi elementi sono la particolare configurazione dello schermo (molto alto e relativamente stretto), così come la velocità diabolica. Tutto questo rende il programma piuttosto diverso rispetto all'arcade Space Invaders originale, dove il movimento degli alieni era piuttosto lento, ma ce n'erano tanti. I puristi sono avvertiti!

Alien Invasion runs on an unexpanded VIC20

Alien Invasion funziona su un Commodore VIC20 inespanso.

Qualche dettaglio tecnico

Per descrivere qualche dettaglio tecnico, il movimento degli alieni avviene pixel per pixel. Il programma crea delle specie di "sprite" che sono composti da 4 caratteri stampati a schermo e ridefiniti in modo da contenere al loro interno un alieno in posizione arbitraria. Le operazioni di disegno sono sincronizzate con la frequenza di refresh dello schermo. Questo avviene usando un timer, perché il VIC20 non può generare degli interrupt legati alla posizione del pennello elettronico sullo schermo come può invece fare il C64. La versione attuale del codice è stata messa a punto e testata su una macchina PAL e produrrebbe un flicker molto visibile su una macchina NTSC. Il movimento delle bombe e del cannone è fatto carattere per carattere. Il gioco occupa 3035 byte in tutto e questo lascia meno di 50 byte liberi perché i 3,5KB di memoria sono in parte occupati dai caratteri grafici ridefiniti.

Ho speso abbastanza tempo a sviluppare questo giochino ed il risultato dei miei sforzi può essere scaricato dal link all'inizio di questa pagina. E' il primo gioco che tento di scrivere interamente in assembler 6502 e sono contento del risultato. Il gioco può esser fatto girare da solo (file "aliens-inv"), oppure può essere preceduto da un loader ("aliens-intro") che mostra le istruzioni e suona la Fantasia della partita 3 BWV827 di J.S. Bach.


Link alla pagina progetto su GitHub con il codice sorgente completo

Si può usare la tastiera o il joystick.

Si può usare la tastiera o il joystick.

Un'uscita su supporto fisico nel 2018?

Su Twitter, ho fatto un piccolo concorso ed ho promesso d'inviare delle cassette contenenti il gioco a tre persone che avessero raggiunto un hiscore appropriato. Questo ha provocato un po' di interesse ed una certa eccitazione ed ho potuto ottenere molti ottimi consigli da altri giocatori. Ho potuto migliorare il gioco implementando alcune buone idee che mi sono state fornite. Le tre cassette sono andate a @BedfordLvlExp, @Chris_J_Baird ed a @MagerValp. Un grazie a Chris, che mi ha molto gentilmente spedito delle cassette C10 perfette per registrare il gioco!

Quindi, no, questo gioco non sarà commercializzato su cassetta o su un altro supporto fisico in un futuro previsibile. Tuttavia ci sono almeno tre cassette #R@RE di cui il valore collezionistico non cesserà di salire molto rapidamente (no, non sto dicendo davvero sul serio). Diciamo che ce ne sono quattro, perché terrò una copia del gioco per me :-)

Disegno per la custodia della cassetta

Disegno per la custodia della cassetta

Ecco la cassetta master nella sua custodia

Ecco la cassetta master nella sua custodia

Leggende a proposito del caricamento di giochi su cassetta negli anni 1980 parlano inevitabilmente di decine di minuti pieni di tedio. Se questo era solo parzialmente vero per qualche grosso gioco per C64 (che di solito utilizzavano un caricatore rapido), non è certamente vero per il piccolo giochino per VIC20 di cui si parla qui. Meno di due minuti sono sufficienti per andare dal comando LOAD al gioco in esecuzione.

Conclusione

Sono molto contento del risultato, anche se il giochino è molto semplice e non molto originale. Non sono un giocatore esperto, ma trovo che il gioco è abbastanza semplice all'inizio per non essere frustrante, ma la difficoltà sale molto in fretta. Il mio punteggio record è 3960 punti. Puoi fare di meglio?

Altre cosette come queste, per favore!

Se vi è piaciuto questo programma, date un'occhiata alle altre cosette che ho scritto per computer molto vecchi!


Silk Dust Silk Dust (En, 2020-2021) per C64, Plus4, VIC-20+24KB, MS-DOS...
The Queen's Footsteps I passi della regina (En/It, 2019-2022) per C64, Plus4, VIC-20+24KB, MS-DOS...
Two Days to the Race Tra due giorni la gara (En/It, 2018-2019) per C64, Plus4, VIC-20+24KB, MS-DOS
La piramide di Innuh La piramide d'Innuh (En/It, 2011-2018) per C64, C128, Plus4, VIC-20 ZX Spectrum
Cavern Explorer Cavern Explorer, un altro gioco moderno per VIC-20 (2018)
3D maze for the Commodore 64 Labirinto 3D su Commodore 64 (2017)

Log

September 22, 2018: Added cross-links to other vintage programs.

September 21, 2018: Improvement of the page, correction of typos, added paragraph dedicated to the "physical release"

May 22, 2018: first version of the page (in italian, french and english languages)

June 19, 2018: upgraded to version 2.0 of the game (pixel by pixel movement)

License

Creative Commons License
This work is licensed under a CC BY, NC 4.0 licence.