Bonjour,
Je vous présente un projet sur lequel je bosse depuis quelques années (enfin je l'ai avancé, stoppé, repris, re-stoppé, etc. donc pas régulier :s) : il s'agit de JDR-BOT, un bot discord de JDR textuel
Présentation de JDR-Bot :
JDR-Bot vous permet de jouer à différents jeux (ou scénarios), de type Jeux de rôle, Histoires dont vous êtes le héros, Escape Game, JDR textuel (façon Colossal Cave Adventure).
Il permet aussi de jouer à des jeux très différents, comme des combats au tour à tour, des casinos, etc.
Il est actuellement hébergé manuellement lors des tests (principalement le soir de 20h à 00h, souvent l'aprem), et connecté sur un serveur discord : https://discord.gg/Z63DtVV (ce discord réunit aussi des joueurs de jeux fun en coop/compet et des Créateurs de toutes sortes, mais ce n’est pas le but de ce topic, je passe à la suite)
A terme, il sera disponible pour ceux qui veulent, et il sera open-source, il n'aura aucun but commercial, fonction payante ou autre
Enfin il dispose de quelques commandes pour JDR/RPG, comme !lancer_des ou !jeter_des
Le bot est proche d'être finalisé, mais j'ai besoin de testeurs pour voir les derniers réglages à faire (ou il se peut qu'il y ait encore beaucoup à faire )
Évidemment il s'adresse aux rares fans des jdr textuels à l'ancienne (ou de livre dont on est le héros), ou escape-game, donc faut aimer lire et réfléchir
Pour jouer ou avoir un aperçu du fonctionnement des scénarios, j’ai écris une documentation*: Documentation-JDR-Bot
Scénario actuellement disponible :
(certains ne sont que temporaire pour me permettre de tester une fonction précise du bot, d'autres sont déjà assez complet).
• aventure-inutile.txt (cours et marrant)
• chateau.txt (petit escape room)
• combat.txt (combat au tour a tour contre un boss)
• dancing-house.txt (c'est un test, court et peu intéressant pour un joueur)
• random.txt (jeu de hasard)
• rpg-company.txt (escape game avec énigme et code)
• train.txt (histoire à choix et fin multiples !)
Les scénarios sont écrits dans une syntaxe propre aux bots, et un tutoriel sera fait pour que quiconque puisse en écrire un. le bot prend en compte l'aléatoire, des variables, etc. (un bon exemple est combat.txt ou random.txt), il peut aussi prendre un code ou une "mise" par exemple (voir random.txt)
Les changements récents : (sur lesquels il peut subsister des bugs, que je remarquerais avec les tests)
• Le bot peut désormais diffuser des sons depuis le scénario (le son d’ouverture d’une porte par exemple) et afficher des images
• Il fonctionne sans problème sur plusieurs serveurs à la fois, et peut gérer des scénarios héberger sur le serveur de votre choix (celui par défaut ou le votre) via une commande.
• Le bot ne réagit aux commandes de jeu que dans un channel nommé #jdr-bot et ne se connecte au vocal que si un salon #JDR-Bot existe)
• Le code est un peu bordélique, faut que je nettoie et commente ça, mais le bot est totalement opérationnel (à l’exception des éventuels bugs que je découvrirais avec plus de testeur)
Après la période de test, le bot sera hébergé (sur VPS je pense), et il sera distribué (lien pour l’ajouter sur votre serveur discord + code open-source).
Le bot sera sous licence Créative Commons by-sa
Historique :
J'ai commencé y'a bien des années avec un bot sur IRC. de manière bien plus simple, il ne gérait pas les variables, les retours à la lignes, etc. C'était au niveau d'un livre dont on est le héros
Y'a 2-3 ans, je l'ai adapté sur discord, une version 1.0 aussi simple que sur irc, mais prenons en compte les objets, des conditions pour débloquer des salles, etc.
Y'a 1 ans, j'ai du refaire le code puisque discordpy et python ont changé de version, ce n'était plus compatible. J'ai ajouté petit à petit des fonctionnalités, et c'est devenu la version 2.0
Y'a 1 semaine... Je me suis aperçu d'un truc très bête de ma part : j'ai codé salement (tant que ça marche) avec des variables globales. Donc si le bot est sur 2 serveurs, les 2 serveurs sont considérés sur la même partie, mais sans voir les messages de l'un et de l'autre. Donc j'ai refais au propre en POO, avec une classe Jeu, et un dictionnaire basé sur l'id du serveur. Le bot est bien ce qu'est censé être un bot : multi-serveur.
La version 3.0 commence donc sa phase de tests
C’est la raison pour laquelle le code est pas des plus beaux*: j’apprenais au fur et à mesure ce que je voulais faire en python, j’ai codé par période irrégulière (entre deux périodes de classes de découvertes par exemple), etc.
Voila, merci aux futur testeurs pour vos avis
++
ps : screen d'une partie en cours :![]()






Répondre avec citation
Partager