About this project

Project Infinity is a terminal-based RPG that pairs an AI game master with a rule-enforcing game engine. It is built around SRD 5.1 content. The project's defining design is that the language model does not invent mechanical results: dice rolls, stat changes, combat resolution, spell slots, inventory, gold, XP, temporary hit points, and reputation are handled by a local Model Context Protocol server backed by an in-memory SQLite database initialized from a .player file. Players first use a World Forge (python3 main.py) to create a character and world, producing .wwf world data and a .player character file. The game supports multiple AI backends through separate play scripts: Ollama, DeepSeek, OpenAI, Gemini, and Claude, as well as an image-enhanced Nano Banana mode for Kitty terminals. In-game commands include /help, /stats, /save, /sync, and /quit. Mechanical coverage includes skill checks and d20 rolls, weapon and unarmed attacks, spell attacks, saving throws, area-of-effect targeting, heal spells, rest and recovery, leveling, active buffs, scroll casting, and combat initiative tracking. It also provides a phased resolution protocol to separate mechanical resolution from narrative output, verbose and debug flags, transparent dice disclosure, and session timeline summaries. The repository uses Python 3.11+, Rich and prompt_toolkit for the TUI, Pydantic for validation, YAML configs, and SQLite. Source code is MIT licensed, while embedded D&D rules data is from SRD 5.1 under CC-BY-4.0.