Wyrmframe - A System-Agnostic cRPG Template for Godot

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 Resource system, 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 EventBus and GameStateManager so 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. 🙂