CONCEPTS

En tant que maître du jeu sur le jeu de rôles Mage L’Ascension de l’univers du Monde des Ténèbres, j’ai voulu rendre l’expérience des joueurs plus immersive afin qu’ils puissent vivre pleinement chaque scénario que j’avais à leur proposer.

L’idée de base a été de piloter, via mon smartphone, un hôte externe relié à un système de diffusion audio permettant de déclencher des sons sur certaines actions des joueurs, faire de la magie par exemple.

Dès lors et après plusieurs itérations, je me suis mis à la recherche d’une solution applicative que j’ai fait évoluer pour arriver à un résultat ayant les fonctionnalités suivantes :

  •  Jouer un son prédéfini depuis un appareil distant vers le système de diffusion audio
  •  Afficher une image sur un écran déporté en rapport avec le son joué
  •  Changer l’ambiance lumineuse d’une pièce en rapport avec les actions des personnages
  •  Jouer une vidéo
  •  Piloter et afficher une carte sur un écran déporté permettant aux joueurs de mieux visualiser l’action

Comme une vidéo vaut bien tous les mots, voici une démonstration visuelle du produit dans sa version la plus à jour actuellement : https://youtu.be/Mv6LLW6fdHM

Nous verrons en détail toutes les parties de cette solution applicative au travers d’une série de six articles. Restez à l’affut des mises en ligne des différentes publications qui arriveront très régulièrement.

Matériel et architecture

Matériel

Du point de vue du matériel, le minimum nécessaire se compose des éléments suivants :

  • Un réseau local. Pas besoin qu’il soit connecté à internet, j’ai testé la solution avec un routeur hors connexion sans avoir de souci.
  • Un PC, hôte de notre site Angular et de la messagerie applicative. Il devra être relié au routeur (par Ethernet ou en Wifi).
  • Une tablette tactile avec un écran suffisamment grand pour afficher l’écran du Maître du Jeu. A priori elle sera reliée au routeur par Wifi.
  • Au moins une lampe Philips HUE.
  • Un pont Philips HUE pour piloter la lampe Philips HUE. Il sera relié au routeur par Ethernet.
  • Un système de diffusion audio relié au PC, pour l’exemple, une paire d’enceintes externes suffira grandement.
  • Un écran externe relié au PC pour afficher l’écran global aux joueurs.

Voici ce que ça donne en image :

Architecture

Du point de vue logiciel, le gros de l’application se trouvera dans un site Angular (dernière version) utilisant les composants suivants :

  • HTML 5 pour la partie présentation
  • CSS 3 et notamment Flexbox pour la partie style.
  • Des requêtes http pour envoyer des commandes au pont HUE.
  • Angular Material pour tous les aspects de glisser-déposer.
  • Stomp qui permettra de dialoguer avec la messagerie applicative.

Une autre brique essentielle de cette solution est une messagerie applicative RabbitMQ qui recevra des actions à réaliser issues de l’écran du Maître du Jeu et réceptionnées par l’écran global des joueurs.

Voici l’architecture globale simplifiée mettant en avant les deux écrans et les communications :
Nous aurons donc un composant Angular dédié au maître du jeu et un composant Angular dédié à la vision globale des joueurs.

Projet GITHUB

L’intégralité du code source nécessaire pour cet article est disponible sur GITHUB en suivant ce lien : https://github.com/pmasf/mjdr-softfluent

Ressources

Afin de rendre notre expérience plus ludique, nous avons besoin d’un certain nombre de ressources.

Images

Fonds

Quatre images de fond sont disponibles. Elles permettront d’afficher un écran par défaut à l’ouverture de l’application mais aussi d’afficher une carte dans laquelle les personnages évolueront ainsi que d’augmenter l’immersion au moment de l’utilisation d’une magie.

Cartes

Six cartes sont également fournies. Trois d’entre elles seront des personnages et les trois autres seront des cartes d’action pour indiquer que le joueur ou l’ennemi veut attaquer avec de la magie ou une attaque physique ou simplement se déplacer sur ce tour.

Aplats

Les deux aplats préfixés par « ACT- » permettent d’afficher directement sur un personnage ou une action si elle a réussi ou non. L’aplat préfixé par « SPH- » indiquera le personnage allié ou ennemi qui subira une magie pour rendre lisible l’utilisation de magie ciblée.

Sons

Les trois fichiers audios disponibles rendent l’expérience de toute la partie très immersive. Ici, quand un joueur ou un ennemi tentera une action, on jouera un son pour lui indiquer sa réussite ou son échec. Il y a également un son qui se déclenchera au moment d’utiliser la magie.

Trailers

Vous pourrez mettre ici une vidéo de votre choix pour la jouer comme une bande annonce ou une scène cinématique pour marquer un passage important ou la clôture d’un chapitre du jeu de rôle.

Nous sommes maintenant prêts à commencer notre application pour nos futurs jeux de rôles !

Le prochain article de cette série abordera la mise en place de la messagerie applicative RabbitMQ.