Alien Invasion : un jeu pour VIC 20 écrit en 2018
Quelques détails techniques
Une sortie sur support physique en 2018? Conclusion
Plus de trucs comme ça, s'il vous plaît !
Introduction
Comme j'ai eu déjà l'occasion de dire ailleurs, mon premier ordinateur a été un Commodore VIC20 acheté par ma maman vers le milieu des années 1980. J'ai appris à le programmer en BASIC, mais j'ai été vite limité par la lenteur du language très primitif que la machine supportait. En 2018 j'ai donc décidé de franchir le pas et d'écrire un jeu complet en assembleur qui puisse tourner sur un VIC20 sans expansion de mémoire.
J'ai donc choisi d'écrire une sorte de clone de Space Invaders mais en combinant certains éléments inspirés d'Arcadia, un des jeux les plus populaires pour le VIC20. Ce dernier avait deux éléments qui m'intéressaient. Le premier était un écran très haut et relativement étroit. Le deuxième était la vitesse frénétique du jeu. Ceci rend ce programme plutôt different du jeu Space Invaders originel, où le movement des aliens était plutôt lent, mais il y en avait un grand nombre. Le puristes sont mis en garde !
Le jeu peut être joué avec le clavier ou un joystick
Quelques détails techniques
Pour décrire quelques détails technique, le mouvement des aliens a lieu pixel par pixel. Le logiciel crée des sorte de "sprites" qui sont composés par 4 caractères imprimés à l'écran et redéfinis de façon à contenir un alien dans une position arbitraire à leur intérieur. Les operations de dessin sont synchronisées avec la fréquence de rafraichissement de l'écran. Ceci est obtenu à l'aide d'un timer, car le VIC20 ne peut pas générer d'interruptions sur une ligne vidéo particulière comme peut le faire le C64. Le code actuel a été développé et testé sur une machine PAL et produirait un papillotement très évident des aliens si exécuté sur une machine NTSC. Le mouvement des bombes et du canon est fait caractère par caractère. Le jeu occupe 3035 octets en tout et ceci laisse moins que 50 octets à disposition, car une partie des 3,5KO de mémoire doivent être dédiés aux caractères graphiques redéfinis.
Après avoir consacré un effort considérable au développement, le résultat de mes effort est téléchargeable sur le lien que j'ai donné au début de ce document. C'est mon premier jeu complet écrit complètement en assembleur 6502 et je suis content du résultat. Le jeu peut être exécuté tout seul (fichier "aliens-inv") ou peut être fait précéder d'un chargeur (fichier "aliens-intro"). Ce dernier montre un écran d'instruction et joue la Fantasia de la Partita 3, BWV827.
Alien Invasion tourne sur un Commodore VIC20 sans aucune expansion
Une sortie sur support physique en 2018?
Sur Twitter, j'ai fait un petit concours et j'ai promis d'envoyer des cassettes contenant le jeu à trois personnes ayant eu un hiscore approprié. Ceci a provoqué un certain intérêt et pas mal d'excitation et j'ai pu obtenir plein de bons conseils par des joueurs. J'ai pu améliorer un peu le jeu avec les bonnes idées dont on m'a fait part. Les trois cassettes sont allés chez @BedfordLvlExp, @Chris_J_Baird et à @MagerValp. Un grand merci à Chris, qui m'a très gentiment envoyé des K7 C10 qui étaient parfaites pour le jeu !
En fait, no, ce jeu ne sera pas distribué en vente sur K7 or autre support physique, mais effectivement il y a au moins trois #R@RE cassettes de valeur inestimable et dont la valeur pour les collectionneurs va grimper les côtes rapidement (non, je ne suis pas sérieux ici...) Disons qu'il y en a quatre, car je vais garder une copie du jeu pour moi :-)
Dessins pour la pochette de la cassette
Voici la cassette master dans sa pochette
Legendes à propos du chargement de jeux sur K7 dans les années 1980 parlent invariablement de dizaines de minutes pleins d'ennui. Si cela a pu être seulement partiellement vrai pour quelques gros jeux pour C64 (qui avaient souvent un chargeur rapide), ce n'est certainement pas le cas pour ce jeu pour VIC20. Moins que deux minutes sont suffisants pour aller de la commande LOAD au jeu en exécution.
Conclusion
Je suis content du résultat même si le jeu est très simple et pas forcement très originel. Je ne suis pas un joueur expert, mais je trouve que le jeu est assez facile au début pour qu'on s'y accroche et dévient rapidement très difficile. Mon meilleur score est 3960 points. Qui sait faire mieux ?
Plus de trucs comme ça, s'il vous plaît !
Si vous avez aimé ce programme, jetez un coup d'oeil aux autres petits logiciels que j'ai fait pour des ordinateurs anciens !
Silk Dust (En, 2020-2021) pour C64, Plus4, VIC-20+24KB, MS-DOS... | |
The Queen's Footsteps (En, 2019-2020) pour C64, Plus4, VIC-20+24KB, MS-DOS... | |
Two Days to the Race (En/It, 2018-2019) pour C64, Plus4, VIC-20+24KB, MS-DOS | |
La pyramide d'Innuh (En/It, 2011-2018) pour C64, C128, Plus4, VIC-20, ZX Spectrum | |
Cavern Explorer, un autre jeu moderne pour VIC-20 (2018) | |
Labyrinthe 3D pour le 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
This work is licensed under a CC BY, NC 4.0 licence.