On jouait déjà avant ta naissance, donc on a raison

Attract-Mode: Pimp my Picade

Par • le 1/2/2017 • Entre nous

Après avoir construit un beau tabletop arcade, on peut se retrouver frustré par le manque de variété et de dynamisme de l’interface par défaut de RetroPie, à savoir EmulationStation. Fort heureusement, une solution existe, et elle s’appelle Attract-Mode.

Installation d’Attract-Mode

Attract-Mode est comme son nom l’indique une interface se basant sur ce que les professionnels appellent l’attract-mode des bornes, dans la langue de Molière tout simplement le mode de démonstration. L’objectif est de donner envie au badaud de glisser sa pièce en lui présentant rapidement en quoi consiste le jeu, en lui montrant des images chatoyantes et des scènes spectaculaires. Le frontend Attract-Mode est basé sur cette philosophie. Pour vous donner une idée, l’objectif est d’arriver à ceci :

Ça fait envie non ? Pour installer cette nouvelle interface dans RetroPie, un détour par l’outil de setup et le tour est joué. Si vous voulez l’installer ailleurs que dans RetroPie, vous pouvez télécharger une version compatible avec votre OS sur le site officiel.

attract-retropie01

Attract-Mode est situé dans les packages Expérimentaux.

attract-retropie02

On l’installe depuis le code source, on patiente, et il n’y a plus qu’à le lancer.

attract-retropie03
attract-retropie04

Pour ce faire, quittez EmulationStation, branchez un clavier sur votre Pi et à la ligne de commande tapez attract.

Configuration d’Attract-Mode

Le premier contact est rebutant : une belle fenêtre vide. Appuyez sur TAB afin de faire apparaître le premier menu. Là encore, c’est austère, pour ne pas dire sinistre.

attract-attract01

Déplacez le curseur tout en haut jusqu’à Emulators et faites Enter puis choisissez d’ajouter un nouvel émulateur.

attract-attract02

Ici entrez le nom de l’émulateur que vous êtes en train de configurer. Si on est toujours dans l’arcade, ce sera certainement Final Burn Alpha ou une déclinaison de MAME. On créera un menu par émulateur, il sera par la suite possible de fusionner les listes de jeux si désiré.

attract-attract03

L’écran suivant est l’étape la plus importante. Faites bien attention en entrant les différentes valeurs de ne pas faire d’erreurs de syntaxe. Évidemment tout est corrigeable ensuite en tapant direct sur le fichier de config mais autant faire en sorte que tout soit bien configuré dès le départ. La configuration qui suit est assez spécifique à RetroPie, mais si vous installez Attract-Mode sur un autre système vous devrez adapter au mieux. Pour modifier un paramètre, déplacez le curseur dessus et faites Enter. Une fois votre paramètre entré, refaites Enter pour le valider.

Sur la ligne Executable, quel que soit l’émulateur que vous utilisez (Final Burn Alpha ou MAME) vous lancerez retroarch (si vous préférez utiliser pifba ou autre, remplacez évidemment retroarch par le soft de votre choix). Entrez donc le chemin complet suivant:
/opt/retropie/emulators/retroarch/bin/retroarch

La ligne suivante est celle des arguments à utiliser. Avec retroarch, il est important de spécifier quel core (quel émulateur) on va lancer. Si vous voulez lancer Final Burn Alpha, entrez:

-L /opt/retropie/libretrocores/lr-fbalpha/fbalpha_libretro.so "[romfilename]"

Si vous voulez lancer MAME 2003, entrez:

-L /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so "[romfilename]"

Si vous voulez lancer MAME 2010, entrez:

-L /opt/retropie/libretrocores/lr-mame2010/mame2010_libretro.so "[romfilename]"

Sur la ligne Working directory, entrez tout simplement $HOME ou laissez le champ vide. Avec RetroPie, je n’ai pas l’impression que cela change grand’chose.

Sur la ligne Rom Path(s) vous pouvez spécifier un ou plusieurs chemins pour vos roms. Je recommande d’utiliser un seul path par émulateur étant donné les incompatibilités entre romsets, mais c’est vous qui voyez. Par exemple, pour Final Burn Alpha sur RetroPie le path sera:

$HOME/RetroPie/roms/fba/

Sur la ligne suivante entrez l’extension de vos roms. La plupart du temps ce sera .zip, mais certains romsets sont en .7z.

Sur la ligne System identifier, entrez Arcade ou, le cas échéant, le système émulé.

La ligne suivante Info Source/Scraper est un menu, appuyez sur haut/bas pour faire défiler les options. Dans notre cas le meilleur choix est listsoftware+thegamesdb.net, mais ce choix nécessite des fichiers supplémentaires.

Parmi ceux-ci, les fichiers catver.ini et genre.ini trouvables chez Progetto Snaps. Je recommande également de générer ou de télécharger un fichier XML de la version de MAME adaptée à votre émulateur. Si vous avez MAME installé sur une machine quelconque, c’est le fichier que l’on obtient en tapant l’option -listxml. Si vous n’avez pas MAME sous la main, j’ai mis ces fichiers à dispo pour MAME 0.78 (MAME 2003) et MAME 0.175 (FBA 0.2.97.39).

La ligne suivante est celle où l’on va préciser où se trouvent les fichiers gamelist.xml, catver.ini et genre.ini. Vous pouvez les mettre un peu où vous voulez, personnellement j’ai créé un répertoire metadata dans /home/pi/.attract, du coup le chemin désiré est (sur une seule ligne):
$HOME/.attract/metadata/gamelist.xml;
$HOME/.attract/metadata/catver.ini;
$HOME/.attract/metadata/genre.ini

Toutefois, rien ne vous empêche de les mettre directement dans .attract et de vous passer des fichiers ini pour n’utiliser que le xml.

attract-attract04

Une fois que tout ceci est configuré, il est temps de générer une liste de roms ! Amenez le curseur sur Generate Collection/Rom List et faites Enter. Un peu de patience et la liste est générée. Ne faites pas Scrape Artwork, c’est une perte de temps et ça risque de vous coller un artwork générique au lieu de l’objectif, qui est d’en avoir un spécifique par jeu. Allez ensuite sur Back plusieurs fois, et vérifiez que tous les jeux sont présents dans la nouvelle liste. Si vous avez de la chance, il y a déjà des thèmes installés, si vous n’en avez pas ça ressemblera à ça.

attract-attract05

Oui, pour l’instant ça n’est toujours pas très joli, mais on y arrive ! Nous allons maintenant devoir récupérer des images et vidéos pour agrémenter notre interface. Tout d’abord, une nouvelle visite chez Progetto Snaps pour récupérer flyers et marquees.

Les Flyers, ce sont les images et dessins promotionnels distribués lors de la sortie des jeux. Les Marquees, ce sont les illustrations figurant tout en haut des bornes, généralement avec le titre du jeu. Les flyers vont dans /home/pi/.attract/menu-art/flyer/ et les marquees dans /home/pi/.attract/menu-art/marquee/

Évidemment si vous êtes limité en place contentez-vous de prendre les illustrations adaptées aux jeux que vous pensez émuler. Sinon, autant ne pas se prendre la tête et prendre les packs entiers.

Ensuite, allons récupérer des logos. Ceux-ci sont trouvables sur le site de Hyperspin, un autre frontend populaire mais trop gourmand pour le Raspberry Pi. Par exemple, pour une borne dédiée à la Neo-Geo, on peut se tourner vers un pack de ce genre.

Il peut parfois être fastidieux de se rendre compte quel flyer, marquee, ou wheel manque à l’appel. Histoire de ne pas me prendre la tête, j’ai codé un script shell qui fait cette vérif pour moi. Copiez-le sur votre Pi, modifiez la configuration de l’emplacement des fichiers d’Attract-Mode si nécessaire, et lancez-le en indiquant le chemin de vos roms en argument. Exemple:
./list_missing.sh /home/pi/RetroPie/roms/fba/

Si le script ne se lance pas n’oubliez pas de le rendre exécutable avant de le lancer:
chmod +x ./list_missing.sh

Le script va aller regarder s’il trouve les illustrations associées aux roms au format ZIP contenues dans le répertoire indiqué, s’il ne les trouve pas il en fera la liste dans des fichiers texte. Il est aussi supposé ignorer quelques BIOS, mais ne connaissant pas par cœur tous les systèmes d’arcade de la Terre, il est possible que j’en aie oublié. À vous de modifier la ligne suivante dans le script en ajoutant les noms de BIOS à ignorer avec -e devant:
if echo $GAMENAME | grep -q -e neogeo -e stvbios -e pgm

Dernier point : le script va aussi aller tout seul comme un grand télécharger pour vous les aperçus vidéo manquants de vos roms sur Progetto Snaps. S’il y a 4500 roms dans votre répertoire, ça va prendre un moment et de l’espace, vous voilà prévenus. En même temps, ça ne sert vraiment à rien d’avoir autant de roms, hein.

On a bien bossé avec nos téléchargements et nos scripts, il est temps de retourner configurer Attract-Mode. Avant toute chose, il est essentiel d’expliquer une notion importante, celle du Display. Attract-Mode est, de base, une succession d’interfaces appellées Displays. On va de l’un à l’autre en appuyant sur gauche/droite. Chaque Display est associé à un, ou plusieurs émulateurs. Le Display est configurable et thèmable. Par défaut, l’Attract-Mode de RetroPie utilise d’ailleurs normalement un thème Pacman (jouable, utilisez les touches R D F G pour déplacer Pacman). Il est possible d’avoir un seul Display qui regroupe tous vos émulateurs et toutes vos collections !

Maintenant que c’est dit, téléchargez le thème Nevato et décompressez l’archive dans /home/pi/.attract/layouts/

Relancez Attract-Mode (en tapant attract à la ligne de commande), et allez dans le menu Display. La génération de la liste de roms précédemment effectuée a créé un Display du nom de votre émulateur (ici Final Burn Alpha), ouvrez-le.

attract-attract06

Allez sur la ligne Layout et faites Enter, vous pouvez naviguer entre les différents thèmes avec les touches haut/bas. Choisissez Nevato. Si Nevato n’y est pas, vérifiez qu’il est bien présent dans votre répertoire /home/pi/.attract/layouts/

attract-attract07

Validez et appuyez sur Back pour revenir au menu principal. On va retourner dans Emulators et indiquer à Attract-Mode où retrouver ses petits. Ouvrez de nouveau la configuration de votre émulateur, et scrollez jusqu’à Add Artwork.

Vous allez devoir créer les Artworks suivants:

Label: flyer
Path: $HOME/.attract/menu-art/flyer/

Label: marquee
Path: $HOME/.attract/menu-art/marquee/

Label: snap
Path: $HOME/.attract/menu-art/snap/

Label: wheel
Path: $HOME/.attract/menu-art/wheel/

Ils apparaissent ensuite dans la configuration de votre émulateur.

attract-attract08

Faites Back, revenez à votre liste de jeux, et ça commence à avoir de la gueule non ? Mais il reste une dernière petite touche. Retournez dans Displays et choisissez de nouveau votre émulateur puis allez sur Layout Options. Là vous pourrez choisir de mettre plus ou moins de scanlines sur la vidéo de la vignette, choisir ce qu’affiche le LCD sous l’écran (par exemple le nom de l’émulateur), modifier la vitesse de la roue des titres, mais surtout choisir le Background Art. Allez dessus, choisissez « flyer », validez. Vous pouvez décider que le fond soit plus ou moins sombre, plus ou moins visible, avec les options en dessous. Puis allez sur Back, et…

attract-attract09

… roulez jeunesse !

Faire d’Attract-Mode l’interface par défaut

Comment configurer Attract-Mode afin qu’il devienne l’interface par défaut, vous demandez-vous ? Il faudra relancer le setup de RetroPie, et vous rendre dans Configuration / tools.

attract-retropie05

Ensuite, allez dans Autostart puis Manually edit.

attract-retropie06
attract-retropie07

Là, commentez emulationstation et ajoutez attract
Si vous voulez que le Pi s’éteigne quand vous quittez Attract-Mode, vous pouvez ajouter sudo halt sur une troisième ligne.

Votre fichier contiendra alors:

# emulationstation
attract
sudo halt

attract-retropie08

Validez et faites bien attention à faire Cancel et à ne pas valider Start Emulationstation at boot quand vous reviendrez à l’écran suivant sinon vous devrez re-modifier le fichier. Au prochain reboot, Attract-Mode se lancera directement, et le Pi s’éteindra quand vous le quitterez.

Il y a encore pas mal de choses configurables dans Attract-Mode. Certains thèmes assez fous permettent par exemple de préciser quelle configuration de boutons fonctionne avec quel jeu, les possibilités sont assez vastes et il y a de quoi y passer des heures… à moins de préférer jouer aux jeux !

est joueur depuis 1985. Multiplateformes, multigenres, souvent exigeant, parfois tatillon, mais jamais blasé.
Email | Tous les posts de

3 commentaires »

  1. Bravo !

    Petite suggestion : mettre des liens internes vers tes articles sur le sujet (aussi sur GeekZone), histoire qu’on aie le gros dossier complet ?
    Ou je les ai peut-être ratés ?

    Du bisou !

  2. Il y a un lien au tout début de l’article ?

  3. Plus qu’à mettre des cendres de clopes partout et on s’y croirait !

Ajouter un commentaire