Jeux Python Gravity Guy et Etiord sur Graph 90+E
Posté le 19/11/2023 18:16
L'an dernier,
Critor et moi-même avons été invités par CASIO à présenter une formation sur la programmation de jeux en Python, à l'occasion de la Paris Games Week. On a pour cette occasion créé un
Flappy Bird pour Graph mono et Graph 90+E, en utilisant la technique de lire la touche AC/ON pour contrôler l'oiseau.
Je ne crois pas qu'on ait uploadé le programme sur Planète Casio ensuite, mais le jeu ainsi que les slides et un enregistrement de la formation sont depuis
disponibles sur le site de CASIO Éducation.
Cette année aucune formation n'a été organisée à notre connaissance, mais nous contribuons de nouveau avec deux jeux, disponibles sur la même page de CASIO, qui mettent en avant les possibilités (ô combien sous-exploitées, vous le savez
) de Python sur la Graph 90+E. Ces deux jeux sont une adaptation de
Gravity Guy par moi-même et un jeu original
Etiord par
Critor.
Gravity Guy
Téléchargement : Page du programme
Ce programme reprend librement le concept du jeu original Gravity Guy, un jeu mobile très populaire au début des années 2010. Le but est d'atteindre le côté droit de chaque écran en inversant la gravité pour sauter de plateforme en platforme, passant parfois au-dessus, parfois en-dessous des plateformes.
Le jeu contient 3 niveaux de difficulté croissante. La mécanique qui est simple au premier abord cache quand même quelques subtilités ; par exemple il y a plusieurs routes pour terminer le troisième niveau. La précision n'étant pas vraiment un problème surtout sur des niveaux statiques, c'est plus un puzzle qu'autre chose.
La réalisation est plutôt intéressante à mon avis. À l'origine je voulais effacer le sprite avec
get_pixel(), mais ça s'est avéré trop lent avec des gros pics de lenteur très variables (probablement les allocations de triplets pour les couleurs). Du coup, je redessine des portions du fond d'écran et du niveau à chaque fois.
Pour les images et les niveaux, les données sont générées automatiquement par un script Python (que l'on lance sur le PC) à partir d'images PNG et de niveaux édités dans
Tiled, un éditeur de maps. Le fond d'écran lui-même est encodé en RLE avec chaque segment sur un octet. Cet partie d'automatisation rend le développement Python assez agréable sur la plateforme en comblant les manques du module
casioplot.
Vous pouvez trouver les sources
sur la forge Git. Le jeu est également compatible avec PythonExtra.
Etiord
Téléchargement : page de CASIO Éducation
Je vous laisse découvrir Etiord en lisant la présentation de Critor dans
l'article dual de celui-ci sur TI-Planet.
Voici juste un petit teaser.
À bientôt sur Planète Casio !