Adventure Castle fait peau neuve

De temps à autre, j’aime bien chercher sur internet des vieux jeux d’aventure dont le code source est disponible, pour voir ensuite voir si ce code est toujours compilable et exécutable sur un ordinateur moderne.

C’est ainsi que je suis tombé sur Adventure Castle développé en langage C par Dave Dunfield. L’archive Castle.zip est téléchargeable sur ifarchive.org. Le jeu est également répertorié sur IFDB mais la page dédiée ne donne presque aucun information, à l’exception de l’auteur et de la date de création du jeu (1983). En ouvrant le fichier Castle.zip, l’on obtient quelques informations supplémentaires :

Dave Dunfield's "Adventure Castle", a clone of "Colossal Cave"

Written in Micro-C, runs on DOS 2.0 and up (PCs).
Binary built by Dosius.

Micro-C semble être un ancien compilateur pour MS-DOS. L’archive Castle.zip contient les fichiers suivantes :

castle.c            Code source en C
castle.com Exécutable pour MS-DOS
castle.dat Fichier binaire de description des lieux
castle.hlp Fichier texte affichant une aide

Vous pouvez directement jouer à Adventure Castle avec DOSBox. Sous Linux (Debian ou Ubuntu), l’installation de DOSBox se fait de la façon suivante :

Ensuite, pour lancer le jeu, après avoir extrait les fichiers de l’archive Castle.zip :

Le jeux se lance dans une nouvelle fenêtre :

Il est bien sûr possible d’utiliser DOSBox avec d’autres distributions Linux ou avec Windows.

Adaptation du code source pour GCC

Le premier essai de compilation du code source avec gcc a été un échec. En effet, certaines fonctions utilisées pour manipuler les fichiers ne sont pas compatibles avec la librairie C standard actuelle, parmi lesquelles fopen (ouverture d’un fichier), ftell (récupération de la position courante dans le fichier en cours de lecture) et fseek (positionne la tête de lecture à la position donnée en paramètre). Ces dernières sont utilisées pour lire le fichier binaire castle.dat qui contient la description des 180 lieux (ou salles) du jeu. La structure est particulière, le caractère nul (0) est le délimiteur d’une nouvelle salle, il est suivi de la description dans un format chiffré.

J’ai effectué de nombreuses autres adaptations sur le code, certaines pour pouvoir rendre le programme compilable avec gcc et fonctionnel, d’autres d’ordre esthétique.

Liste des adaptations pour compilation avec gcc:
- Correction de l'utilisation des fonctions de manipulation de fichiers : fopen, ftell, fseek
- Déclaration des fonctions dans un style moderne
- Ajout des types t_bool, t_usi (entier court non signé) et t_si (entier court signé)
- Correctif dans la fonction parse(), les commandes de l'utilisateur n'étaient plus reconnues
- Correction du calcul du score dans la fonction end_game()
- Pour la fonction rand(), initialisation de la graine avec une lecture de l'heure (utilisation de time.h)
- Suppression de tous les warnings générés par gcc avec l'option -Wall.

Voici l’archive avec le code source mis à jour :

J’ai ajouté un Makefile qui permet de produire l’exécutable castle. Pour compiler :

Pour lancer le jeu :

Le jeu s’exécute dans la console :

Enfin, j’ai créé un petit utilitaire extrdat qui extrait les données du fichier binaire castle.dat et les affiche sur la sortie standard dans un format texte lisible. Vous pouvez ainsi voir en clair la description des 180 salles. Le source est castle_extract_dat.c. Pour le compiler : make extract

Il ne vous reste plus qu’à résoudre l’aventure… Je n’ai pas fait beaucoup de tests, il se peut donc qu’il reste quelques bugs… N’hésitez pas à me les signaler le cas échéant.

Jeux de labyrinthes graphiques en hommage à J&S – 3ème article

Et voici le dernier article consacré à la série sur les jeux de labyrinthes graphiques de Jeux & Stratégie. Il s’agit du programme BASE ALPHA publié dans le numéro 28 en page 54, dans la rubrique Logiciel. A l’instar des programmes précédents, il a été développé par Michel Brassine.

L’originalité de BASE ALPHA est qu’il est jouable avec les calculatrices programmables de l’époque. Mais nous allons présenter ici la version en BASIC Applesoft, qui utilise les possibilité graphiques « haute résolution » de ce micro-ordinateur.

Voici le scénario issu de l’article :

Vous êtes parvenu sans difficulté à pénétrer au cœur d’une ville souterraine nommée « base Alpha ». Sans davantage de risque vous avez trouvé les documents ultra-secrets que vous étiez venu prendre. Vous découvrez, au moment où commence le jeu, que la sécurité sur la base Alpha n’est pas fondée sur la difficulté d’entrer, mais bel et bien de sortir…

Le but du jeu est de parvenir à accumuler suffisamment de points d’expérience pour s’échapper d’un dangereux dédale. Au cours de vos pérégrinations, vous risquez de rencontrer des monstres peu sympathiques…

Continuer la lecture de « Jeux de labyrinthes graphiques en hommage à J&S – 3ème article »

Aventure dans le château hanté

Il y a quelques années j’avais publié un article à propos d’un livre intitulé Write your own adventure programs for your microcomputer. Ce livre, écrit en anglais, avait pour objectif d’enseigner aux jeunes de l’époque (1983) à programmer un jeu d’aventure en BASIC. Le jeu qui servait d’exemple didactique était Haunted House. Il s’agit d’une aventure très simple où les commandes saisies par le joueur sont composées d’un verbe et d’un complément.

Je viens de découvrir que ce livre avait été traduit en français, le titre étant Écrivez vos jeux d’aventures pour votre micro-ordinateur. Vous pouvez télécharger une version électronique sur le site abandonware magazines. Le jeu en français est intitulé Le château hanté (remarquez qu’en passant de l’anglais au français la maison se transforme en château !).

Version française par HachetteVersion anglaise par Usborne
Continuer la lecture de « Aventure dans le château hanté »

Hobbit, the true story in python

/* Updated on 26/01/2026 : programme runs on Linux directly from the shell */

I’ve recently come accross an original game named Hobbit, the true story. This game was released in 1993 and updated in 2001. The original aspect of the game is that it was written in MS-DOS batch, which is a rather unpleasant script-shell langage.

You can find information about Hobbit, the true story on IFDB and also on Tolkien Gateway.

The game is fun as it is a parody of « The Hobbit« , the book byTolkien. I have made a port of the game in Python, so it can be easily played on any modern computer, regardless of the operating system.

The original MS-DOS version was created by Fredrik Ramsberg and Johan Berntsson and this programme is an unofficial port. I release it as a free software under the GNU General Public Lincense, as published by the Free Software Fondation. I hope the creators of the original game will agree with this, since my port is intended as tribute to their work.

First, you need to download the programme, which consists of a single python file available below:

Once downloaded, extract the python file :

If you are using Linux, make sure the file has execution rights:

Then launch the game:

Execution of the programme requires Python 3.

On Windows, start the game as follows:

Now you can play!

Hobbit the true story is a very small adventure and is quite easy to solve. However, if you get stuck, here are some general hints :

  • You need the torch and the map.
  • You can find both at home, and Gandalf will hand over the map to you if you ask him.
  • You also need the sword to cut Smaug’s cigar. You can find it in the cave north of the Troll’s clearing. They won’t let you pass unless you wait until sunset (they don’t like sunshine).
  • From there, go to the forest north of Rivendell, and use the raft to reeach Smaug’s den. Smaug will happily give you his treasure if you help him with his cigar.
  • Then go back home, and the adventure is complete.

Have fun!

Space Mission sur Apple II

Je vous propose dans cet article un nouveau jeu d’aventure intitulé Space Mission, tiré du livre de Jorg Walkowiak « AMSTRAD Les jeux d’aventures et comment les programmer sur CPC » (décembre 1984). J’ai porté ce jeu en BASIC Applesoft, tout comme je l’avais fait pour les autres jeux du même livre, le château enchanté et la ruée vers l’or.

Space Mission vous entrainera dans une aventure de survie dans l’espace. La version pour Amstrad dispose de graphismes mais dans cette version pour Apple II, seul le mode texte est disponible. Mais il s’agit d’une étape intermédiaire car j’ai d’autres projets d’adaptation de ce jeu.

Continuer la lecture de « Space Mission sur Apple II »

Sorcellerie en C

/* Mise à jour le 08/05/2025 : correction d’un bug qui rend le jeu fonctionnel sous Apple II */

Il y a quelques années, j’avais publié un article sur un jeu d’aventure en BASIC intitulé SORCELLERIE. Il s’agit d’un jeu d’aventure textuel créé par Rafi Deryeghiyan et publié dans le magazine « L’ordinateur Individuel » (hors série n°77). Le jeu est plutôt sympa, et après l’avoir porté sur Apple II, je me souviens avoir passé une bonne paire d’heures avec mon fils pour trouver la solution.

J’ai récemment repris ce programme pour le convertir en langage C, afin d’avoir un programme fonctionnant dans plusieurs environnements ; Linux, Windows, Mac et ordinateurs vintages.

Le code source peut être compilé pour une plateforme Linux (avec gcc) ou pour des ordinateurs anciens comme l’Apple II (avec cc65). Le code C étant des plus standard, il peut également fonctionner sur d’autres plates-formes, mais ceci reste à tester.

Page d’accueil de sorcellerie en C sous émulateur AppleWin
Continuer la lecture de « Sorcellerie en C »

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 »

Extraventure : faites votre propre aventure dont vous être le héros

Ce programme écrit en Python permet de créer son propre jeu d’aventure à la façon des livres-jeu « dont vous êtes le héros » qui étaient si populaires fin des années 80s. L’idée de créer ce programme m’est venue en lisant le numéro 31 du magazine Jeux et Stratégie, qui comporte un article d’initiation au jeu d’aventure, Le mystère de la statue maudite (voir la suite de cet article). J’ai eu envie d’en faire une version informatique (34 ans après la publication) puis eu l’idée de faire un programme générique de gestion de jeu d’aventure simple.

Continuer la lecture de « Extraventure : faites votre propre aventure dont vous être le héros »