Citadelle (c) 1984 Loriciels Version Exelvision par le GPA octobre 2011 Citadelle est un jeu d'aventure en mode texte developpe par feu la societe Loriciels sur les ordinateurs Oric 1/Atmos et Philips VG5000. En 2005, par nostalgie, j'ai realise une adaptation sur Amstrad CPC de ce jeu, en essayant de conserver son aspect "rustique", le programme etant entierement en Basic. L'idee etait par la suite de faire le plus simplement possible des adaptations du jeu sur d'autres machines, par exemple les MSX. Le jeu n'ayant pas rencontre un franc succes, ces projets ne se sont pas concretises, jusqu'a ce que je recupere un peu par hasard un Exelvision EXL 100 (donne par mon chef, merci Denis !). Je me suis dis que realiser une adaptation rapide de Citadelle serait un bon moyen de decouvrir par la pratique cette machine et son Basic. J'avoue que, comme d'habitude, je n'ai pas mesure l'ampleur de la tache, le Basic de l'Exelvision n'etant pas a proprement parler tres souple (voir en annexe les problemes rencontres). Du coup, le code du programme a subi un serieux lifting. Le travail a ete facilite par l'utilisation de DcExel, l'excellent emulateur Exelvision de Daniel Coulon. Histoire d'avoir une finition irreprochable, j'ai demande a Kukulcan s'il pouvait me faire une petite jaquette a partir d'un modele type Exelvision, mixe avec le dessin de la version VG5000 de Citadelle. Vous allez ainsi pouvoir faire si vous le souhaitez un vrai "original" de Citadelle Exl100. Kulkulcan ayant travaille "a l'aveugle", ca sera un peu pixellise si vous l'imprimez à la bonne taille (21x28cm), mais le resultat en impressionnera plus d'un ! A noter que faute de materiel adapte pour enregistrer le programme sur une cassette, je n'ai pas pu tester ce programme sur une vraie machine. Vu la simplicite des listings, cela ne devrait pas poser de probleme, mais on ne sait jamais... I Principe de jeu ================= Citadelle se decompose en trois parties correspondant a des quetes distinctes. Il faut trouver a chaque fois un objet qui vous donnera gloire et puissance ! A cote de cette aventure deja perilleuse, les babioles que vous ramenerez a la fin de chaque etape auront une petite influence sur votre resultat final. L'analyseur syntaxique, repris entierement de la version VG5000, ne reconnait que les trois premieres lettres des verbes et noms. Si vous voulez ouvrir une porte, vous pouvez vous contenter de taper OUV POR. C'est le style SMS avant l'heure... Revers de la medaille, des verbes peuvent etre mal interpretes. Par exemple, POSITIONNE BARRE peut tres bien etre compris par l'EXL 100 comme POSE BARRE. Normalement, dans un lieu donne, un verbe n'a pas de double sens. Comme on dit chez Microsoft, ce n'est pas un oubli ou un defaut de conception, c'est 'By design' (concu comme cela). Citadelle sur Exelvision est base sur la version Amstrad. Il beneficie de quelques rajouts et corrections diverses (bugs, fautes d'orthographe). Le programme n'en est pas pour autant transforme en mega-hit, cela reste tres type debut de l'informatique personnelle... A noter qu'une nouvelle version sur Amstrad CPC est aussi sortie, tenant compte de ces ajouts. Si vous avez des soucis pour finir l'aventure, si vous etes bloques, ou si par extraordinaire, vous tombez sur un bug, envoyez un message a l'adresse suivante : tomjerry@cpcscene.com. Au cas ou vous ne l'auriez pas compris, Citadelle n'est ABSOLUMENT PAS un logiciel commercial. C'est un FREEWARE. II Les versions EXL 100 ======================= Il n'y a pas une mais deux versions de Citadelle sur EXL 100. Elles sont pratiquement identiques, mais la deuxieme version permet de sauvegarder votre partie sur l'Exelmemoire, un support de masse autrement plus rapide et confortable qu'une cassette. Version 1 (sauvegarde sur cassette, bon courage... ) --------- Les trois parties sont independantes. INTR : presentation du jeu ORAN : premiere quete KRAN : deuxieme quete IRUN : quete finale CIT1 : sauvegarde de la premiere quete CIT2 : sauvegarde de la seconde quete CIT3 : sauvegarde de la quete finale Version 2 (sauvegarde sur Exelmemoire) --------- Les trois parties sont chainees. La quete 2 ne peut etre jouee qu'une fois la quete 1 resolue et ainsi de suite. La fin est un petit peu differente et tient compte de votre prestige et du nombre de tresors que vous avez amasses. Cela reste malgre tout anecdotique, si vous avez joue avec la version 1, la version 2 n'apportera rien de nouveau. Je ne suis pas forcement fier de la musique d'introduction, mais j'avoue n'avoir pas ete inspire sur le moment... Le graphisme de l'introduction a ete compose sur un Amstrad CPC avec The Advanced OCP art studio et converti en caracteres ASCII EXL 100 grace a une routine maison. C'est primitif certes, mais suffisant pour obtenir un resultat correct. A noter que le programme n'utilise pas les apports du de l'ExelBasic+. L'idee etait de faire tourner le jeu sur n'importe quelle machine. III Jouer a Citadelle --------------------- Le jeu est diffuse sous forme de fichiers .K7, utilisable avec l'emulateur DCEXEL (http://dcexel.free.fr). Pour pouvoir utiliser la version 2, il faut que vous autorisiez l'usage de l'Exelmemoire et formatiez un fichier .cram ou preniez celui fourni dans l'archive (citadelle.cram). Pour charger un programme, il faut taper la commande LOAD "1. suivi du nom du fichier puis . Cela donne pour l'introduction : LOAD "1.INTR" Vous pouvez aussi simplement taper LOAD "1". Le premier fichier sur la cassette sera alors lu. J'ai conserve le principe classique de gestion des sauvegardes/chargements de fichiers de l'Exelvision. Lorsque vous voyez le bandeau bleu sur la premiere ligne de l'ecran, il faut appuyer sur la touche ESC pour declencher la lecture/ecriture. Sur l'emulateur Dcexel, c'est par defaut la touche "²". Si vous jouez avec la version 2 du jeu, la bande bleue s'affichera bien lors des acces a l'Exelmemoire, mais ne necessitera pas d'appui sur . Pour utiliser le programme sur un vrai Exelvision, cela devient plus complique. Les fichiers sources a utiliser sont des fichiers audio .WAV, presents dans l'archive du jeu. Il existe en theorie quatre possibilites : - raccorder directement le cable K7 de l'Exelvision sur une sortie casque du PC et "jouer" les .WAV correspondant au fichier a charger. - enregistrer sur une vraie cassette audio (metal) les fichiers via la carte son. - graver sur un CD audio les fichier .WAV. Relire le CD avec un lecteur portable et le cordon K7 de l'Exelvision. - copier les fichiers .WAV sur un lecteur MP3 supportant ce format et s'en servir comme lecteur de cassette du 21eme siecle ! Je ne garantis aucune des methodes, tout depend de votre materiel. IV Salutations -------------- Un grand merci a Daniel Coulon pour son emulateur Exelvision, sans qui ce programme n'existerait probablement pas (http://dcexel.free.fr). Daniel m'a par ailleurs donne l'astuce permettant de faire un reset du Basic et eclaire sur quelques aspects etranges de l'Exelvision, comme l'impossibilite d'utiliser directement les accents dans le Basic. Un grand merci a Kukulcan, toujours disponible pour participer a mes petits delires retro-informatique. La jaquette est un vrai coup de maitre :-). Petit coucou aux autres membres du GPA, qui doivent toujours etre en mode hibernation (Tronic, Eldrik, Two Mag, Maze Soft) et ceux qui depuis le temps doivent etre momifies (Syntax Error, Tenebros). Promis, mon prochain projet se fera sur CPC ! Voila, ce texte se termine, je suppose que je ne ferai rien d'autre sur Exelvision avant longtemps, mais l'experience etait enrichissante. Je comprend mieux maintenant pourquoi cet ordinateur a ete un flop :-). Etrangement, malgre ses (nombreux) defauts, c'est une machine attachante. Tom et Jerry du GPA, le 01/11/2011 Annexe ====== Problemes d'adaptation du listing Basic Amstrad vers Exelvision. Le Basic de l'ExL 100, bien qu'encense lors de sa sortie par la presse, n'en reste pas moins a mon avis le plus mauvais avec lequel j'ai eu l'occasion de travailler. Certes, je n'ai pas une vue exhaustive de ce qui se faisait en ce domaine, mes experiences se limitant aux Basic des VG5000, MO5, Amstrad CPC et PC (GwBasic). Les contraintes liees a l'adaptation : ====================================== - une ligne Basic ne peut exceder 80 caracteres (255 sur CPC) - on ne peut pas utiliser un nom de variable a la fois pour stocker une valeur numerique et un tableau. Ex : incorrect sur Exelvision : 10 DIM p(10):p=1 - pas de commande de manipulation de fenetres ou d'effacement de lignes / caracteres : pour effacer une partie de l'ecran, il faut afficher autant d'espaces que necessaire. - les accents pourtant presents dans la table de caracteres de l'EXL 100 ne peuvent pas etre utilises directement. Il faut soit passer par des commandes CHR$, soit patcher directement la chaine de caracteres qu'on veut afficher. Et pourtant, les caracteres accentues sont bien presents sur le clavier ! - aucune commande Basic pour produire des sons ! - aucune commande pour charger un programme a partir d'un autre ! Les differentes parties de Citadelle doivent donc etre lancees "a la main" par le joueur. - pas de commande permettant de convertir une chaine de caracteres de majuscules en minuscules et inversement. Les limites n'ayant pas d'impact sur le programme : =================================================== - les variables numeriques sont toujours des reels. - pas de commande pour connaitre la memoire disponible. - commande NEW non utilisable dans un programme. - mode graphique quasiment inutilisable car empietant sur la memoire Basic. 64ko n'auraient pas ete du luxe.