Sortie de la version 1.7 de Rolisteam

29
27
août
2015
Jeu

L’équipe de Rolisteam est heureuse d’annoncer la sortie de la version 1.7 du logiciel de table virtuelle (pour la réalisation de parties de jeu de rôle). Pour rappel, le but de Rolisteam est de proposer une solution pour jouer à tout type de jeux de rôle. Il propose une série de fonctionnalités allant du partage d'image au lancement de dés.

Cette nouvelle version apporte de nombreuses nouveautés :

  • nouvel interpréteur de dés ;
  • refonte du système audio ;
  • thème et personnalisation ;
  • passage à Qt5 ;
  • nouvelles traductions ;
  • et d'autres (pour plus de détails, voir la deuxième partie de la dépêche).

Sommaire

Cette dépéche est coupée en quatre parties : le changelog complet, un chapitre sur le monde du jeu de rôle en ligne, des détails techniques les travaux et pour finir un point sur les autres projets de l'association Rolisteam.

Changelog complet

Général

  • Portage de Qt4 vers Qt5 ;
  • résolution de bugs ;
  • traductions : allemand, portugais, hongrois et partiellement turc (français et anglais toujours disponibles).

Audio

  • Nouveau système audio ;
  • possibilité d’avoir 3 pistes audio en même temps ;
  • charger/Sauvegarder des listes de lectures ;
  • ouvrir des flux audio (webradio, fichiers distants) ;
  • intégration d’une liste de lecture de http://tabletopaudio.com/.

Dés

  • Nouvel interpréteur de dés (DiceParser, voir plus bas) ;
  • ajout d’alias de commande de dés ;
  • le maître de jeu partage automatiquement ses alias avec ses joueurs ;
  • le résultat des dés est mis en évidence.

Tchat

  • Les liens HTTP sont maintenant cliquables ;
  • la couleur de fond peut être changée dans les tchats.

Thèmes

  • Possibilité de changer les couleurs et d’autres paramètres graphiques de l’application ;
  • le thème peut être sauvegardé dans un fichier JSON ;
  • l’image de fond peut être changée et positionnée ;
  • il n'y a plus besoin de redémarrer l’application pour que le changement soit pris en compte.

Travail de fond

L’ensemble du logiciel utilise un nouveau moteur réseau, ce qui améliore grandement la lisibilité du code.

Paramètres en ligne de commande

Plusieurs paramètres peuvent être définis au lancement de rolisteam.

Glisser / déposer

Il est possible de glisser des images ou musique dans l’espace de jeu ou directement dans les lecteurs.

Le JdR en ligne, les outils et le libre

Cette sortie est l’occasion de faire le point sur le monde du JdR en ligne et des différents outils.

Avant d’aborder ce nouveau point, harmonisons notre vocabulaire :

  • jeu de rôle (JdR) : le terme savant serait “jeu de rôle sur table” ;
  • MJ : Maître de jeu = arbitre + décors + adversaires et autres personnages non-joueurs + météo + loi de la physique…
  • PMT : « Porte, monstre, trésor » est un type de partie, une façon de jouer au jeu de rôle ;
  • dungeon crawling : façon de jouer, où les joueurs arpentent un donjon et doivent éviter les pièges et tuer les créatures cachées.

Jouer sur table virtuelle

Le JdR virtuel offre une expérience proche d’une vraie partie. Il y a des avantages et son lot d'inconvénients.

Le principal reproche est la perte de convivialité, en effet, la partie n’est plus une raison de se regrouper (physiquement) avec ses amis. Il faut aussi compter sur une perte de temps liée à la communication. Autour d’une table, il est facile de savoir si une personne a fini de parler, si quelqu’un veut prendre la parole, etc… Ces petits réglages font perdre du temps. Les parties sont souvent plus courtes pour ménager l’attention des joueurs.

D’un autre côté, cela permet de rester chez soi. Le temps de trajet disparaît. La garde des enfants ne pose pas de problème. L'absence de ces contraintes permet de jouer plus régulièrement. Bien sûr, le JdR en ligne est très utile pour réduire les distances. Si vous voulez jouer avec vos amis de la France entière ou même du monde (bon, attention aux fuseaux horaires), cela reste la seule solution. Un groupe peut continuer à jouer même si le MJ est muté à Bordeaux ou à Brest. Au final, les joueurs y gagnent.

Pour le MJ, cela demande en général plus de travail en amont. Certains logiciels sont capables de gérer beaucoup d’éléments. Dans des parties en mode PMT/dungeon crawling, ces deux modes de jeu imposent l’usage de cartes précises et complètes. Les joueurs amateurs de ce genre de parties ont besoin d’un logiciel avec des fonctionnalités importantes sur la carte. L’expérience utilisateur de ces logiciels se rapproche d’un jeu vidéo. Le MJ peut définir la difficulté pour tel ou tel événement (crocher une porte, combattre un monstre). Si le joueur approche son personnage près de la porte cela lui propose automatiquement de tester un crochetage. Si le personnage rentre dans la zone d’un monstre l’initiative est lancée automatiquement.

Cette approche va provoquer l’émergence d’un jeu entre le JdR et le jeu vidéo. Le gros plus du jeu de rôle “sur table” par rapport à un jeu vidéo, c’est l’infinité de possibilités. Là où un jeu vidéo va proposer 2, 3 ou 4 possibilités différentes de dialogues, le JdR ne limite en rien les possibilités. Au même titre, en vidéo, la gestion des règles va être beaucoup plus stricte. Bref, l’expérience sera bien différente.

Il faut être clair, il n’y a pas raison à marcher dans la rue, brûler des voitures et insulter des pandas. C’est juste une projection dans un avenir possible.

Des parties plus orientées sur le social ou la négociation ont besoin de logiciels plus simples. Ils détournent des logiciels de travail collaboratif pour jouer. Malheureusement, ces outils sont rarement libres. Ils sont principalement autour de technologie web de Google (enfin Alphabet, maintenant) : hangouts & extensions.

Je vais vous parler maintenant des logiciels importants dans les communautés françaises.

Les logiciels

La communauté rôliste française se concentre autour de trois logiciels (bien sûr, il en existe bien plus).
Les chiffres expriment vraiment un ordre de grandeur; plus qu'une information vérifiée.

FantasyGround (40 %)

Le premier FantasyGround est un logiciel lourd (client ou serveur comme rolisteam). L’intégration des règles du jeu est l'argument massue de FantasyGround. De grosses licences du JdR signent chez eux pour proposer un Ruleset.

Un ruleset est principalement organisé autour un fichier en Lua. Cela peut modifier l’interface du logiciel pour lui donner un style proche du jeu. Cela ajoute aussi des outils pour gérer le systèmes.

Le gros défaut de Fantasyground, c’est son prix. En effet, chaque ruleset officiel coûte une petite somme. Obtenir un fantasyground capable d'héberger une partie vous coûtera un peu moins de 120€.
Il est inscrit au catalogue de Steam. Cela lui fournit une bonne publicité.
Il n’est pas compatible GNU/Linux. Il est possible de faire tourner FantasyGround avec wine.

Il existe également des rulesets communautaires.

Roll20 (40%)

Roll20 est l’enfant des technologies web2.0 et du financement participatif. Tout se passe sur roll20.net. L’outil est gratuit pour l’usage basique mais certaines fonctionnalités ne sont disponibles qu’avec un compte payant. C’est l’outil un peu phare du moment, car il ne nécessite aucune installation et est multi-plateformes (même tablette et smartphone).

La publicité est assez bonne. Des tutoriaux par des personnalités du milieu poussent comme des champignons. De plus, roll20 propose en interne des outils pour trouver des parties en fonction de l’horaire, la langue, etc.

Le point négatif c’est le côté minitel 2.0, centralisation des données. Je ne vais pas vous faire un couplet complet.

La série « Aventures » du Joueur Du Grenier (fameux youtubeur) est joué sur Roll20. Cette série de vidéos est consacrée au déroulement d'une campagne de JdR virtuelle. Cela a fait beaucoup de publicité sur cette pratique.

Rolisteam (~15%)

Rolisteam est un logiciel libre écrit en C++/Qt. Il fonctionne selon un principe de client/serveur. Il est multi-plateformes (Mac OS, Linux et Windows). Il est le fork de rolistik.

Les principaux travaux ont été de factoriser une bonne partie du code et de le réécrire en anglais. Cette étape est terminée (plus ou moins) et l’équipe met l’accent sur l’ajout de nouveautés.

L'avantage de rolisteam se situe dans sa simplicité. L'usage de carte est possible mais ce n'est pas l'élément central de la partie. L'optique est de fournir les fonctionnalités d'une table. Les différents jeux et leur règles ne sont pas automatiquement gérés par rolisteam.

L'équipe évangélise les rôlistes aux problématiques liées aux logiciels libres et la défense d’Internet. L'équipe n'est pas parfaite. Elle utilise un FaceBook et une chaîne YouTube pour la promotion du logiciel. Cependant le reste est hébergé sur un petit serveur Debian sans ventilateur (derrière une ligne ADSL label rouge FDN).

Il existe bien d'autres outils, libres ou non. Dans la catégorie qui nous intéresse, Maptool est un outil libre assez complet, orienté autour d’une carte. Il a la réputation d’être assez complexe à prendre en main. Côté technique, il est écrit en Java.

L’état de l’art (hyper rapide) du milieu rôliste virtuel est maintenant terminé. Concentrons-nous sur Rolisteam et sa grande nouveauté.

DiceParser

DiceParser est un interpréteur de commandes pour les lancers de dés.

État de l'existant

Rolisteam gérait trois syntaxes différentes: une générique fondée sur des expressions régulières et deux syntaxes spécifiques pour deux jets (Livre des 5 Anneaux et shadowrun). Chaque système avait sa portion de code dédié. L'horreur à l'état brut pour maintenir le code.

L'objectif de DiceParser

L'interpréteur propose des opérations génériques sur une liste de dés ou sur le résultat : ordonner, compter, sélectionner, relancer, exploser, remplacer et des opérations arithmétiques.
Les opérateurs se déclenchent par une règle logique : une comparaison: <,>,=,<=,>= ou la présence dans une plage de valeur ([0-5]).

Exemple simple

!2d6
Lancement de 2 dés à 6 faces.

Exemple complexe

!8d[0-9]kl3c[<4]

Lance 8 dés à 10 faces allant de 0 à 9 comme valeur, garde (keep) les 3 dés les plus bas (lowest), compte les dés inférieurs à 4.

Apprendre à s'en servir

Le premier pas est la documentation complète du système de dés.

L'interpréteur peut détecter les erreurs et retourner un message d'erreur assez parlant :
!1d10e[>0]
Lance un dé à 10 faces et le relance tant que la valeur du dés est supérieure à 0.
Cela provoque un message d’erreur sur une boucle infinie.

Alias : rendre la chose plus simple

Le système est assez puissant. Certains jeux peuvent utiliser un nombre d’opérateurs assez grand, rendant la ligne de commandes fastidieuse à taper.

Un système d’alias a été développé pour faciliter la vie des utilisateurs. (Le client CLI ne gère pas encore bien les alias. Rolisteam le fait très bien).

L’alias pour le livre des 5 anneaux :
G -> d10e10k
En utilisation :
4G2 -> 4d10e10k2

La substitution est faite par un simple «cherche et remplace».

Alias : rendre la chose plus simple pour des systèmes plus complexes

Il est également possible de faire une substitution par expression régulière :
Alias :
(.*)wod(.*) - > \1d10e[=10]c[>=\2]-@c[=1]

8wod6 devient 8d10e[=10]c[>=6]-@c[=1]

Pour information, cette commande lance 8 dés à 10 faces, les 10 explosent puis on compte le nombre de dés supérieur ou égal à 6 (le seuil de difficultés) et on soustrait à ce résultat le nombre de 1. Le @ permet de faire référence au résultat en sortie de l’opérateur e[=10] et non à la valeur de l’opérateur c[>=6]

Les alias du maître de jeu sont partagés avec les joueurs automatiquement.

Geeker

DiceParser est un composant logiciel qui peut être compilé sans rolisteam. Il propose ainsi une interface en ligne de commande. L'unique dépendance de DiceParser est QtCore. Nous avons fait ce choix car Qt est une technologie que nous connaissons bien. De plus, le composant est destiné à Rolisteam (aussi en Qt). Il pourrait être facilement porté en boost ou stl.

Les autres interfaces

Il est aussi possible d’avoir une interface graphique et un bot IRC, mais ces deux éléments ne sont pas vraiment maintenus (et ne sont pas compilés par défaut).
Il est possible d’exporter l’arbre d'exécution dans un fichier .dot.

Arbre d'exécution

Avenir

La génération d'arbre .dot est plutôt expérimentale dans la branche master du dépôt git, mais dans la branches en développement [rangeInList], cela s’améliore tous les jours.

Bien entendu, cet interpréteur n’est pas terminé, il intégrera dans sa version future (c’est déjà implémenté mais encore trop expérimental) :

  • la combinaison des opérations booléennes dans les conditions des opérateurs: c[<2&>8]
  • l’opérateur Modulo (c[%2] compte les résultats pairs)
  • le tirage au sort dans une liste non équiprobable 1L[Torse[30%],bras droit[15%],bras gauche[15%],tête[10%],jambe droite[15%],jambe gauche[15%]] Je compte également ajouter un NON: (c[!%2] compte les résultat impairs) et rendre le système moins sensible aux espaces.

Usage

Pour un usage en ligne de commande, il n’est pas nécessaire de préfixer ses commandes par un point d’exclamation. Dans rolisteam, le point d'exclamation est nécessaire.

$ dice 2d6
Result: 3, details:[2d6 (2 1)]

Pour compiler DiceParser

https://github.com/Rolisteam/DiceParser

mkdir build
cd build
cmake ../
make
sudo make install

Rolisteam, une association qui vous veut du bien !

L’association derrière Rolisteam développe également d’autres outils pour promouvoir le jeu de rôle et le logiciel libre.
DiceParser en fait partie mais ce n’est pas le seul.
À cette liste s’ajoutent deux autres outils :

RMindMap

RMindMap

L'image est en svg.

Un outil de schématisation une histoire et les interactions entre chaque protagoniste. Cet outil sera intégré à Rolisteam dans le futur (assez lointain).
https://github.com/obiwankennedy/rmindmap

Rolisteam Convention Manager

Cet outil est dédié à la gestion de conventions et évènements rolisto-ludiques. Il permet de dresser un catalogue des jeux disponibles, d’inscrire les participants, de comptabiliser les parties, leurs durées, le nombre de joueurs…

Il a été utilisé pour deux conventions (Japan Expo Tours 2015 et Ludesco, La Chaux-De-Fond, Suisse 2015) par l’association Projets R. Il y a encore beaucoup de travail à faire dessus mais il rend un fier service.
https://github.com/obiwankennedy/rcm

Nous espérons qu'il sera utilisé par d'autres organismes pour d'autres évènements.

Aller plus loin

  • # un petit oubli

    Posté par  . Évalué à 3. Dernière modification le 27 août 2015 à 17:56.

    Etant roliste je me dois de te reprendre sur un point : maptool est aussi très utilisé, voir plus que Rolisteam (mais sur la zone française je pense que Rolisteam est très utilisé, voir peut être même en tête par rapport aux tenors que sont FG et R20.) Globalement, le découpage, serait plutot 40 % FG, 30 % R20 (en progression car plus jeune), 15 % Maptool (qui a un très bon système de gestion de la lumière et d'icone) et 10 % Rolisteam.

    C'est mon avis basé sur mon expèrience hein, mais apparament le dernier Casus Belli donne un peu près la meme chose.
    Question : Quid de la compatibilité sous linux ? (pour compiler la 1ere version de rolisteam il a fallu jongler sur un forum d'ubuntu et faire sauter des lignes de codes à l'arrache…)

    Question bis: le son est il diffusé depuis le poste du GM ? si oui, pensez vous intégrer le tchat vocal, sinon, pensez vous le faire prochaine (diffusion de musique / son depuis le PC de MJ)

    Question ter: y a t-il un façon d'envoyer à ces joueurs une configuration précise (genre un theme, avec les graphismes / bouton qui mettent dans l'ambiance / jet de dés usuels déjà préparés ) facilement (un fichier .theme ?); je pense qu'il y a beaucoup de compétence graphique dans le Jdr Français et cela permettrait de remonter Ro au niveau de FG (qui lui gere cette fonctionnalité)

    Cocorico et Longue vie à Rolisteam

    (PS: quoi ? je lis que Shadowrun est géré par Rolisteam ? Hey Chummer, I have to try that !

    • [^] # Re: un petit oubli

      Posté par  (site web personnel) . Évalué à 4. Dernière modification le 27 août 2015 à 18:38.

      Oui, je sais bien que MapTool est très utilisé mais pas forcement par la communauté française.

      Sinon pour les questions:
      1/ Je n'ai pas compris. Oui la première version c'était un peu à l'arrache mais bon, c'était la première version.
      Rolisteam est compatible linux. Sinon je n'aurais pas poster une dépêche sur linuxfr. Rolisteam v1.7 ne compile pas avec Qt5.5. J'ai fais mon développement sous Qt5.4. J'ai réparé cela hier sur le dépôt.

      2/ Non, principalement par crainte des lois sur les droits d'auteurs. Je laisse l'échange de musique (en streaming ou même en fichier distant) ne me semble pas une bonne idée si je veux éviter des ennuis avec la Sacem. C'est peut-être extrême mais prudence est mère de sureté.

      Non, la complexité d'un chat vocal, je préfère la laisser à Mumble, TeamSpeak ou autre. D'abord les cartes vectorielles.

      Avec cette version, il est possible de jouer de la musique via des streams. Rolisteam n'est qu'un client de ses flux. C'est un pas en avant. Avec le serveur standalone, nous verrons ce qu'on peut améliorer.

      3/ Cela commence à arriver. Dans cette version, il y a l'arrivée des thèmes. Il est possible de les exporter/importer depuis un fichier json (.rskin).
      Pour les dés, les alias de dés du MJ sont partagés avec ses joueurs.

      Merci :-p

      PS: Non, il n'y a plus de gestion de shadowrun. Il y a une faute dans le paragraphe: géré -> gérait. C'était très mal architecturé et ne collait pas vraiment à la philosophie que je souhaite mettre en place dans rolisteam.

      • [^] # Re: un petit oubli

        Posté par  (site web personnel) . Évalué à 7.

        Non, il n'y a plus de gestion de shadowrun. Il y a une faute dans le paragraphe: géré -> gérait.

        Corrigé, merci. Signé Mr. Johnson.

        • [^] # Re: un petit oubli

          Posté par  . Évalué à 2.

          arghhh non, un Johnson sur linuxfr ? je supprime mon login et hack le serveur pour faire disparaitre mes traces….

          • [^] # Re: un petit oubli

            Posté par  . Évalué à 2. Dernière modification le 28 août 2015 à 18:21.

            Les règles de la matrice dans Shadowrun m'ont toujours fait rire.

            Particulièrement le moment où j'ai vu qu'il n'était pas possible de copier-coller certains programmes qu'on a écrit soi-même.

      • [^] # Re: un petit oubli

        Posté par  . Évalué à 4.

        ma question sur la compilation vient en effet de la 1ere version, qui bien qu'en QT, ne compilait pas sous linux (sauf a éditer du code), et ensuite il y a eu (mais ma mémoire peut se tromper), une version windows plus récente que celle de linux… Bref, c est du passé et c'est tant mieux :)

        Ce qui m'embete le plus avec les tables virtuelles, c est justement de devoir jongler avec plein d'outils… pour le tchat vocal je peux comprendre, mais permettre au MJ de lancer une musique chez tout le monde a un instant bien précis, ça ajoute à l'ambiance (lancer le theme de conan, et je vous garantis le silence sur le tchat vocal et que tout le monde regarde ces capacités d'attaque en même temps…). Idem pour le fait d'avoir un theme commun (le mj prépare le theme de son coté, tout le monde se connecte, et le mj balance le theme a tout le monde, voir les fiches de personnage, ca ca serait cool; pour de l'initiation ca serait top (nos petits jeunes décollent pas de leur écran…)

        Je m'en vais regarde comment se font les themes alors :)

        Encore merci à tout ceux qui sont derrière ce programme (mes 2 passions en un, linux et le jeu de role

  • # problème de compilation sous arch

    Posté par  . Évalué à 1.

    Bonjour,
    J'ai essayé de compiler rolisteam sous Arch Linux, avec pour objectif d'écrire mon premier pkgbuild et de le publier sur les aur. Malheureusement, je n'ai pas réussis à le compiler.
    $ qmake-qt5 rolisteam.pro
    WARNING: Failure to find: src/diceparser/result/parsingtoolbox.h

    J'utilise les sources prises sur github. J'ai essayé de compiler diceparser, aucun problème.

    bépo powered

  • # adresses pour jouer ?

    Posté par  . Évalué à 4.

    bonjour,

    j'ai joué jadis aux jdr sur table, et j'adore cela. Il m'est difficile de refaire cela actuellement, aussi un système comme Rolisteam me conviendrait. Connaissez-vous un forum qui permettrait d'organiser des parties ?

    « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.