Dans
plusieurs articles précédents, nous avions traité de la programmation de jeux avec des graphismes couleur en langage TI-Basic sur ton extraordinaire
TI-83 Premium CE.
Même si nous avions réussi à faire des choses assez sympa, nous ne pouvions que constater diverses limitations:
- la zone dessinable par les programmes ne fait que 265x165 pixels, contre un maximum de 320x240 pixels pour l'écran
- seules 15 couleurs sont utilisables par les programmes, alors que l'écran 16-bits permet un maximum de 216=65536 couleurs
(on peut certes aller plus loin, mais là encore avec nombre de contraintes et limitations) - les fonds d'écran que l'on peut utiliser pour enrichir graphiquement des programmes comme Bougies ne sont certes eux pas limités en couleurs, mais le sont en résolution avec seulement 133x83 pixels
- et dans tous les cas, les jeux en question sont impactés par la lenteur d'exécution du Basic, particulièrement dans le contexte où l'on dessine des 'sprites' et où l'on ne peut donc pas bénéficier des instructions accélérant le dessin des formes géométriques usuelles
Créer de bons jeux graphiques en Basic nécessite de jongler astucieusement entre ces différentes limitations, et nous avons certes clairement démontré que c'était possible.
Mais, peut-être certains d'entre vous souhaiteront aller plus loin avec leur
TI-83 Premium CE.
C'est possible en langage assembleur, un langage dit de bas niveau car interagissant directement avec la couche matérielle.
Mais c'est hélas bien autre chose qu'un langage de haut niveau comme le TI-Basic et son apprentissage n'est pas à la portée de tout-le-monde; je ne m'y suis moi-même jamais véritablement mis.
Mais une autre alternative beaucoup plus abordable existe, c'est d'utiliser un langage de haut niveau non pas interprété comme le TI-Basic, mais compilé. C'est-à-dire qu'à partir d'un code source lisible pour un être humain exactement comme du TI-Basic, un compilateur va générer du code machine directement exécutable par le matériel de la calculatrice.
De tels langages intermédiaires permettant de mettre toute la puissance du matériel à la portée de tous ont déjà existé pour les TI-83+/84 monochromes, comme l'
Axe ou encore plus récemment le
kwyxti.
L'équipe
TI-Planet (particulièrement Adriweb) est
en train de te développer un compilateur
TI-83 Premium CE en ligne utilisant le langage C, une référence en informatique. Nous l'avions déjà utilisé avec succès dans un
article précédent pour un afficheur de QR Code, mais il restait encore à l'exploiter pour un projet conséquent.
Je répondais récemment
sur notre forum que les jeux pouvant être portés sur
TI-Nspire CX étaient en gros ceux compatibles avec les ordinateurs du milieu des années 90.
(Et il n'y avait rien de honteux à cela, nombre de jeux disponibles pour les plate-formes mobiles actuelles que sont les smartphones et tablettes sont des refontes graphiques de jeux existant déjà au siècle dernier.)Relativement à sa puissance, pour la
TI-83 Premium CE il faudrait cibler en comparaison des jeux compatibles avec les ordinateurs du milieu des années 80.
Voici donc aujourd'hui le tout premier jeu en C pour
TI-83 Premium CE et également le tout premier projet conséquent réalisé avec notre compilateur en ligne,
Mandragore, adaptation partielle du jeu éponyme de
Marc Cecchi sorti en 1984 chez
Infogrames pour ordinateurs
Commodore 64,
MSX,
Thomson MO5,
Thomson TO7/70,
Thomson TO9,
ZX Spectrum 48K et
Amstrad CPC.
Notons pour l'annecdote que le jeu reçut à l'époque le
"1er prix arcade" créé pour l'occasion par le Ministère de la culture français dans le contexte du lancement du
plan IPT (informatique pour tous).
Il était une fois un lointain pays où ne régnait que calme et bonté. Une pluie d'étoiles filantes s'abattit sur la contrée et l'une d'elles foudroya le bon roi Joriand du pays de Mandragore. Aussitôt, un seigneur venu de nulle part, Yarod-Nor s'empara du pouvoir et fit régner le mal et la terreur sur ce pays paisible. Pour libérer le pays du joug de cet infâme tyran, vous devez affronter Yarod-Nor dans son propre donjon. Pour cela, vous devrez auparavant amasser les trésors détenus dans les neuf autres donjons du pays de Mandragore, et les revendre dans les différents villages afin d'obtenir de quoi vous construire un bateau.Si tu es sous le charme de cette prose, sache que tu peux continuer la découverte du pays de Mandragore à travers la nouvelle inédite
"la geste de Syrella" sortie pour l'occasion par Christian Ballandras et téléchargeable ci-dessous avec le jeu, une nouvelle qui n'a rien à envier à un roman de
Tolkien.
Finalement le jeu tourne très bien sur
TI-83 Premium CE, sans aucun problème de stabilité.
Mieux que ça il est même beaucoup plus rapide que l'
original, comme te le montre Adriweb dans la vidéo ci-dessous :
Au vu de ces performances extraordinaires auxquelles nous ne nous attendions pas, nous pourrions peut-être espérer adapter des jeux plus récents pour une prochaine fois.
Le temps de développement a été de seulement deux jours et demi
(mercredi après-midi, vendredi après-midi, samedi et ce matin). Il aurait pu être bien moindre, mais dans le contexte de ce gros projet il s'agissait surtout de découvrir et contourner les limitations du compilateur en ligne, et je tiens à remercier pour cela Adriweb qui a été en permanence à mes côtés, et sans qui ce jeu ne serait pas sorti aujourd'hui.
Ces limitations seront détaillées publiquement si toujours présentes lors de la sortie publique du compilateur mais rien de bien méchant, il s'agit juste d'écrire certaines choses différemment.Bref, si quelqu'un comme moi ne connaissant rien à l'assembleur arrive à faire un jeu aussi performant que les jeux directement développés en langage machine, tu en seras toi aussi capable avec notre compilateur C en ligne, l'outil qui met toute la puissance de ta
TI-83 Premium CE entre tes mains !
En attendant, pars dès maintenant dans ta croisade pour libérer le pays de Mandragore avec ton extraordinaire TI-83 Premium CE, et tente d'arriver à la fin du jeu en parcourant le moins de distance possible en t'aidant éventuellement de la carte ci-contre ! Téléchargement : https://tiplanet.org/forum/archives_voir.php?id=328137