Hack'n'Trash : Comment ça marche ? TwitchPlaysPokémon

Si vous voulez connaître les mécaniques de TwitchPlaysPokémon, c'est par ici que ça se passe !

Image title

Après un dernier Hack'n'Trash bien long et remis en cause par les derniers outils de triche disponibles, quoi de mieux qu'un léger moment de détente, et de culture ?

Image title

Il y a quelques jours, notre site a ouvert son Twitch. Le 14 février fut aussi le moment de fêter la St. Valentin l'anniversaire de TwitchPlaysPokémon, qui sont repartis sur une cure de Pokémon version Rouge, légèrement modifiée pour l'occasion avec la possibilité de capturer les 151 Pokémon. Et pour couronner le tout, vous avez voté en majorité pour comprendre le fonctionnement de TPP (2 votes ma gueule, mais ça compte quand même puisqu'il n'y avait qu'un vote pour chaque autre sujet). Je vais donc m'efforcer de vous faire découvrir tous les petits secrets de ce qui a fait le buzz il y a maintenant un an.

Alors, c'est compliqué cette merde ?

Non. Du moins, ce sera compliqué si vous ne lisez pas attentivement... Parlons un peu du principe. TwitchPlaysPokémon utilise trois technologies : un système de diffusion vidéo en direct (un stream, ici Twitch), un moyen de communication instantanée (ou chat pour les intimes) et un émulateur. Et en se servant de ces technologies, un ordinateur va jouer à Pokémon selon les désirs des spectateurs participant au chat.

L'émulateur et le flux de stream sont utilisés à leur juste valeur, mais c'est du côté du chat que tout se joue. Et c'est le cas de le dire. Le chat a été détourné de son utilisation normale pour servir de manette à l'émulateur.

Image title

Comment c'est possible ?!

Le chat de Twitch peut être utilisé via une multitude de plugins, dont une certaine partie permet de lire le contenu de chaque message. Ce sont ce que l'on appelle des chat-bots. Grâce à eux et à un parser, chaque message reconnu comme une touche de la console sera transmis à l'émulateur pour qu'il l'utilise dans le jeu.

Par SessKaka

Le parser est paramétré en fonction de la console émulée. Pour la Game Boy, les touches suivantes seront recherchées dans le chat : A, B, L, R, Start, Select et les touches directionnelles (Haut, Bas, Gauche Droite). À partir de là, il va simuler la pression d'une touche du clavier qui correspond à la touche de la console sur l'émulateur.

Le message reçu est : A. Pour utiliser le bouton A de la Game Boy sur mon émulateur, je dois appuyer sur la touche Z de mon clavier. Le parser va dire à l'ordinateur d'appuyer sur Z pour utiliser le bouton A sur l'émulateur.
Non mais t'as vu le nombre de messages ? Et puis les mots contiennent parfois les lettres !

Justement, c'est là qu'intervient le chatbot. Il est là pour modérer le chat, et permettre au parser de détecter les touches. Un premier tri est fait pour éviter l'abus des spectateurs en supprimant la plupart des messages en majuscule, le surplus d’émoticônes et quelques caractères spéciaux. Ensuite, le parser va regarder le message, vérifier s'il y a au moins une touche d'inscrite et ne garder que la première. Sinon, ce serait comme voter pour plusieurs présidents au deuxième tour.

Image titleExemple de programmation permettant de vérifier le contenu d'un message.

Les touches sont alors enregistrées les unes après les autres pour être jouées chacune leur tour. Voilà comment fonctionne TwitchPlaysPokémon.

Attend, attend, attend !! OK, ça c'est pour les émulateurs, mais c'est sur PC. Et vous n'arrêtez pas de dire qu'il n'y a pas d'émulateur pour la 3DS. Comment tu expliques les épisodes sur X et Rubis Oméga ?

C'est simple. Si tu n'as pas d'émulateur, tu utilises ta console. Et c'est ce qu'a réalisé dekuNukem pour le compte de TPP. Il a bidouillé une 3DS pour qu'elle puisse recevoir les touches écrites dans le chat, et retransmettre la partie via une carte de capture vidéo, comme notre cher Neoxys.

Grâce à une carte de programmation sur mesure, il a pu programmer de quoi simuler la pression d'une touche de la console à partir des messages du chat Twitch, ce qui a pour effet de reproduire ce qui est fait sur ordinateur pour les autres consoles. Nous restons donc dans le domaine de l'émulation. La difficulté résidait plutôt dans l'utilisation du stick analogique de la console, mais le défi est relevé haut la main. Constatez par vous-même :


Et je peux reproduire ça sur mon Twitch ?

Bien sûr ! Mais ça nécessite du matériel, et une excellente connexion Internet. Dans un premier temps, il vous faut un ordinateur capable de fonctionner 24h/24 pendant plusieurs jours, sans coupure. La connexion Internet doit suivre, si vous avez une coupure de ligne dans moins de 48h, laissez tomber et attendez un peu.

Ensuite, vous devez trouver un émulateur adapté au jeu que vous voulez TwitchPlayer (oui, je me permets d'alimenter l'Académie Française avec ce nouveau verbe, et je vous merde). Sans oublier la ROM ou l'ISO du jeu qui va avec. Le partage de liens de téléchargement vers des ROMs ou ISOs de jeux est strictement interdit. Tout commentaire ne respectant pas cette règle sera supprimé sans préavis. Si récidive, attendez-vous au bannissement.

Maintenant, il vous faut un compte Twitch, et de quoi streamer votre émulateur.

Pour finir, vous aurez besoin du vrai matos. Celui qui va vous permettre de faire jouer les viewers. Pour ça, il existe plusieurs solutions. Soit vous utilisez des logiciels créés spécialement pour ça, soit vous programmez vous-même la bête. Dans les deux cas, vous allez avoir besoin de connaître la langue de Shakespeare et d'avoir des bases en bidouillage. Sachant que vous n'êtes pas tous des experts, je préfère ne pas m'étaler sur le sujet, et vous laissez découvrir par vous-même. Mais je ne vais pas vous abandonner comme ça. Voici quelques liens qui pourraient vous intéressez si l'aventure vous tente.

OpenTwitchPlays

Cet outil fait partie des recommandations de l'équipe de TPP pour créer votre propre stream interactif.
Lisez la partie Getting Started de la page d'accueil pour savoir quoi installer et dans quel ordre.

Twitch Plays X

Encore une fois, c'est une possibilité recommandée par l'équipe de TPP. Son installation est un peu plus complexe, puisqu'elle nécessite d'utiliser un serveur Node.js.

Programmer son TwitchPlays

Là, on s'attaque à ce qu'a fait le créateur de TPP pour lancer son affaire. Vous devrez savoir coder en Python. Si c'est le cas, amusez-vous !

Voilà, c'est tout pour aujourd'hui. Vous connaissez maintenant les grandes lignes de comment TwitchPlaysPokémon fonctionne. N'oubliez pas que copier ne vous apportera pas le même succès que l'original, mais essayez de l'appliquer à d'autres jeux pour voir comment les viewers s'en sortiront. FF6 est déjà passé à la moulinette, c'est pour vous dire.

Il nous reste de nombreux sujets à aborder, et tant que c'est possible, Pokémon Trash peut vous l'apprendre ou vous l'expliquer. À vous de décider du prochain sujet dans les commentaires ! Proposez, osez et votez ! Le sujet le plus populaire fera l'objet de la prochaine édition. Les votes sont ouverts jusqu'au 28 février.

Sources : Twitch.tv, TwitchPlaysPokemon.org, BADatVIDEOGAMES.net, Dorkly.com, Destructoïd.com, reddit, GitHub.com, Wituz.com

Le petit MegaRobert

émulateur : outil permettant de simuler les mécanismes d'un appareil sur un autre support. Par exemple, jouer à la Game Boy sur un ordinateur.
plugin : extension d'un logiciel, ajoutant des fonctionnalités. Équivalant à un DLC pour un jeu.
parser : analyseur de texte, qui permet le tri de l'information pour en tirer parti. Les navigateurs Web sont des parsers qui analysent plusieurs fichiers pour afficher une page Internet.
- carte de programmation : trop compliqué à expliquer...
- ROM/ISO : dans le jargon des bidouilleurs, ce sont respectivement les copies des cartouches et CD/DVD des jeux.

Par