Welcome to the GPT Dungeon Master repository! This project harnesses the power of GPT models to create a dynamic and responsive Dungeon Master (DM) for tabletop role-playing games (RPGs). Whether you're a seasoned player looking for a quick rule reference or a group in need of an AI-driven DM for your next adventure, the GPT Dungeon Master is here to guide you.
Knowledgebase Integration: Access a vast digital library of RPG rulebooks. Get instant answers to rule queries, character abilities, and more.
Dynamic Storytelling: Let the GPT model craft intricate narratives, describe vivid settings, and generate unexpected plot twists.
Character Interaction: Interact with the GPT DM through your character. Ask questions, make requests, and engage in dialogue.
Text-to-Speech: Listen to the GPT DM through a text-to-speech engine. Hear the DM's narration, character voices, and more. The voices will be different based on the character.
Speech-to-Text: Speak to the GPT DM through a speech-to-text engine. Ask questions, make requests, and engage in dialogue.
Generative Art: Experience the GPT DM's imagination through generative art. See the DM's descriptions come to life in real-time.
Rule Enforcement: Ensure your gameplay adheres to the rules. The system checks player actions against the rulebook, ensuring a fair and consistent gaming experience.
Interactive UI: Engage with the GPT DM through a user-friendly interface. Input actions, ask questions, and immerse yourself in the game.
The GPT Dungeon Master is currently in development. Check back later for updates.
python main.py
To install the GPT Dungeon Master, one needs to have all the prerequisites installed and set up, and follow the setup guild. The following sections will guide you through the process.
Clone the repository
git clone https://github.com/SverreNystad/gpt-dungeon-master.git
cd gpt-dungeon-master
Create a virtual environment
python3 -m venv venv
source venv/Scripts/activate
python3 -m venv venv
source venv/bin/activate
Install the required packages
pip install -r requirements.txt
Create a file called .env
in the root directory of the project. Add the following lines to the file:
touch .env
echo "OPENAI_API_KEY=YOUR_API_KEY" > .env # Remember to change YOUR_API_KEY to your actual API key
To run all the tests, run the following command in the root directory of the project:
pytest --cov
coverage html # To generate a coverage report
If you do not want to run api tests, run the following command instead:
pytest -m "not apitest" --cov
The license is not yet decided. Check back later for updates.
Create a repository structure, and set up initial project documentation, survey the best tools for text-to-speech, speech-to-text, the GPT model and generative art.
Implement most of the planned features, creating a TTS and creating a generative image module, create a text generation module.
Create the core out of combate functionality like Character interaction and dynamic storytelling. Integrate the different modules.
Creating a user friendly UI to make the project easier to use without deep knolegde of the project. Work on QOL tools like SST engines module or similar tools.