mardi 7 avril 2015

La Gamebuino, micro-console DIY

La Gamebuino (site: gamebuino.com) est un projet français de (micro-)console portable tournant avec Arduino, lancée en 2014. Micro-console puisqu'elle fait la taille d'une carte de crédit.. ou d'une GameBoy Micro! Elle est pourvue d'un écran monochrome de 48*84 pixels, n'affichant que du noir ou blanc.



Son nom bien trouvé annonce le programme: créer un équivalent de la Gameboy sous Arduino...
Projet très sympathique qui mêle philosophie Do It Yourself, retrogaming et pédagogie: c'est très agréable de manipuler ce petit objet bricolé à la main (son créateur les monte lui-même un par un!), et le langage pour coder reste très accessible (on retrouve le même principe que Processing).
Idéal pour débuter, et apprendre quelques bases (rudimentaires) de C++ à mon avis.


Il ne faut pas être rebuté par son côté "bricolage", au contraire!


Liste de ses caractéristiques techniques:
CPU : atmega328 @ 16Mhz (=Arduino Uno)
Écran: 84*48px monochrome (... il s'agit d'écrans nokia 3310 recyclés!) + rétro-éclairage
Son: magnetic speaker, 4 channels
Touches: croix directionelle + 3 boutons A B C
Communication: 1x micro USB, 1x micro SD card, 2x I2C
Batterie: 24h life, 240mAh LiPo battery, charged through USB
Dimensions: 90*45*12 mm (3.5*1.8*0.5″).

Cette console qui permet le multijoueur (jusqu'à 128 connexions!), peut servir à d'autres usages... On peut aussi ajouter des modules Arduino (accéléromètre, baromètre, capteur de mouvements, etc.)... avec un fer à souder et un peu de patience! Bref, sous un aspect primitif et rétro, cette console est modulable et bien moderne.


Enfin, son prix de vente (quasiment au coût de revient) est très raisonnable (35€) étant donné que la console est fournie avec des accessoires sympathiques:
  • une carte SD de 128 Mo
  • une housse de protection
  • le câble de connection USB (qui fait office de câble de recharge)
  • un adaptateur microSD/USB
Et on oubliera pas de se fournir en coque de rechange ou boutons supplémentaires pour personnaliser la bête...

Version noir classe ... d'autres teintes existent (blanc, vert, bleu...) ainis qu'en translucide.

... version Pikachu...

Mais avant d'acheter la console, on peut déjà l'émuler sur ordinateur et coder ses propres jeux!
Quels logiciels sont nécessaires? et dans quel ordre? etc.

Ce n'est pas vraiment un tutoriel, puisque tout le monde n'ayant pas une configuration similaire à la mienne (ou des besoins différents), je liste les étapes que j'ai suivies sous Windows 8.1. Il existe d'autres méthodes plus ou moins simples.
Pour ma part, je me suis basé sur ce tutoriel, en le réduisant aux étapes essentielles:
  1. installer JAVA qui servira à faire tourner Arduino et d'autres petits programmes nécessaires (...bien penser à le mettre à jour régulièrement): https://www.java.com/fr/download/
    Faites particulièrement attention lors de l'installation de Java à ne PAS installer aussi la barre d'outils ASK: penser à décocher la case...
    ... ai-je déjà mentionné qu'il fallait décocher cette case?
  2. installer l'IDE c'est-à-dire le programme qui va permettre de programmer sous Arduino: l'installer Windows nous tend ses bras https://arduino.cc/en/Main/Software
    Il dispose d'un éditeur de texte natif, basique mais suffisant pour démarrer. Quelques raccourcis clavier:
    CTRL+S sauvegarder
    CTRL+R vérifier/compiler pour lister les erreurs éventuelles
    CTRL+T formatage automatique
    CTRL+F rechercher
    etc.
    Voilà à quoi ressemble le programme Arduino lancé pour la première fois.
    On peut aussi utiliser un programme externe: Blocnote Windows, Notepad++... Je conseille l'excellent Sublime Text 2: suivez ce tutoriel pour découvrir cet éditeur et installer le package Arduino.
    La version ST3 semble fonctionner sans trop de problèmes: installer le Package Manager avec ce code, puis le package Stino est à installer manuellement.
     
  3. ajouter la librairie Gamebuino qui contient des scripts spécifiques, etc. via le gestionnaire de librairies inclus dans l'IDE:
    Ouvrir Arduino.exe
    Aller dans le menu Croquis>Include Library>Manage Library... puis Installer Gamebuino.
    Redémarrer Arduino pour finaliser l'installation.

    C'est la méthode la plus simple, mais je conseille néanmoins de passer par Github pour avoir la dernière version Beta, qui gère quelques fonctions supplémentaire (la couleur grise notamment), et qui est à télécharger ici. Il suffira d'importer le fichier .zip depuis le menu Arduino Croquis>Include Library>Add .ZIP library...
    Redémarrer Arduino pour finaliser l'installation.

  4. Enfin, un 2e programme, l'émulateur Simbuino en l'occurrence, permet de faire tourner les jeux sur ordinateur et de les tester: https://github.com/Myndale/Simbuino
    On peut configurer les touches de contrôles, etc.
    Raccourcis indispensables:
    CTRL+O pour ouvrir l'explorer Windows: il faut recopier le chemin d'accès (du type C:\Users\***\AppData\Local\Temp\build4590761702091871534.tmp) puis sélectionner le fichier .HEX.
    F5 lancer le jeu.
    MAJ+F5 reset.
    CTRL+F5 recharger le fichier HEX et le relancer.
    Simbuino avec un jeu chargé.
    Il existe aussi l'émulateur Gbsim mais il est bien plus compliqué à installer.
     
  5. N'oublions pas d'inclure des jeux (des fichiers sous format .hex) tels que la quarantaine crée par la communauté https://gamebuino.com/wiki/index.php?title=Games
     
  6. Enfin, pour inclure des images dans un jeu, il faut les transformer au format bitmap, puis le coder au format hexadécimal... pour ça, on utilisera le tout petit logiciel Bitmap Encoderhttps://github.com/Rodot/BitmapEncoder
    Une fois une image ajoutée (on modifie éventuellement le nom de l'image) et le format Hexadécimal sélectionné, une ligne de code est fournie, qu'il faudra recopier dans le fichier HEX.
    On peut aussi sélectionner un dossier et on obtiendra un code pour toutes les images incluses à l'intérieur.

Et pour améliorer la gestion de sons (seul 3 bruitages sont inclus de base...), on peut lire la page wiki relative au système sonore, puis installer éventuellement un tracker basique (lien direct).

Pour débuter à coder des jeux, il est conseillé d'ouvrir les exemples fournis, les tester et les modifier, analyser les commentaires, etc. Une douzaine d'exemples est déjà inclue avec la libraire Gamebuino: on y accède par le sous-menu Fichier>Exemples>Gamebuino>... Comme tout ce projet est open-source, on peut aussi accéder au code sources de jeux plus complexes cités au-dessus.

C'est tout pour le moment, mais je ferais surement d'autres articles sur cette console.
En attendant, jetez un coup d'œil sur le WIKI et les FORUMS dédiés ;)

2 commentaires:

  1. Hi r0d0t bootloader wont compile,ive updated paths etc i get error about overlap

    RépondreSupprimer
  2. Hi Duncan, I'm not r0d0t, but you can submit your problem on the Gamebuino forums: he'll contact you eventually & solve everything there ;)

    RépondreSupprimer