A2Adv

a2adv — des jeux d’aventure style « livres-jeu » qui tournent sur un vrai Apple II

a2adv est un petit projet en cc65 pour écrire des « livres dont vous êtes le héros » et les faire « tourner » de manière interactive sur un Apple II — pas sur un émulateur qui fait semblant, mais sur une disquette ProDOS bootable qu’une machine d’époque avale sans broncher.

On écrit l’aventure dans un format texte lisible, sur un ordinateur moderne. Un compilateur la transforme en données binaires compactes. Un moteur écrit en C les lit et « joue » l’histoire.

Pourquoi ?

Je suis fan de jeux d’aventures, de jeu de rôle et de livre jeu. Et pourtant écrire l’un pour l’autre a toujours été pénible : on tapait du BASIC, on comptait les octets à la main, et changer une phrase voulait dire renuméroter des paragraphes.

L’idée d’a2adv part a l’inverse : on écrit du texte, la machine s’occupe des octets. Les contraintes sont absorbées par le compilateur, pas subies par l’auteur.

le style de jeu est un peu différent des jeux d’aventure textuel, on est drivé par des choix en liste fini, on ne lutte pas sur un interprète codé.

Les objectifs qui gouvernent le projet

Compatibilité maximale. Le moteur vise le 6502 et un budget de 64 Ko de RAM principale : il tourne sur un Apple IIe. Les capacités supplémentaires — dont le disque RAM sur 128 Ko — détectées à l’exécution et exploitées si présentes.

Pas de limite de taille d’aventure. Le moteur ne charge jamais l’histoire entière : chaque section est lue à la demande grâce à un index. L’aventure est bornée par la capacité de la disquette, pas par la RAM. Et j’essaye de passer en multi disquette…

Ce qui marche aujourd’hui

  • Narration : sections, choix conditionnels, effets, drapeaux, objets, caractéristiques bornées, score et compteur de mouvements.
  • Combat au tour par tour (2d6 + stat, armure, modificateurs d’équipement, fuite) avec branchements victoire / défaite / fuite.
  • Énigmes à saisie : le joueur tape un mot ou un code, comparé à plusieurs réponses acceptées.
  • Affichage : pilote texte maison 40/80 colonnes (le 80 colonnes passe par la mémoire auxiliaire du //e), images HIRES plein écran ou en mode mixte, paragraphes justifiés à la largeur réelle, styles centré et inversé.
  • Son : haut-parleur 1 bit, et Mockingboard en option mais le rendu est pas encore terrible !
  • Performance : cache des données d’histoire dans le disque RAM /RAM sur machine 128 Ko, avec fenêtre glissante sur les chapitres.
  • Sauvegarde sur disquette (un seul emplacement pour l’instant).
  • Découpage en chapitres : chaque chapitre devient son propre fichier, ce qui permet des aventures de taille arbitraire.

Une démo ?

▶ Lancer le jeu sur émulateur Apple II