Logo DiceCombats

DiceCombats

DiceCombats est un gestionnaire de combats pour JDR conçu pour fonctionner quel que soit le système utilisé. Vous créez les fiches de vos créatures avec les champs dont vous avez besoin, puis vous suivez l'initiative et les points de vie pendant le combat. L'application gère ensuite les résistances aux dégâts, conserve un journal du combat et peut déclencher des actions dans d'autres applications.

Dernière version Licence GPL-3.0 Windows et Android
DiceCombats

Fonctionnalités

DiceCombats est pensé pour les maîtres de jeu qui n'ont jamais trouvé un outil réellement adapté à leur façon de jouer. Il n'impose aucun système de jeu particulier.

Champs personnalisés

La fiche d'une créature est entièrement construite à partir des champs que vous lui ajoutez. Dix types sont disponibles : points de vie, valeurs numériques, texte, cases à cocher, grilles de cases, grilles de texte, caractéristiques, états, couleurs et fenêtres détaillées. Une fois un champ configuré, vous pouvez l'enregistrer pour le réutiliser sur n'importe quelle autre créature.

Bestiaire et groupes de joueurs

Créatures et personnages joueurs sont enregistrés dans un même bestiaire, dans lequel vous pouvez rechercher une fiche et la réutiliser dans n'importe quel combat. Vous pouvez également regrouper vos PJ afin d'ajouter tout le groupe à un combat en un clic.

Import depuis aidedd.org

Si vous jouez à D&D, il suffit de coller l'URL d'un monstre d'aidedd.org pour importer directement sa fiche, qu'il s'agisse d'un bloc de statistiques au format 2014 ou 2024. Les liens vers les sorts s'ouvrent directement dans DiceCombats, sans devoir quitter l'application pendant le combat.

Gestion du combat

Pendant le combat, vous lancez les initiatives, définissez l'ordre des tours et passez directement au combattant qui vous intéresse. Un chronomètre permet de suivre la durée du combat, vous pouvez prendre des notes générales et chaque exemplaire d'une même créature conserve ses propres valeurs.

Dégâts, résistances et vulnérabilités

Vous définissez les types de dégâts utilisés par votre système, puis les résistances, immunités et vulnérabilités de chaque créature. Les propriétés d'une attaque, par exemple le fait qu'elle soit magique, sont prises en compte, tout comme les points de vie temporaires ou négatifs. Avant d'appliquer des dégâts, DiceCombats calcule le résultat réel et affiche le détail du calcul pour que vous puissiez le vérifier.

Journal de combat

Tout ce qui se passe pendant un combat est enregistré : dégâts infligés et subis par chaque créature, répartition par type de dégâts et progression au fil des rounds. Une fois le combat terminé, vous pouvez consulter les statistiques de la session ou les exporter au format JSON.

Automatisations

Les événements d'un combat peuvent déclencher des requêtes HTTP vers n'importe quelle application externe. Vous choisissez l'événement déclencheur, ajoutez éventuellement des filtres, puis définissez une ou plusieurs requêtes à envoyer, avec des délais entre elles si nécessaire.

Import, export et langues

Les créatures et les combats peuvent être exportés puis réimportés, par exemple pour les partager avec un autre maître de jeu. L'interface est disponible en français et en anglais, sous Windows et Android. DiceCombats est gratuit et open source sous licence GPL-3.0.

Les champs personnalisés

Les champs personnalisés sont au cœur de DiceCombats. Une créature n'utilise pas une fiche figée : vous choisissez vous-même les informations à afficher et la façon de les représenter en fonction de votre système de jeu. Voici les différents types de champs et leur rendu pendant un combat.

  1. Choisissez un type de champ dans la liste et ajoutez-le à la créature. Donnez-lui un nom, configurez-le, puis placez-le où vous le souhaitez dans la fiche.
  2. Si vous souhaitez réutiliser un champ, enregistrez-le comme champ personnalisé. Il apparaîtra alors dans la même liste et pourra être ajouté à n'importe quelle autre créature. Les champs définis comme partagés sont inclus lors des exports.
  3. En combat, chaque champ adopte son affichage de jeu et chaque exemplaire d'une même créature conserve ses propres valeurs.
Ajout d'un champ à une créature

Points de vie

Affiche les points de vie actuels et maximum. Ce champ gère également les types de dégâts de votre système, les résistances de la créature, les points de vie temporaires et, si nécessaire, les points de vie négatifs.

Points de vie, configuration
Configuration
Points de vie, en jeu
En jeu

Valeur numérique

Une valeur numérique, avec éventuellement un maximum et une unité. Pratique pour la classe d'armure, les points de mana, les munitions ou toute autre valeur à suivre pendant la partie.

Valeur numérique, configuration
Configuration
Valeur numérique, en jeu
En jeu

Texte

Un champ de texte libre, sur une ou plusieurs lignes. Il peut notamment servir à prendre des notes directement pendant le combat.

Texte, configuration
Configuration
Texte, en jeu
En jeu

Cases à cocher

Une liste de cases que vous nommez comme vous le souhaitez. Pratique pour suivre des actions légendaires, des emplacements de sorts, des blessures ou des niveaux d'épuisement.

Cases à cocher, configuration
Configuration
Cases à cocher, en jeu
En jeu

Grille de cases à cocher

Le même principe, organisé en lignes et en colonnes. Cette grille peut par exemple servir à suivre les emplacements de sorts par niveau ou les munitions de plusieurs armes.

Grille de cases à cocher, configuration
Configuration
Grille de cases à cocher, en jeu
En jeu

Grille de texte

Un petit tableau dont vous définissez librement le contenu. Il peut servir à regrouper des attaques avec leur bonus et leurs dégâts, de l'équipement, des réactions ou toute autre information structurée.

Grille de texte, configuration
Configuration
Grille de texte, en jeu
En jeu

Caractéristiques

Une série de valeurs accompagnées de leur libellé. Ce champ convient par exemple aux six caractéristiques de D&D ou à tout autre ensemble de caractéristiques propre à votre système.

Caractéristiques, configuration
Configuration
Caractéristiques, en jeu
En jeu

États

Les différents états utilisés par votre jeu peuvent être ajoutés ou retirés pendant le combat. Les états actifs apparaissent directement sur la fiche de la créature.

États, configuration
Configuration
États, en jeu
En jeu

Couleur

Attribue une couleur à chaque exemplaire d'une créature pendant un combat. Vous pouvez par exemple utiliser la couleur du socle de vos figurines pour distinguer immédiatement lequel de vos quatre gobelins est concerné.

Couleur, configuration
Configuration
Couleur, deux instances, deux couleurs
Deux exemplaires, deux couleurs

Fenêtre détaillée

Un bouton ouvre une fenêtre contenant du texte, du Markdown, du HTML généré à partir d'un modèle ou un PDF. C'est pratique pour les sorts, les capacités ou toute information détaillée que vous ne souhaitez pas afficher en permanence sur la fiche.

Fenêtre détaillée, bouton dans la fiche
Dans la fiche
Fenêtre détaillée, contenu affiché
Contenu de la fenêtre

Aperçu de l'application

Quelques captures d'écran de DiceCombats en cours d'utilisation.

La vue de combat

Vue de combat

C'est l'écran principal pendant une partie. Les fiches des créatures et leurs champs personnalisés y sont affichés, tandis que la fenêtre d'initiative reste accessible au-dessus. Vous pouvez lancer le chronomètre, afficher directement le combattant dont c'est le tour et garder vos notes sous les yeux.

Calcul des dégâts

Application des dégâts

Pour appliquer des dégâts, vous saisissez les différentes composantes de l'attaque et indiquez quelle créature en est à l'origine. Le résultat est calculé avant validation et le détail du calcul reste affiché, ce qui permet de vérifier immédiatement l'effet des résistances, immunités ou vulnérabilités.

Journal et statistiques du combat

Le journal de combat

Chaque combat génère une session contenant ses statistiques : dégâts infligés par créature, meilleur coup, moyenne, répartition par type de dégâts, dégâts reçus par cible et déroulement round par round. La session complète peut également être exportée au format JSON.

Votre bestiaire

La liste des créatures

Toutes les créatures et tous les personnages joueurs sont regroupés au même endroit, classés par initiale et accessibles par recherche. C'est également depuis cette page que vous pouvez les importer, les exporter et gérer vos groupes de joueurs.

Configuration des automatisations

Automatisations et API externes

DiceCombats peut déclencher des requêtes HTTP vers n'importe quelle API externe. Vous pouvez par exemple lancer un son ou un effet lumineux lorsqu'un joueur inflige des dégâts, ou modifier l'éclairage de la pièce selon le tour en cours. Il suffit de choisir un événement, éventuellement de le filtrer par attaquant ou type de dégâts, puis de définir la requête HTTP à envoyer avec les valeurs de cet événement. Des séquences plus complexes avec plusieurs requêtes et des délais sont également possibles. L'éditeur indique toutes les variables disponibles pour chaque déclencheur.

Interface sur Android

Version Android expérimentale

L'interface s'adapte aux différentes tailles d'écran et une version APK est disponible pour Android. Cette version reste expérimentale et certaines vues peuvent encore présenter des problèmes d'affichage.

Vos données

Vos créatures, vos combats et vos réglages sont conservés sur votre appareil ou, sous Windows, dans le dossier de votre choix.

Partage

Exportez un combat avec les créatures qu'il utilise, une liste de créatures ou toute votre bibliothèque, puis transmettez le fichier à un autre MJ. Lors d'une importation, vous décidez du sort de chaque élément que vous possédez déjà.

Le partage et l'importation en détail

Sauvegardes

DiceCombats sauvegarde vos données chaque jour, ainsi qu'avant chaque importation ou restauration. Vous pouvez restaurer chacune de ces sauvegardes depuis les Réglages.

Les sauvegardes en détail

Plusieurs ordinateurs

Sous Windows, vos données peuvent être conservées dans le dossier de votre choix, par exemple un dossier synchronisé par OneDrive ou Dropbox. Vous retrouvez ainsi les mêmes créatures et les mêmes combats sur chacun de vos ordinateurs.

Le dossier de données en détail

Écosystème Dice

DiceCombats fait partie d'un écosystème d'applications nommé Dice, une famille d'outils gratuits et open source que j'écris pour ma propre table de jeu et que je partage avec d'autres maîtres de jeu. Chaque application est dédiée à une thématique et à des tâches différentes dans le monde du JDR, et suit les mêmes principes : pas d'installateur, pas de compte, vos données restent sur votre machine, et la même philosophie de communication par interface HTTP.

Logo Dice Atrium

Dice Atrium

Toutes les applications Dice sont regroupées dans l'Atrium.

Voir le Dice Atrium
Logo DiceAudio

DiceAudio

Gère l'ambiance sonore de votre table : une bibliothèque de musiques, d'ambiances et d'effets sonores, des scènes en plusieurs couches avec des fondus enchaînés entre leurs contextes, et des scénarios couvrant toute une séance. Son API locale peut recevoir les requêtes des automatisations de DiceCombats, par exemple pour jouer un jingle lors d'un coup critique. La liaison entre les deux applications se configure manuellement dans leurs réglages respectifs.

Voir la page DiceAudio

Installation

Aucun installateur ni compte n'est nécessaire. Toutes les données sont stockées localement sur votre machine, dans un dossier que vous pouvez choisir sous Windows.

Compiler depuis les sources

Le SDK .NET 10 et les workloads MAUI doivent être installés. Les autres dépendances sont récupérées automatiquement depuis NuGet.

git clone https://github.com/YannCharbon/DiceCombats.git
dotnet workload install maui-windows maui-android
dotnet publish DiceCombats/DiceCombats.csproj -f net10.0-windows10.0.19041.0 -c Release -p:RuntimeIdentifierOverride=win10-x64 -p:WindowsPackageType=None -p:IncludeAllContentForSelfExtract=true -p:PublishReadyToRun=true -p:IncludeNativeLibrariesForSelfExtract=true

Contribuer

Bugs et idées

Si vous rencontrez un bug ou souhaitez proposer une fonctionnalité, vous pouvez ouvrir une issue sur le dépôt GitHub.

Pull requests

Les contributions sont les bienvenues. Merci de les documenter et de respecter autant que possible le style du code existant.

Licence

DiceCombats est publié sous licence GPL-3.0-or-later. Son code source est ouvert et le restera.

Soutenir le projet

DiceCombats est gratuit et je le développe sur mon temps libre. Les nouvelles fonctionnalités et les corrections peuvent donc parfois prendre du temps. Si l'application vous est utile, un don m'aide à continuer à la développer.

Faire un don avec PayPal

Utilisation de l'IA

Le développement de DiceCombats a commencé en juillet 2024, à une époque où les IA et les LLM n'étaient pas encore réellement utilisables pour produire du code fiable. Jusqu'au début de 2026, j'ai donc écrit moi-même l'intégralité du code. Les outils ayant beaucoup évolué depuis, j'utilise maintenant Claude Code pour m'aider à implémenter plus rapidement certaines fonctionnalités. J'aime programmer, mais j'aime encore plus consacrer du temps à l'écriture de mes scénarios de JDR. Dans ce contexte, l'IA me permet surtout de gagner du temps sur le développement pour le consacrer aux aspects créatifs. Si l'utilisation de l'IA est un problème pour vous, je comprends tout à fait que vous préfériez ne pas utiliser le projet. Je tiens simplement à préciser que DiceCombats reste un projet conçu et dirigé par moi, en tant que maître de jeu, dans le but de proposer aux autres MJ un outil gratuit et agréable à utiliser. L'IA m'assiste dans le développement, elle ne décide pas de ce que doit être le projet.