À propos du projet

Project Infinity est un RPG basé terminal qui associe un maître de jeu IA à un moteur de jeu appliquant les règles. Il repose sur le contenu SRD 5.1. Le principe fondamental du projet est que le modèle de langage n'invente pas les résultats mécaniques : les jets de dés, les modifications de caractéristiques, la résolution des combats, les emplacements de sorts, l'inventaire, l'or, l'XP, les points de vie temporaires et la réputation sont gérés par un serveur Model Context Protocol local, alimenté par une base de données SQLite en mémoire initialisée depuis un fichier .player. Les joueurs utilisent d'abord un World Forge (python3 main.py) pour créer un personnage et un monde, générant des données de monde .wwf et un fichier de personnage .player. Le jeu prend en charge plusieurs backends IA via des scripts de jeu distincts : Ollama, DeepSeek, OpenAI, Gemini et Claude, ainsi qu'un mode Nano Banana enrichi d'images pour les terminaux Kitty. Les commandes en jeu incluent /help, /stats, /save, /sync et /quit. La couverture mécanique comprend les tests de compétences et les jets de d20, les attaques armées et à mains nues, les attaques de sorts, les jets de sauvegarde, le ciblage de zone, les sorts de soin, le repos et la récupération, la montée de niveau, les buffs actifs, le lancement de sorts via parchemins et le suivi de l'initiative en combat. Il fournit également un protocole de résolution par phases pour séparer la résolution mécanique de la sortie narrative, des indicateurs verbeux et de débogage, une divulgation transparente des dés et des résumés chronologiques de session. Le dépôt utilise Python 3.11+, Rich et prompt_toolkit pour l'interface TUI, Pydantic pour la validation, des configurations YAML et SQLite. Le code source est sous licence MIT, tandis que les données intégrées des règles de D&D proviennent du SRD 5.1 sous CC-BY-4.0.