Un château en C

Bonne année à toutes et tous !

Pour 2023, j’espère avoir plus de temps pour publier des articles sur la rétroprogrammation, le rythme ayant pas mal baissé ces derniers mois.

Je débute l’année avec une suite de l’article sur le jeu Château Gaillard publié il y a quelques mois. Le jeu d’aventure dont il est question est issu d’un livre de Tim Hartnell, « Creating adventure games on your Computer« , et développé en BASIC (des années 80).

J’avais mentionné dans mon article que Château Gaillard avait été porté en C++ et le code source, crée par Ben Grimmer est disponible ici. La dernière version date de 2012.

J’ai repris le code en C++ et l’ai porté en langage C, l’objectif initial étant de compiler ce code avec cc65 pour faire fonctionner le jeu sur Apple II. Ce travail m’a pris beaucoup plus de temps qu’initialement prévu, la gestion des chaînes de caractères étant plus complexe en C qu’en C++ ce qui a nécessité de recoder une bonne partie du programme.

Je suis arrivé à un programme fonctionnel sous Windows ou Linux avec gcc, mais impossible pour l’instant de le faire tourner sur un Apple II, même si la compilation avec cc65 ne génère pas d’erreur.

En attendant d’y voir plus clair, voici le code en C de Château Gaillard, utilisable sous Linux/Windows.

La compilation est simple puisqu’il suffit de saisir la commande make dans une fenêtre de commande. Le nom de l’exécutable est cg sous Linux ou cg.exe sous Windows.

J’ai également ajouté les fonctions suivantes :

  1. Possibilité de jouer sans attaque de monstre,
  2. Pouvoir saisir un identifiant de partie qui sera utilisé pour initialiser les tirages aléatoires.

Enfin, pour vous aider à sortir de cette aventure, voici un lien vers la carte du jeu.

10 PRINT "Bonne chance !"
20 GOTO 10

Les trésors de Rom

Aujourd’hui je vous propose de découvrir un petit jeu publié dans la revue Jeux & Stratégie n°32, en avril 1985. Il s’agit d’un petit jeu de rôle sans prétention qui va vous permettre de faire évoluer un personnage dans un labyrinthe. Le programme est disponible en BASIC Applesoft, facilement adaptable à d’autres dialectes BASIC.

Synopsis

Votre quête n’aura pas été vaine ! Vous avez enfin découvert l’entrée de la légendaire ville souterraine de Rom. Une vieille échelle coincée dans un étroit boyau vertical met à votre portée les richesses jadis accumulées par les hordes d’un certain Zeldar III. Au cours de vos pérégrinations vous avez recueilli les informations suivantes:

  • le souterrain est encore habité par des monstres, plus ou moins forts, qui ne sont a priori pas hostiles et peuvent même être amadoués;
  • de nombreux coffres sont présents dans les salles du souterrain. Tous sont marqués de trois lettres qui indiquent s’il s’agit d’un coffre contenant plus ou moins de pièces d’or ou s’il est piégé…
  • ceux qui connaissaient les coffres ne se trompaient jamais.
Continuer la lecture de « Les trésors de Rom »

Campagne de débogage en Applesoft BASIC

Suite à l’article précédent Programmez en Basic Applesoft avec Visual Studio Code, je me suis aperçu que presque tous les programmes publiés sur ce site dans ce langage ont des bugs !

J’ai donc décidé pour faire pénitence de lancer une campagne de débogage massive de tous mes programmes en Basic Applesoft du site Rétroprogrammez ! Voici les listing des programmes corrigés :


La maison du fou version Apple II : MAISON_FOU

Le Château Enchanté : CHATEAU_ENCHANTE

Mission aventure

L’ivresse de l’or

Sorcellerie de l’Ordinateur Individuel
Plan du vaisseau fantôme
Le Vaisseau Fantôme de Jeux & Stratégie
Treasure of Elgon – version d’origine en Anglais
Treasure of Elgon fixed – version corrigée, en anglais
Trésor d’Elgon – version française traduite de version corrigée

Escape from SSADB

Morlocks – english version

CIA

Crash

Haunted House

Adventure Game in C for Apple II

I’ve been thinking about coding an adventure game in C for months. I wanted to write a code that would compile on both modern and old computers, probably because the idea of having a source code that would last for such a long period of time is amazing. Especially in 2022 when computer science changes so rapidly, with several new programming langages coming up every year.

This is possible thanks to the cross-compiler cc65, which I introduced in a previous article. I wanted a code that would work on both Apple II and Linux/Windows based modern PCs.

Since I have no time to code a whole adventure from scratch, I’ve found a small adventure game on The Interactive Fiction Archive: ISLAND.

Continuer la lecture de « Adventure Game in C for Apple II »

La maison du fou sur Atari 800XL

Après avoir publié deux pages sur les émulateurs Atari 8bits, dont une sur la mise en œuvre d’Altirra, j’ai redécouvert la programmation en Atari BASIC, en portant mon jeu d’aventure de référence La maison du fou. J’ai ainsi pu redécouvrir quelques spécificités intéressantes de ce BASIC un peu particulier.

Maison du fou sur Atari 800XL : une intro en mode graphique 1
Continuer la lecture de « La maison du fou sur Atari 800XL »

Le trésor d’Elgon en français, un exemple de traduction à l’aide de Bastrad

J’ai publié en octobre dernier un outils d’aide à la traduction de programmes écrits en BASIC, dénommé bastrad. Ce dernier est décrit et téléchargeable dans l’article « Assistant de traduction de jeux en BASIC« .

Nous allons maintenant voir un exemple pratique d’utilisation de cet assistant, en prenant comme exemple le jeu d’aventure Treasure of Elgon dans sa version Applesoft BASIC (mais cela fonctionne également avec les versions pour d’autres BASIC tel le MC10).

The treasure of Elgon, with the French touch !

La chose aurait dû être simple, surtout grâce l’outil bastrad. Hélas, j’ai fait face à quelques difficultés liées à la façon dont est programmé Treasure of Elgon, qui n’est pas exempt de bugs…

Continuer la lecture de « Le trésor d’Elgon en français, un exemple de traduction à l’aide de Bastrad »

Fascination pour l’Atlantide

Depuis les dialogues de Platon du Timée et du Critias, le mythe de l’Atlandide a fasciné des générations d’historiens, de scientifiques, de savants, d’archéologues, de philosophes ou de simples curieux. Il faut dire que Platon insiste sur l’authenticité de son récit, qui n’est pas présenté comme une fiction. S’ajoute à cela la description d’une civilisation brillante, correspondant à un âge d’or de l’humanité, et qui finit dans un cataclysme conduisant à son engloutissement total par les flots, ce qui donne une force saisissante au récit.

Le nombre de recherches et de livres sur le sujet est considérable, une bibliothèque américaine recense ainsi plus de 50000 ouvrages sur l’Atlantide. De grands auteurs de romans d’aventure comme Jules Verne font apparaitre l’Atlantide dans leurs récits (dans 20000 lieux sous les mers, illustration ci-contre).

Les ordinateurs ne sont pas en reste, puisque le thème de l’Atlantide est abordé dès l’aube des jeux d’aventure textuels, et c’est l’objet de l’article d’aujourd’hui.

Continuer la lecture de « Fascination pour l’Atlantide »

Tutoriel : récupérez un programme BASIC TRS-80 MC10

Certains anciens programmes écrits en BASIC pour le TRS-80 MC10 sont disponibles sous la forme de fichiers images de cassettes, mais pas sous la forme d’un fichier texte. Ce dernier est nécessaire lorsque l’on a besoin du programme source pour l’adapter à une autre ordinateur. Ce tutoriel donne une méthode pour récupérer facilement le fichier source d’un programme BASIC du MC10.

Continuer la lecture de « Tutoriel : récupérez un programme BASIC TRS-80 MC10 »