Wyrmframe
Wyrmframe is a Godot 4 template for building RPGs in the spirit of Baldur’s Gate 1/2, Icewind Dale, and Planescape: Torment – real-time-with-pause or turn-based party combat, stats, equipment, and status effects, built the way those genre classics played.
At its core is a simple rule: nothing is hardcoded. There‘s no „Strength“ or „Dexterity“ baked into the code – attributes, items, and effects are all data definitions you shape through Godot Resources. Bring your own ruleset; Wyrmframe brings the architecture to run it on.
The project is being built openly, one documented milestone at a time – currently at v0.2.0.
Here you’ll find a getting-started guide, an overview of each system, an API reference, and step-by-step tutorials – updated as each new piece lands.
Planned features
Wyrmframe is pre-1.0 and being built one documented milestone at a time - see the Roadmap for what’s shipped today versus what’s still ahead. Everything below is the target shape of the template; some of it already exists, most of it is on the way.
Core & Data Architecture
- Data-Driven Ruleset - Define attributes, stats, and item properties using Godot’s native
Resourcesystem, for rapid iteration without touching core logic. - Flexible Modifier Engine - Apply stat adjustments with flat values, percentages, or overrides, with clear priority rules for how they stack.
- Decoupled Architecture - Built around a central
EventBusandGameStateManagerso subsystems stay independent and easy to extend or replace.
Items & Equipment
- Configurable Equipment Slots - Define your own item slots (weapons, armor, trinkets, or anything else) to fit any genre, from high fantasy to sci-fi.
- Automated Stat Integration - Equipped items apply and remove their attribute modifiers automatically on equip and unequip.
- Separate Inventory Component - A clean inventory backend, ready to hook up to any UI or grid system you build.
Status Effects & Time Mechanics
- Effect System - Temporary and permanent buffs, debuffs, damage-over-time, and crowd control, all defined as data.
- Stacking & Expiration Rules - Configurable rules for stacking behavior, duration refresh, and time-based ticking.
- Tag-Based Cleanse System - Targeted dispel/cleanse mechanics built on customizable effect tags, not hardcoded effect names.
Dual Combat Engine
- Abstract Action & Time Core - A unified action queue that handles execution and cooldowns independently of how time itself is presented.
- Real-Time with Pause (RTwP) - Classic RTwP combat with auto-pause triggers and queueable orders, in the spirit of Baldur’s Gate and Icewind Dale.
- Turn-Based Mode - The same combat encounters, running on the exact same core - proof that switching modes is a configuration choice, not a rewrite.
Narrative & World Systems
- Dialogic Integration (optional) - A ready adapter for the popular Dialogic addon, with a lightweight built-in fallback for anyone who’d rather not add the dependency.
- Quest & Journal System - A small, native quest tracker for active, completed, and failed quests, independent of whichever dialogue tool you use.
- Save System with Scene Persistence - Full game state save/load, including stats, active effects, inventory, and the state of the level itself (opened chests, defeated enemies stay that way).
AI & Targeting
- Targeting System - Flexible targeting logic for self, single-target, area-of-effect, and Line-of-Sight checks.
- Behavior Tree Hooks (optional) - A clean interface for plugging in AI tools like Beehave for tactical decision-making, alongside a hand-written reference AI.
Of course, the plan may change. 🙂