Rolisteam v1.9, la nouvelle version

40
13
oct.
2019
Jeu

L’équipe de Rolisteam est heureuse d’annoncer la sortie de la version 1.9 du logiciel de table virtuelle pour la réalisation de parties de jeu de rôle. 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’images au lancement de dés. Rolisteam est une table virtuelle libre. Elle est une divergence (fork) de Rolistik fait en 2009.

Rolisteam
Cette version contient de nombreux changements (voir liste complète plus bas) dont les principaux sont : l’arrivée d’un serveur dédié, un navigateur Web interne au client, des notes partagées, un visionneur de PDF et des améliorations côté « expérience utilisateur », sans oublier l’amélioration des nouveautés de la version 1.8.

Sommaire

Informations et actualités

En plus, du travail fourni sur le code de Rolisteam, l’équipe a réalisé d’autres travaux.

Bot discord

L’équipe a fait le choix de proposer à la communauté, une partie des fonctionnalités de Rolisteam sous la forme d’un (ro)bot. Il s’agit d’un bot proposant le système de dés de Rolisteam : DiceParser.

Ce bot est actuellement utilisé par environ 40 000 serveurs Discord. Cet apport de nouveaux utilisateurs a entraîné un nombre important de demandes de fonctionnalités et de retour de bogues. Cela a grandement amélioré le système de dés.

Discord

Fort du succès du bot, un serveur Discord a été ouvert pour rassembler la communauté d’utilisateurs de Rolisteam et du bot. C’est très positif, cela encourage l’entraide entre les utilisateurs et cela permet d’avoir un contact direct avec l’équipe de développement.

Les vidéos

L’équipe produit de nombreuses vidéos. Il s’agit principalement de vidéos de parties montrant Rolisteam en action. Il y a des vidéos de présentation de l’outil ou bien également des formations sur le QML. Ces vidéos sont publiées sur YouTube, mais l’équipe souhaite monter une instance PeerTube pour les héberger. Ce n’était pas la priorité avec la préparation de la version 1.9.0, mais cela va le devenir.

Nouveau site et nouvelle documentation

Le site interne a été refait. Drupal a été abandonné en faveur d’un générateur de site statique : Pelican. Ce générateur est également utilisé pour la documentation révisée, qui abandonne donc le wiki.

Incubateur KDE

Rolisteam a été accepté dans le programme Incubator de KDE. Les bénéfices de ce programme se verront certainement lors de la prochaine version. Pour le moment, le seul impact visible est le transfert des dépôts de GitHub vers le GitLab de KDE. Des changements dans le code du projet sont à prévoir pour se fondre pleinement dans la communauté KDE :

  • passage à CMake ;
  • conversion des traductions ;
  • nouvelle intégration continue.

Avoir un bout de Rolisteam dans son terminal ?

Si vous souhaitez avoir sur votre bécane un outil pour lancer des dés accessible depuis un terminal, c’est possible. Il vous faudra compiler un petit dépôt Git :

    git clone --recursive https://invent.kde.org/kde/rolisteam-diceparser
    cd rolisteam-diceparser/
    mkdir build
    cd build
    cmake ../
    make -j4
    sudo make install

Après l’installation, le binaire dice pourra être invoqué pour lancer une commande de dés :

$ dice 2d6   # lancer deux dés à 6 faces
$ dice 10d10 # lancer dix dés à 10 faces
$ dice "10d10c[>6&%2=0]" # lancer 10 dés à 10 faces, compter ceux supérieurs à 6…
$ dice "3d10s;\$1c[>=6];\$1c1;(\$2-\$3)i:[>0]{\"%3 Succès, [%2]\"}{i:[<0&<6]{\"%3 Échec, pas trop grave ! [%2]\"}{\"%3 Échec complet ! [%2]\"}}"  # lancer 3 dés à 10 faces, trier les valeurs, compter les valeurs supérieures ou égales à 6, celles égales à 1…

Si vous voulez voir la construction de l’arbre d’exécution, vous pouvez passer un paramètre :

$ dice 2d10 -d un_fichier_export.txt
$ dot -T jpg un_fichier_export.txt -o un_fichier_image.jpg

L’équipe de Rolisteam ne fournit pas de binaire pour cet outil. Cela doit être facile à empaqueter.

La liste détaillée des changements

Nouvelles fonctionnalités

  • application serveur multicanal ;
  • navigateur Web ;
  • visionneur de PDF et partage ;
  • notes partagées (corrige le bogue no 45) ;
  • annuler et refaire ;
  • système de raccourcis pour lancer les dés ;
  • une forge à PNJ (outil de création de personnages non joueurs) ;
  • gestion des formes, des actions et de propriétés d’un personnage (PJ/PNJ) ;
  • astuce du jour ;
  • tableau des raccourcis clavier.

Le système de dés

  • opérateur Split ;
  • opérateur de compte des occurrences (o) ;
  • opérateur Unique (u) ;
  • opérateur relance « tant que » (R) ;
  • opérateur Group (g) ;
  • opérateur relance si tous les dés sont égaux (t) ;
  • opérateur Bind ;
  • gestion des commentaires ;
  • variables dynamiques ;
  • gestion de commandes à instructions multiples ;
  • personnalisation du texte en sortie de commande ;
  • paramètre unique (u) pour les lanceurs D et L ;
  • les alias ne s’appliquent pas sur les chaînes de sorties ;
  • liste de valeurs ;
  • amélioration de la détection de boucle infinie ;
  • l’opérateur K accepte un nombre négatif comme paramètre ;
  • bogue no 51 — gestion du système de « tunnels and trolls » ;
  • bogue no 4 — crash causé par l’opérateur A ;
  • bogue no 55 — un résultat en chaîne par dé.

Fiches de personnages et RCSE

  • ajout de l’élément Table ;
  • ajout de l’élément PageWeb ;
  • ajout de boutons page suivante et page précédente ;
  • gestion des images embarquées ;
  • élément sur une page ou toutes les pages ;
  • ajout de la gestion de l’impression ;
  • les boutons de dés peuvent être glissés et déposés sur une fenêtre de tchat pour créer un raccourci de dé ;
  • du code additionnel peut être placé en début et en fin du fichier QML ;
  • amélioration des propriétés de la fiche (échelle fixe) ;
  • passage à QtQuick.Controls 2.0 (à la place de 1.0) ;
  • une fiche peut modifier les propriétés de son personnage (par code) ;
  • une fiche peut lancer des dés en interne (par code) ;
  • une fiche peut afficher du texte dans le tchat commun ;
  • RCSE — ajout d’un onglet Images pour gérer les images embarquées ;
  • RCSE — refonte complète du logiciel ;
  • RCSE — montre/cache des sous‐ensembles de colonnes (colonnes d’identification, colonnes de position, toutes les colonnes…) ;
  • RCSE — les champs avec du code personnalisé sont affichés en vert dans la table champs ;
  • RCSE — la page d’aperçu et l’éditeur de code QML sont l’un à côté de l’autre ;
  • RCSE — amélioration de l’éditeur de texte QML (fonte à chasse fixe, les tabulations en 4 espaces…).

Plans vectoriels

  • l’échelle est un nombre à virgule et non plus un entier ;
  • la grille peut être au‑dessus de la scène ;
  • des marqueurs animés peuvent être utilisés pour identifier des points sur un plan ;
  • meilleure mise en valeur de la sélection ;
  • outil pot de peinture ;
  • barre de vie sur personnage ;
  • bordure collante ;
  • améliorations des collisions.

Améliorations diverses

  • possibilité de limiter la longueur des titres en affichage avec des onglets ;
  • changer la couleur des onglets ;
  • renommage des documents ;
  • les sélecteurs de couleur apparaissent bien devant ;
  • les PNJ peuvent être enregistrés dans le scénario ;
  • le gestionnaire de ressources affiche le mode de chargement ;
  • les ressources non enregistrées ou indisponibles sont marquées en rouge dans le gestionnaire de ressources ;
  • mode plein écran ;
  • les messages des tchats peuvent être effacés ;
  • glisser‐déposer du gestionnaire de ressources vers une carte vectorielle ;
  • couleur alternante dans la liste de lecture ;
  • le convertisseur d’unités accepte de nouvelles unités et des nouvelles règles de conversion ;
  • la numérotation des chapitres dans le gestionnaire de ressources commence à 1 ;
  • les cinq derniers scénarios chargés sont en accès direct dans le menu fichier ;
  • les commandes de dé trop longues peuvent être cachées ;
  • exportation et importation des alias de dé.

Refonte du code

  • RCSE ;
  • scénario ;
  • le SDK des fiches utilise QtQuick.Controls 2.0 ;
  • du générateur de code QML ;
  • de la détection des boucles infinies dans le système de dé.

Résolution des bogues

  • Rolisteam : nos 1, 45, 48, 55, 65, 69, 81, 82, 83, 90 et 97 ;
  • diceParser : nos 4, 51 et 55.

Tests unitaires et qualité

  • système de dé : 163 ;
  • Rolisteam : 371 ;
  • RCSE et les fiches de personnages : 16 430 ;
  • test Fuzzer pour diceparser ;
  • test Fuzzer pour les formules des fiches de personnages.

Traduction

  • ajout de l’italien ;
  • ajout du catalan.

Le logiciel parle français, anglais, italien, espagnol, catalan, portugais (brésilien).

Expérimentation Rust

Pour les plus amateurs et amatrices de technique et de génie logiciel d’entre vous, une implémentation en Rust du serveur est disponible. Elle n’est pas fonctionnelle, mais elle se rapproche.

Le futur ?

Pour la prochaine version, l’équipe souhaite travailler sur les nouveautés suivantes :

  • un client Android ;
  • un éditeur de carte mentale partagé ;
  • un nouveau tchat.

Aller plus loin

  • # J'ai oublié d'en parler

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

    J'ai oublié de dire qu'il est possible de faire tourner le serveur Rolisteam sur une raspberry par exemple.

    L'idée derrière tout ça c'est de mettre à disposition des serveurs un peu partout.

    • [^] # Re: J'ai oublié d'en parler

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      On pourrait peut-être le rajouter dans la dépêche, mais où et sous quelle forme (qu'on ait qu'à copier-coller la phrase) ?

      « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

    • [^] # Re: J'ai oublié d'en parler

      Posté par  . Évalué à 2.

      c'est dommage que ça n'apparaisse pas dans la doc même sur la page de Rolliserver ou les pages d'aide à la compilation (en passant, la page de téléchargement du site et le readme du github pointent vers les anciennes pages de compilation du wiki)

      Du coup vu les dépendances, le client ordinaire version desktop devrait probablement fonctionner lui aussi avec un CPU arm sur Linux, non ?

Suivre le flux des commentaires

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