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.

Programming your own adventure game in Pascal – part II

Voici la suite de l’article consacré à la programmation d’aventure en langage Pascal. Vous trouverez le premier article datant de mai 2026 ici. Les programmes sont issus du livre Programming your own adventure game in Pascal de Richard C. Vile publié en 1984.

Dans cet article, nous allons essayer le programme adventure 2 du livre. Ce programme est bien plus abouti. En effet, même si l’aventure ressemble beaucoup au programme adventure 1, le but (récupérer le trésor) étant le même, les fonctionnalités sont bien plus avancées :

  • Le joueur saisit des commandes sous la forme VERBE + NOM, comme cela était le cas pour de nombreux jeux d’aventure de l’époque (two-word parser adventure games);
  • La description des lieux explorés est beaucoup plus détaillée, et nous verrons les conséquences importantes que cela a sur le programme ;
  • Le nombre de pièces est plus important, ce qui complexifie la résolution de l’aventure.
Continuer la lecture de « Programming your own adventure game in Pascal – part II »

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 »

The Potion, a mini game for your 6502 computers

The Potion est un jeu d’aventure textuel de type 2 word parser similaire à de nombreux jeux publiés dans les années 80s, les capacités des ordinateurs domestiques étant très limités à l’époque. Cela étant, The Potion présente les caractéristiques intéressantes suivantes :

  • Il a été développé en langage C ;
  • Il ne date pas des années 80s mais de 2003, et a été développé par Peter Karlsson dans le cadre d’un concours (The 4k minigame 2003 competition) ;
  • Il est déjà multi-plateforme, pouvant fonctionner sous Linux ou Commodore 64 (grâce au cross-compilateur cc65), et l’effort pour le rendre disponible sur d’autres ordinateurs est donc limité.

Cet article propose une adaptation permettant de jouer à The Potion sur Apple II et Atari 800XL, le programme fonctionnant toujours sous Commodore 64 et avec un PC moderne, sous Windows ou Linux.

L’intro de « The Potion » pour Atari 800XL
Continuer la lecture de « The Potion, a mini game for your 6502 computers »

Un jeu d’aventure en C multiplateforme

Le langage C a été conçu pour rendre les programmes portables. Grâce aux compilateurs, le même code source peut fonctionner aussi bien sur un PC moderne que sur un vieil ordinateur des années 80s.

Dans cet article, j’ai adapté le jeu d’aventure Sorcellerie (voir l’article dédié sur le portage de Sorcellerie en langage C) afin qu’il fonctionne non seulement sur un PC moderne sous Linux (grâce au compilateur gcc), mais également sur les Apple II, Atari 8bits et Commodore 64 (grâce au compilateur cc65).

L’adaptation a été très légère, le plus gros du travail étant la reprise du makefile.

Continuer la lecture de « Un jeu d’aventure en C multiplateforme »

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!

Au delà du tesseract sur Apple II

Le tesseract est un cube à 4 dimension, mais cet article ne traite pas de géométrie. Car Beyond the tesseract est le titre d’un jeu d’aventure mathématique de David Lo, publié la première fois en 1983 sous la forme d’un programme BASIC pour TRS-80. Le jeu a par la suite été porté en langage C, sur différents systèmes tel que MS-DOS, Atari ST, ou UNIX.

Dans cet article, vous trouverez une adaptation pour Apple II, avec cc65 comme compilateur. Normalement, une simple recompilation aurait été suffisante, mais la mémoire d’un Apple II étant limitée, des modifications importantes du code source ont été nécessaires.

L’écran d’accueil de TESS sous Apple II, en 80 colonnes
Continuer la lecture de « Au delà du tesseract sur Apple II »

Nosferatu Applesoft port

While sorting my files on my hard disk, I came across an archive containing several BASIC adventure games adapted for the Amstrad CPC 464. I couldn’t remember from which website I had downloaded them.
One game caught my eye; Nosferatu by Mike Taylor, which was published and even marketed in 1982. The programme was originally developed for the Commodore VIC-20.

Wait a minute; there is no Applesoft / Apple II port? Indeed, this is lacking, and the purpose of this article is to present a playable version for the Apple II computer.

A new introduction for Nosferatu on your Apple II
Continuer la lecture de « Nosferatu Applesoft port »

The horrible rotten dancing dragon – bilingue

Les amateurs de cinéma ont régulièrement le débat à propos d’un film ; faut-il le regarder en VO ou en VF ? Cette vaine querelle n’a pas lieu dans l’univers des jeux « old school ». Les premiers jeux d’aventure étaient pour la plupart en anglais, et les pauvres francophones devaient bon an mal faire avec (et progresser en anglais par la même occasion).

Dans ce article, je vous présente le résultat d’une adaptation en français d’un jeu d’aventure textuel de Ken Rose, publié dans le magazine Softline en 1984 : The horrible dancing dragon…strikes!!!

Mais je ne vous propose pas une simple traduction ; le programme est véritablement bilingue français – anglais. Vous pouvez sélectionner la langue au démarrage et la modifier en cours de jeu, en saisissant une simple commande. Cette adaptation est publiée en version BASIC Applesoft (mais très facilement adaptable à une autre plate-forme).

Nouvelle intro du jeu… en français ou en anglais ?
Continuer la lecture de « The horrible rotten dancing dragon – bilingue »

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 »