π
<-
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

Unread postby 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
User avatar
critorAdmin.
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 1.9%
 
Posts: 34636
Images: 9088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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

Unread postby Ti64CLi++ » 18 Oct 2015, 19:29

Génial, on attend tous la sortie publique de ce compilateur ;)
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.6%
 
Posts: 3166
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi

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

Unread postby Commando12345 » 19 Oct 2015, 10:45

fini en 6062km (ne me frappez pas) :D bon 2ème essai 1368km
User avatar
Commando12345Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 74%
 
Posts: 42
Joined: 03 Aug 2015, 18:20
Location: près de Paris
Gender: Male
Calculator(s):
Class: 1ère année prépa intégrée

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

Unread postby 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 ?
User avatar
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 34.4%
 
Posts: 12
Joined: 21 Sep 2015, 14:58
Location: Quelque part
Gender: Male
Calculator(s):
Class: 2nd

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

Unread postby 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
User avatar
critorAdmin.
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 1.9%
 
Posts: 34636
Images: 9088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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

Unread postby Zelink » 19 Oct 2015, 17:23

Du coup les objectifs sont différents entre la version d'origine et ce portage ?
User avatar
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 34.4%
 
Posts: 12
Joined: 21 Sep 2015, 14:58
Location: Quelque part
Gender: Male
Calculator(s):
Class: 2nd

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

Unread postby 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
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 52.4%
 
Posts: 12740
Images: 1081
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

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

Unread postby Zelink » 19 Oct 2015, 19:31

Adriweb wrote: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 ^^.
User avatar
Zelink
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 34.4%
 
Posts: 12
Joined: 21 Sep 2015, 14:58
Location: Quelque part
Gender: Male
Calculator(s):
Class: 2nd

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

Unread postby 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
User avatar
critorAdmin.
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 1.9%
 
Posts: 34636
Images: 9088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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

Unread postby critor » 19 Oct 2015, 22:45

Commando12345 wrote:fini en 6062km (ne me frappez pas) :D

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

Commando12345 wrote: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
User avatar
critorAdmin.
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 1.9%
 
Posts: 34636
Images: 9088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Next

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

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Featured topics
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
399 utilisateurs:
>394 invités
>0 membre
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)