Jouer à ses jeux crées sur circuit Python sur le meta emulator

Bonjour à tous,
J’ai un souci car j’ai crée avec des enfants un jeu sur circuit python et je pensais pouvoir ensuite l’ouvrir sur l’émulateur meta Online META Emulator - Gamebuino
Sauf que le fichier code.py ne se charge pas dessus.
Comme les jeunes n’ont pas la console j’aurais souhaité qu’il puisse quand même ouvrir le jeu chez eux.
Quelqu’un à une idée ???

Merci

Guillaume

Hello @guitougui,

L’émulateur n’a pas été conçu dans cette optique lors de sa réalisation, qui est antérieure au portage de CircuitPython sur la META.

La META est un support pédagogique intéressant pour les jeunes programmeurs qui débutent avec Python. On peut développer des petits jeux simples, ou des petites applications amusantes en s’appuyant sur le kit d’accesoires électroniques proposé.

Néanmoins, pour développer des jeux plus avancés avec CircuitPython, nécessitant notamment des ressources plus gourmandes, tu risques d’être confronté aux limitations intrinsèques du micro-contrôleur SAMD21 qui pilote la META. En effet, la mémoire vive (RAM) du SAMD21 ne sera pas suffisante pour absorber des codes trop gourmands avec CircuitPython.

Pour te donner un exemple, j’ai (jadis) publié un petit tuto autour du développement du jeu Snake avec CircuitPython. Cette version “procédurale” du jeu tourne sans problème sur la META, mais je ne suis pas parvenu à faire fonctionner une version “orientée objets” de ce jeu pour la raison que je viens d’évoquer : pas assez de RAM.

Pour aller au-delà de cette contrainte, il eût mieux valu s’appuyer sur un micro-contrôleur un peu plus costaud, comme le SAMD51, qui pilote la console PyGamer d’Adafruit, par exemple. C’est assez logique finalement, puisque c’est Adafruit qui porte et développe le projet CircuitPython. :slightly_smiling_face:

=> Le guide d’Adafruit pour les PyGamer / PyBadge

De surcroît, avec la PyGamer, tu pourras aussi développer des jeux sur MakeCode Arcade, plus adapté aux enfants, avec différents formalismes : programmation par blocs à la manière de Scratch et transcodage automatique en JavaScript et Python.

Mais, au-delà de ces contraintes imposées par CircuitPython, ne perds pas de vue que la Gamebuino META peut exprimer tout son potentiel avec le langage C++ ! Dans ce contexte, la META reste un excellent support pédagogique, pour les débutants, comme pour les développeurs expérimentés ! Malgré des ressources limitées, on peut arriver à faire des trucs sensationnels en repoussant ses limites avec des astuces de programmation et d’optimisation. Avant d’en faire le tour, t’as vraiment du pain sur la planche et des os à ronger. La META est une console de choix, qui n’a pas à rougir devant l’offre concurrentielle de même catégorie.

Par ailleurs, la Gamebuino est probablement amenée à évoluer vers une architecture plus musclée pour être mieux adaptée (entre autres) au langage Python. Donc, patience, et continue de suivre ce qui se passe par ici… :wink:

Dans un tout autre contexte, il existe aussi des consoles “virtuelles”, comme la PICO-8 ou la TIC-80, qui peuvent intéresser les jeunes programmeurs. Par contre, il leur faudra apprendre (encore) un autre langage : le Lua. Ces consoles virtuelles sont intéressantes parce-qu’elles proposent des environnements de développement intégrés avec tous les outils nécessaires à la conception d’un jeu (éditeur de code, outil de design pour les sprites, effets sonores, etc.). De nombreux jeux développés par la communauté sont également disponibles gratuitement sur leur site sous forme de cartridges.

Mais, soyons clairs, ça ne remplace en rien le plaisir de voir tourner ses propres créations sur une vraie console physique comme la Gamebuino META. :wink:

Steph

Bonjour @guitougui
Pour l’instant, l’émulateur en ligne ne fonctionne pas avec les applications Python.
Nous avons un bug avec l’émulation de l’USB (utilisé en Python pour charger les programmes)

Merci pour ta réponse

Merci pour ta réponse détaillée. Toute la ressource que tu partages est excellente. De ce que j’ai vu sur ma première animation, c’est que les jeunes kiff de taper une ligne de code et voir ce qui se passe en réel sur la gamebuino. L’effet ne sera pas le même si tout est fait sur l’écran du PC. A tester quand même pour voir si je ne me trompe pas.
En plus j’ai acheté 6 consoles pour ça, j’aimerais les utiliser le plus possible. Comme j’ai aussi le kit avec les contrôleurs, je vais voir quels projet je pourrais mettre en place, pas seulement autour du jeu vidéo.
Je te joins en photo notre réalisation. Les jeunes ont réalisés la cartouche en 3D sur tinkercad et le visuel sur krita. Le code du jeu pong est celui du tuto que tu as proposé et mis en lien dans ton message. Nous l’avons copier sur la clé USB que nous avons intégré dans la cartcouhe.
Même s’il ne peuvent pas y jouer, ils pourront au moins montrer à leur famille et leurs amis le code qu’ils auront personnalisé.

Merci à toi

Guillaume

2 Likes

Merci !!
N’hésite pas à partager le code ici, je regardais si il y a moyen de l’intégrer sur le site.
Jean-Marie

1 Like

Super ce petit projet pédagogique ! N’hésite pas à nous tenir au courant et à partages vos avancées sur ce projet (et les suivants). :slightly_smiling_face:

Par contre, je ne suis pas l’auteur du tuto sur Pong… mais celui de Snake. :wink:

Je t’invite surtout à relire mon post, que j’ai reformulé, pour mieux nuancer et préciser ma pensée.

2 Likes