waidrin  by p-e-w

AI-powered RPG engine for dynamic storytelling

Created 4 months ago
258 stars

Top 98.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Waidrin is an AI-powered role-playing game engine designed for dynamic, large-scale narrative experiences. It addresses the challenge of managing complex game states with potentially thousands of characters and locations, outputting structured narrative events rather than simple chat. Targeting developers and players seeking a blend of classic Choose-Your-Own-Adventure (CYOA) mechanics with the freedom of generative AI, Waidrin offers a novel approach to interactive storytelling.

How It Works

The engine employs an asynchronous, fully typed, and validating state machine. Core to its operation is constrained generation using JSON schemas, enabling dynamic creation and tracking of game elements like locations and characters as the story unfolds. This approach ensures robust state management and allows for the generation of structured narrative events. Waidrin's design prioritizes scalability and coherence in complex RPG scenarios, differentiating it from traditional chat-based AI systems.

Quick Start & Requirements

Installation involves cloning the repository (git clone https://github.com/p-e-w/waidrin.git), navigating into the directory (cd waidrin), and running npm install followed by npm run build. To run Waidrin, a llama.cpp server with a chosen LLM model (Mistral Small 2506 recommended) must be operational. The application is then started with npm run start. Development mode, offering hot reload, is accessible via npm run dev. Prerequisites include Git, Node.js, and a functional llama.cpp setup.

Highlighted Details

  • Features AI-generated artwork to enhance atmosphere in the React-based frontend.
  • Player interaction blends CYOA-style multiple-choice actions with freeform text input.
  • Designed to manage potentially thousands of characters and locations without state degradation.
  • Currently implements only the fantasy genre.
  • Includes automated character name and biography generation, with user override options.

Maintenance & Community

The project is copyrighted by Philipp Emanuel Weidmann (pew@worldwidemann.com) as of 2025. No specific community channels (e.g., Discord, Slack) or details on active contributors beyond the copyright holder are provided in the README.

Licensing & Compatibility

Waidrin is licensed under the GNU Affero General Public License (AGPL) v3 or later. This strong copyleft license requires that any modifications or derivative works, including those accessed over a network, must be made available under the same AGPL terms. This may impose significant restrictions on integration into closed-source or commercial products.

Limitations & Caveats

Currently, only the fantasy genre is supported. The system has a hard dependency on a separately running llama.cpp server and an LLM model. The AGPL license necessitates careful consideration for commercial use or integration into proprietary software. As the engine and frontend are co-evolving, users should anticipate potential breaking changes.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
21 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.