π
<-
Chat plein-écran
[^]

Mandragore, 1er jeu en C pour ta TI-83 Premium CE

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude critor » 18 Oct 2015, 16:57

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. :o
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. ;)

60326027Finalement le jeu tourne très bien sur TI-83 Premium CE, sans aucun problème de stabilité. :bj:
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 ! :bj:

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 ! :bj:




Téléchargement : https://tiplanet.org/forum/archives_voir.php?id=328137
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.1%
 
Messages: 41493
Images: 14562
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Ti64CLi++ » 18 Oct 2015, 19:29

Génial, on attend tous la sortie publique de ce compilateur ;)
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Commando12345 » 19 Oct 2015, 10:45

fini en 6062km (ne me frappez pas) :D bon 2ème essai 1368km
Avatar de l’utilisateur
Commando12345Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 84.4%
 
Messages: 42
Inscription: 03 Aoû 2015, 18:20
Localisation: près de Paris
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Master 1 Ecole d'ingé Aéronautique et Spatial

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Zelink » 19 Oct 2015, 13:05

Beau travail :D.
Mais vu que c'est une "adaptation partielle" y a des différences avec la version d'origine ?
Avatar de l’utilisateur
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 34.4%
 
Messages: 12
Inscription: 21 Sep 2015, 14:58
Localisation: Quelque part
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nd

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude critor » 19 Oct 2015, 17:11

Dans le jeu d'origine, tu peux rentrer dans les donjons et villages.
Mais c'est un affichage complètement différent (3D isométrique) qui aurait nécessité ici de développer un 2ème moteur d'affichage.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.1%
 
Messages: 41493
Images: 14562
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Zelink » 19 Oct 2015, 17:23

Du coup les objectifs sont différents entre la version d'origine et ce portage ?
Avatar de l’utilisateur
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 34.4%
 
Messages: 12
Inscription: 21 Sep 2015, 14:58
Localisation: Quelque part
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nd

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Adriweb » 19 Oct 2015, 18:46

Ce n'est pas un portage, dans ce cas, le code de la version d'origine n'ayant même pas été regardé :)
Juste une adaptation libre de la partie 2D d'exploration de la carte.

C'est déjà un bon début qui a permi de correctement établir les règles de codage pour être compatible correctement avec ZDS et la 83PCE/84+CE :P
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14613
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude Zelink » 19 Oct 2015, 19:31

Adriweb a écrit:Ce n'est pas un portage, dans ce cas, le code de la version d'origine n'ayant même pas été regardé :)

En effet x).
En tout cas c'est très propre, gg ^^.
Avatar de l’utilisateur
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 34.4%
 
Messages: 12
Inscription: 21 Sep 2015, 14:58
Localisation: Quelque part
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nd

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude critor » 19 Oct 2015, 22:11

Les objectifs ainsi que le déroulement de la partie du jeu sur carte restent exactement les mêmes. :)
Juste que les phases de combats dans les donjons et d'achat/vente dans les villages sont sautées.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.1%
 
Messages: 41493
Images: 14562
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Mandragore, 1er jeu en C pour ta TI-83 Premium CE

Message non lude critor » 19 Oct 2015, 22:45

Commando12345 a écrit:fini en 6062km (ne me frappez pas) :D

Normal quand on découvre la carte pour la première fois :)

Commando12345 a écrit:bon 2ème essai 1368km

Cela me fait très plaisir que tu aies testé le jeu qui nous a pris tant d'heures de développement, que tu te sois donné la peine de le terminer, et en prime d'améliorer ton score ! :bj:

Je viens de réussir en 1086km.
Mais rien ne prouve que c'est le plus court chemin...
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.1%
 
Messages: 41493
Images: 14562
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Suivante

Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 55 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1557 utilisateurs:
>1507 invités
>46 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)