Après avoir expérimenté plusieurs overlays interactifs pour OBS, je me suis demandé :

Comment transformer une scène d’attente en un Motus contrôlé par le chat Twitch ?

L’idée était de recréer le principe de Motus dans un overlay HTML affiché dans une Source Navigateur OBS, où les spectateurs jouent ensemble en proposant des mots directement depuis le chat.

Comment fonctionne le motus ?

En faisant une proposition de mot à deviner sur la chatroom, le motus sur l’overlay s’active.

L’ensemble du projet est volontairement autonome et tient dans quelques fichiers faciles à personnaliser :

Depuis ce fichier de configuration, il est possible de modifier :

Un fichier .ini qui permet de modifier certaines options de jeu
Un fichier .ini qui permet de modifier certaines options de jeu

Dans la chatroom, il suffit de proposer un mot avec la commande !motus, et le jeu évalue case par case la validité de chaque lettre du mot.

Lorsqu’un mot est trouvé, une nouvelle manche démarre automatiquement avec un mot choisi au hasard. Si personne ne trouve la réponse dans le temps imparti ou après le nombre maximal de tentatives, le mot est révélé puis remplacé par un nouveau.

Le développement du motus

Globalement, la création s’est faite en deux temps, la logique du jeu puis la gestion de la connexion à la chatroom Twitch.

Créer la grille de jeu

Comme souvent sur ce type de projet, la partie visuelle a été relativement rapide. Le véritable défi était de reproduire plus ou moins fidèlement les règles de Motus tout en permettant à plusieurs dizaines de personnes de jouer simultanément.

J’ai commencé par développer une grille de jeu entièrement en HTML et CSS, capable de générer dynamiquement les lignes, les cases et leurs couleurs.

Toute la logique est ensuite pilotée en JavaScript.

Le projet repose notamment sur plusieurs mécanismes :

La comparaison des lettres a probablement été la partie la plus complexe. Il fallait gérer correctement les lettres présentes plusieurs fois dans un même mot, les accents et les différentes longueurs de mots tout en restant fidèle aux règles du jeu.

Après plusieurs essais, j’ai également choisi de dévoiler systématiquement la première lettre. Sans cette aide, les parties devenaient souvent trop longues pour une scène d’attente de stream.

Le choix des mots

La qualité des parties dépend énormément de la liste de mots.

J’ai donc constitué une liste répondant à quelques règles simples :

L’ensemble reste néanmoins entièrement personnalisable : il suffit de modifier le fichier words.txt pour créer son propre dictionnaire ou proposer des thèmes spécifiques.

Un fichier texte en local pour modifier les mots du jeu
Un fichier texte en local pour modifier les mots du jeu

Connexion avec le chat Twitch

Comme pour plusieurs de mes autres expérimentations sur des overlays Twitch interactifs, j’utilise la librairie Javascript TMI.js afin de récupérer les messages de la chatroom en temps réel.

Un script surveille en permanence la chatroom renseignée au préalable dans le fichier de configuration.

Le but est de trier chaque message et de ne prendre en compte que ceux qui commencent par la commande !motus

J’ai volontairement ajouté un délai de 10 secondes entre deux propositions de jeu.

Je me suis rapidement rendu compte que sans cette limitation, tout le monde joue en même temps mais personne n’a le temps d’analyser les indices affichés et le jeu devient vite frustrant.

Ce petit “cooldown” permet de laisser un temps de réflexion commun.

Quelques pistes d’amelioration

Le prototype a été utilisé comme scène d’attente interactive lors de plusieurs festivals de podcast et s’est montré suffisamment robuste pour être utilisé en conditions réelles.

Il reste encore de place pour rendre l’expérience meilleure :

Au-delà de Motus, cette expérimentation m’a surtout permis de construire une base réutilisable pour d’autres jeux pilotés par le chat Twitch, comme un pendu, des mots mêlés ou d’autres jeux collaboratifs.

Un fonctionnement similaire au jeu Motus ci-dessus, sauf qu’il s’agit d’un jeu de mots mêlés

Fiche technique

Fonctionnalités

  • Jeu pour scène d'attente de stream
  • Jouable en direct via la chatroom Twitch
  • Ajouts de mots et modifiables en local
  • Tableau des scores

Outils et technologies