🌟 Embark on an Unforgettable Journey with ChatRPG! 🌟
Dive into a mesmerizing world where your choices shape a dynamic adventure, fueled by the extraordinary power of ChatGPT's Large Language Model. ChatRPG offers a limitless realm of exploration, immersing you in an ever-changing tapestry of fantasy encounters and epic battles. Break free from the ordinary with unmatched replayability, as the adaptive AI ensures a unique experience in every playthrough. Whether you crave solo escapades or seek a substitute for Dungeon & Dragons, ChatRPG welcomes you to a seamless installation of Blazor and C# magic. Answer the call of fantasy—Play ChatRPG today and let your epic tale unfold! 🚀🗡️🔮
ChatRPG utilizes the Large Language Model (LLM) offered by ChatGPT to serve as the ultimate game master. This AI-driven experience allows for dynamic storytelling, creating a personalized and engaging adventure for each player.
Explore a vast and rich fantasy world filled with mysterious encounters, challenging combat scenarios, and intriguing NPCs. The AI adapts to your choices, providing a unique experience every time you play.
Unlike traditional Choose-Your-Own-Adventure (CYOA) games, ChatRPG offers unparalleled replayability. The adaptive AI ensures that no two playthroughs are the same, making each journey into the game a fresh and exciting experience.
For those who can't find a Dungeon & Dragons group or prefer solo adventures, ChatRPG provides a compelling singleplayer experience. Dive into the world of ChatRPG and embark on quests without the need for a group.
To begin your adventure, sign up on our platform. Create an account to track your progress and multiple characters for diverse playthroughs.
Enter the fantasy world and make choices that shape your character's destiny. Navigate through intriguing storylines, encounter mythical creatures, and overcome challenges.
Engage in dynamic combat with the AI-powered adversaries. The outcome depends on your decisions, skills, and a bit of luck. Will you emerge victorious or face the consequences of your choices?
Interact with diverse non-player characters (NPCs) who offer quests, information, and unique storylines. Your interactions with NPCs influence the unfolding narrative.
Clone the repository and follow the installation instructions to set up the server application powered by Blazor and C#. Ensure that you have the necessary dependencies installed to enjoy a seamless gaming experience.
- Clone the repository
git clone https://github.com/KarmaKamikaze/ChatRPG.git
- Navigate to the project folder and edit the
appsettings.json
configuration file.
cd ChatRPG/ChatRPG
Add your ChatGPT API key to the configuration file:
"ApiKeys": {
"OpenAI": "INSERT API KEY HERE"
},
- Build the project
dotnet build --configuration Release
- Navigate to the build folder and run the program
Important: Please read the Setting up Entity Framework section before running the game.
cd bin/Release/net8.0/
./ChatRPG
The data model is managed by Entity Framework Core (EF) using the "Code First" paradigm.
To get started locally, first ensure a postgres server is running on your local machine.
By default, the application connects to the server at localhost:5432
, expects a database named chatrpg
, and logs in
with username postgres
and password postgres
.
However, this can be changed by adding and customizing the following section to User Secrets:
"ConnectionStrings": {
"DefaultConnection": "Host=[HOST_NAME]:[PORT];Database=[DATABASE_NAME];Username=[USERNAME];Password=[PASSWORD]"
}
Once the connection string is set up, ensure the Entity Framework tool is installed by executing the following command in the ChatRPG project folder:
dotnet tool install --global dotnet-ef
Then use the following command to update (or migrate) the database to the latest version (replace update
with drop
for a complete reset):
dotnet ef database update
The database used in the connection string should now be up-to-date and ready for use.
Internally, EF uses the migration scripts in /ChatRPG/Data/Migrations/
to create the data model (tables, constraints,
indices, etc).
Whenever a migration is applied, this is logged in a table named _EFMigrationHistory
to track the current version of
the (local) data model.
To make changes to the data model, follow these steps:
- Ensure that your local data model is up-to-date.
- Make the required changes, e.g. by changing the database context (
/ChatRPG/Data/ApplicationDbContext.cs
), or by adding/altering models in/ChatRPG/Data/Models/
. - Run the following command, which will generate a migration named
[DATE_AND_TIME]_[NAME_OF_MIGRATION].cs
:dotnet ef migrations add [NAME_OF_MIGRATION]
- To apply this migration, run the command:
dotnet ef database update
The local data model should then be up-to-date.
Explore the visuals of ChatRPG through these snapshots to get a taste of the seamless user interface and the captivating world that awaits. Dive in, make choices, and let the magic unfold!
Welcome to ChatRPG! The journey begins at our inviting landing page, setting the stage for the immersive adventures that await.
Your control center for epic storytelling! The Dashboard lets users configure new campaigns, track progress, and seamlessly continue previous adventures.
Step into the heart of the action! The Campaign Gameplay screen is where fantasy comes to life, with dynamic storytelling and AI-powered encounters.
ChatRPG is an open-source project, and we welcome contributions from the community. Whether you're a developer, storyteller, or designer, there's a place for you in shaping the future of this AI-powered adventure.
- Fork the repository
- Create a branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Dive into the ultimate AI-powered adventure with ChatRPG! Create your own story, face mythical challenges, and experience the limitless possibilities that await you. May your choices shape a legendary tale in the realms of fantasy!