QuestCode is a solo text RPG. A language model narrates the adventure - a Rust engine keeps the rules, rolls the dice and remembers the world.
Most AI text games put the entire game - every rule, every fact, every act - into one prompt. QuestCode splits the job: the engine runs the game, the model only writes the prose.
Self-host the whole stack. The engine carries the rules, so the language model on your GPU only has to do the one thing models are actually good at - generating text.
Llama.cpp, vLLM, SGLang, LM Studio or a cloud API - anything that speaks OpenAI-compatible HTTP.
The harness moves rules and memory into Rust, so a 9B-class model (Qwen-3.5-9B, Gemma-4) on a gaming GPU is enough for a great game.
Small models often mangle structured output and get confused. The engine is created for this and deploys several techniques to mitigate this.
Cheap local turns cost near zero. If you want a bigger model for story-critical moments, route them upward - you can configure every endpoint.
No account - No telemetry - No cloud bill
A world lore is markdown you own - edit it between sessions, version it with git, share it with friends.
QuestCode is a Rust harness built on top of Tokio, Bevy ECS and Ratatui. The model is not the heavy lifter - the harness is.
Turn order, tool calls and validation are fixed in code. The model proposes an action - the engine decides what happens.
Each LLM call is tagged by difficulty to save tokens. Routine tasks runs on a small local model. Story-critical reasoning can climb to something larger.
Workers on multiple endpoints run side by side - OpenAI-compatible, Anthropic, Gemini, Llama.cpp, vLLM - behind one config file.
# ~/.config/questcode/config.toml [ai.providers.local] base_url = "http://localhost:11434/v1" max_parallel = 2 [ai.providers.cloud] base_url = "https://api.openai.com/v1" api_key = "sk-…" [ai.preferences."local/<your-model>"] tier = "low" # routine narration stays local [ai.preferences."cloud/<your-model>"] tier = "high" # reserved for story-critical turns
QuestCode runs on Windows, macOS and Linux.
The program or source
code has not been released yet. It is currently under active development.
Please come back later!