DelveForge L shaped rooms

- Posted in D&D by

Welcome to the L-shaped rooms in DelveForge! enter image description here Upcoming features on the horizon:

  • โ€œConfigurable procedural corridor width (1โ€“2 tiles) and width probabilityโ€ ๐Ÿก’ a breeze
  • โ€œMulti-level dungeonโ€ ๐Ÿก’ ouch, ouch, ouch
  • โ€œManual dungeon editorโ€ ๐Ÿก’ hurt me plenty

Will these new features be available in TorchBound?

Yes but ... not just yet :)

DelveForge can now:

  • export โ€œsimpleโ€ dungeons (v1.0) that TorchBound can handle
  • export dungeons with new features (v2.0) that TorchBound is still far from being able to handle :)

Peace. Out.

Torchbound - From a Rules-Coupled Engine to a Pluggable Rulesets engine?

- Posted in D&D by

Goal

Torchbound started as (and it still is, as I write this) an implementation of Five Torches Deep. I still believe that it was the right choice: implementing a real game gave me concrete rules, contracts, tests, persistence requirements, dungeon interactions, combat, progression, and UI behavior instead of designing an abstract RPG engine upfront.

As Torchbound grows, however, I am wondering if it could be possible to preserve an important architectural option (which is a new idea, it just crossed my mind, so I'm letting my uncontrollable ramblings flow here):

Torchbound Core should not assume that Five Torches Deep is the definition of an RPG.

The long-term goal is not to turn Torchbound into a universal RPG framework. It would rather be to make the ruleset an explicit boundary, so that another system could eventually replace 5TD without requiring Torchbound itself to be rewritten.

Possible future rulesets include Nimble and an adapted 2D6 Dungeon ruleset.


Torchbound today

The current architecture already contains a large amount of reusable infrastructure:

  • campaign and session management
  • SQLite persistence
  • commands and events
  • dungeon import from Delveforge
  • dungeon identity, provenance and spatial state
  • save/reload
  • navigation and UI
  • player-facing projections
  • world-state management

However, the Engine also directly knows about many concepts belong specifically to 5TD.

Examples include checks, combat rules, proficiency, Supply, death and stabilization, resting, progression, spells, treasure rules and other game-specific mechanics.

Conceptually, the architecture still looks roughly like this:

                         TORCHBOUND TODAY

                         โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                         โ”‚     UI      โ”‚
                         โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                                โ”‚
                                โ–ผ
                    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                    โ”‚  Campaign / Session  โ”‚
                    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                               โ”‚
                               โ–ผ
                    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                    โ”‚        ENGINE        โ”‚
                    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                               โ”‚
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚              โ”‚              โ”‚
                โ–ผ              โ–ผ              โ–ผ
          โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
          โ”‚  Dungeon  โ”‚  โ”‚   State   โ”‚  โ”‚ Persistence โ”‚
          โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                               โ”‚
                               โ–ผ
               โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
               โ”‚       5TD assumptions        โ”‚
               โ”‚                              โ”‚
               โ”‚  checks       combat         โ”‚
               โ”‚  Supply       death          โ”‚
               โ”‚  rest         progression    โ”‚
               โ”‚  spells       treasure       โ”‚
               โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                              โ”‚
                              โ–ผ
                   โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                   โ”‚ Five Torches Deep  โ”‚
                   โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

This does not mean Torchbound would have to be rewritten from scratch to use another system.

It does mean that changing rulesets today would still require invasive surgery because infrastructure, orchestration and rules responsibilities are not yet consistently separated.


The architectural constraint from now on

The new rule is deliberately simpler than "build a multi-ruleset engine":

New Torchbound Core code must not introduce an implicit dependency on a Five Torches Deep rule.

For every new feature, from now I want to distinguish four responsibilities:

Core: Torchbound infrastructure and orchestration.

Rules: Mechanics belonging to the selected game system.

Content: Authored Torchbound adventures, encounters, profiles and configuration that may intentionally use a particular ruleset.

External contracts: Delveforge and other external representations that describe things to Torchbound without defining its game rules.

Existing mixed code does not need to be rewritten immediately. I will first audit it and then separate responsibilities where there is a demonstrated architectural benefit.


Target architecture

The desired direction is approximately:

                          TORCHBOUND

                    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                    โ”‚         UI         โ”‚
                    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                              โ”‚
                              โ–ผ
             โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
             โ”‚        Campaign / Core         โ”‚
             โ”‚                                โ”‚
             โ”‚   state          identity      โ”‚
             โ”‚   commands       events        โ”‚
             โ”‚   persistence    projections   โ”‚
             โ”‚   dungeon        orchestration โ”‚
             โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                             โ”‚
                             โ–ผ
                 โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                 โ”‚ Explicit Rules API   โ”‚
                 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                            โ”‚
               โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
               โ”‚            โ”‚            โ”‚
               โ–ผ            โ–ผ            โ–ผ
        โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
        โ”‚    5TD     โ”‚ โ”‚   Nimble   โ”‚ โ”‚   2D6D*    โ”‚
        โ”‚ Rules Pack โ”‚ โ”‚ Rules Pack โ”‚ โ”‚ Rules Pack โ”‚
        โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

                 Interchangeable Rules Packs

            * adapted to use DF-provided dungeons

The Core should therefore know primarily about concepts such as:

  • identities
  • state
  • commands
  • events
  • spaces and positions
  • persistence
  • transitions
  • sessions
  • projections

It should avoid assuming that every RPG necessarily has:

  • STR / DEX / CON / INT / WIS / CHA
  • d20 checks and DCs
  • AC
  • Supply
  • spell slots
  • 5TD death mechanics
  • 5TD progression
  • 5TD treasure tables

Those concepts can exist in Torchbound โ€” but their owner is the Rules Pack, not necessarily Torchbound Core.


Delveforge remains a separate responsibility

This distinction is particularly important for dungeon generation.

Torchbound should not become a procedural dungeon generator merely because one supported ruleset normally includes dungeon generation.

The intended responsibility split is:

                       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                       โ”‚   DELVEFORGE   โ”‚
                       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                               โ”‚
                      describes / generates
                               โ”‚
                               โ–ผ
                       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                       โ”‚    DUNGEON     โ”‚
                       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                               โ”‚
                               โ–ผ
                 โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                 โ”‚     TORCHBOUND CORE      โ”‚
                 โ”‚                          โ”‚
                 โ”‚  identity                โ”‚
                 โ”‚  spatial state           โ”‚
                 โ”‚  persistence             โ”‚
                 โ”‚  world state             โ”‚
                 โ”‚  orchestration           โ”‚
                 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                              โ”‚
                     interprets / resolves
                              โ”‚
                              โ–ผ
                       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                       โ”‚  RULES PACK  โ”‚
                       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

In other words:

Delveforge says what the dungeon is.
Torchbound says what exists and what happens in it.
The Rules Pack says how actions and consequences are resolved.

This remains true even for an adapted 2D6 Dungeon Rules Pack.

2D6 Dungeon normally includes procedural dungeon generation as part of its gameplay loop. In Torchbound, I would deliberately remove that responsibility from the Rules Pack and replace it with Delveforge.

Torchbound itself should not gain procedural dungeon generation merely to reproduce that part of 2D6 Dungeon.


Three architectural tests

I can use three rulesets as conceptual tests without implementing any of them yet.

Five Torches Deep - baseline

5TD is the existing implementation.

The question is:

Can I identify and eventually remove the 5TD rules without removing Torchbound infrastructure with them?

This reveals the current Core/Rules coupling.

Nimble - substitution test

Nimble is another fantasy RPG, so it will share some concepts with 5TD while implementing them differently.

The question becomes:

Could I replace 5TD with Nimble without changing code that genuinely belongs to Torchbound Core?

This is important because otherwise I could accidentally create abstractions that are merely the common denominator of 5TD and Nimble and mistake them for generic Torchbound concepts.

2D6 Dungeon - partial-ruleset / DF-substitution test

2D6 Dungeon is structurally more different.

For Torchbound, I would deliberately remove its procedural dungeon-generation responsibility and replace it with Delveforge.

The question becomes:

Can a Rules Pack surrender a responsibility already owned by another Torchbound component while retaining its coherent resolution, combat, treasure and progression mechanics?

This prevents me from solving the opposite problem by making Torchbound Core absurdly broad.


What I am deliberately NOT doing

I am not building a generic RPG framework today and trying to predict every RPG mechanic I may encounter in the future.

Instead, I can use the existing 5TD implementation to discover the first real boundary.

Later, an actual Nimble implementation can challenge that boundary.

If Nimble exposes incorrect assumptions, I can adjust it.

A substantially different system such as adapted 2D6 Dungeon can challenge it again.

The abstraction therefore emerges from real implementations and failing assumptions, rather than speculative generalization.


Desired end state

Eventually, changing the game system should conceptually approach:

                    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                    โ”‚  Torchbound Core   โ”‚
                    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                              โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚               โ”‚                โ”‚
              โ–ผ               โ–ผ                โ–ผ
       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
       โ”‚ Delveforge  โ”‚ โ”‚ Campaign / UI โ”‚ โ”‚  Rules Pack  โ”‚
       โ”‚   Dungeon   โ”‚ โ”‚ Saves / State โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ        โ”‚
                                                โ–ผ
                                     โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                                     โ”‚ Five Torches Deep  โ”‚
                                     โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                                                โ”‚
                                           swap rules
                                                โ”‚
                                                โ–ผ
                                         โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                                         โ”‚   Nimble   โ”‚
                                         โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

rather than:

                     โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
                     โ”‚ Change ruleset โ”‚
                     โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                             โ”‚
                             โ–ผ
                     rewrite engine.lua
                             โ”‚
                             โ–ผ
                 rewrite campaign_session
                             โ”‚
                             โ–ผ
                    rewrite dungeon logic
                             โ”‚
                             โ–ผ
                    rewrite persistence
                             โ”‚
                             โ–ผ
                        rewrite UI
                             โ”‚
                             โ–ผ
                    rewrite everything
                             โ”‚
                             โ–ผ
                            :(

That being said, I am far from being close to that yet.

But Torchbound is still early enough that adopting this constraint now is cheap compared with extracting 5TD assumptions after several more major gameplay systems have been built.

The immediate strategy is therefore:

Audit the existing coupling. Do not over-engineer it. Stop introducing new coupling today. Extract Rules boundaries only where real dependencies demonstrate that they are needed.

That keeps Five Torches Deep as Torchbound's first fully supported ruleset while leaving the door open for Torchbound to become, later, a game capable of running the same underlying campaign/dungeon infrastructure through genuinely different Rules Packs.


Yes, I know why you smile.

As if... this challenge wasn't already out of proportion to my technical abilities and my long-term commitment :)


Peace. Out.

Torchbound progress status

- Posted in D&D by

And... (drumroll) here's the first version of TorchBound, showing a player at the start of a DelveForge dungeon! enter image description here This is a god mode view, the dark squares are unknown to the player.
And the player canโ€™t go any further becauseโ€ฆ the next square contains a pit andโ€ฆ the โ€œobstacleโ€ handling isnโ€™t implemented yet, so the player is stuck :)
(Yes, starting with a pit right behind the dungeon entrance is pretty mean, but thatโ€™s how DelveForge generated the map, and I left it as is)
(Life is hard, especially for dungeon explorers.)

That said, itโ€™s nice to โ€œseeโ€ something after hours (and hours) of implementing rules and automated tests (1,723 and still counting).

Peace. Out.

DelveForge and Torchbound are on a boat...

- Posted in D&D by

DelveForge & Torchbound โ€” where are the boundaries?

The relationship between DelveForge and Torchbound became clear:
DelveForge creates places.
Torchbound makes stories happen inside these places.

They share a world, but they do not have the same responsibility.


DelveForge: the world builder

DelveForge answers one question:

What does this place look like?

DelveForge is an architect and decorator of an unexplored place. It generates:

DelveForge
|
โ”œโ”€โ”€ Spatial generation
|     โ”œโ”€โ”€ levels
|     โ”œโ”€โ”€ rooms
|     โ”œโ”€โ”€ corridors
|     โ””โ”€โ”€ connections
|
โ”œโ”€โ”€ Dungeon structure
|     โ”œโ”€โ”€ topology
|     โ”œโ”€โ”€ accessibility
|     โ””โ”€โ”€ constraints
|
โ””โ”€โ”€ Static features
      โ”œโ”€โ”€ doors
      โ”œโ”€โ”€ chests
      โ”œโ”€โ”€ skeletons (relics / remains)
      โ”œโ”€โ”€ pits
      โ”œโ”€โ”€ stairs
      โ””โ”€โ”€ other points of interest

A DelveForge dungeon is a coherent location.

Example generated by DelveForge:

Forgotten Chamber

  • ancient walls
  • locked door
  • forgotten chest
  • skeleton remains
  • dangerous pit
  • staircase leading deeper

DelveForge does not decide what happens there, it only says:

Here is a place with a history.


Who can experience a DelveForge world?

The generated world is not tied to a single consumer. The same dungeon can become:

A classic TTRPG adventure

Using:

  • printed PNG map
  • human imagination
  • a Game Master

A VTTRPG adventure

Using:

  • map export
  • structured dungeon data
  • virtual tabletop features

Torchbound

Using:

  • the modeled dungeon representation
  • game rules
  • persistence
  • gameplay systems

Torchbound: the world storyteller

Torchbound answers another question:

What happens here?

Torchbound gives life to the place. It adds:

Torchbound
|
โ”œโ”€โ”€ Characters
โ”œโ”€โ”€ Creatures
โ”œโ”€โ”€ Events
โ”œโ”€โ”€ Encounters
โ”œโ”€โ”€ Decisions
โ”œโ”€โ”€ Consequences
โ””โ”€โ”€ Progression

DelveForge creates:

There is a chest in this forgotten room.

Torchbound decides:

What is this chest?

It could contain:

  • a potion
  • a trap
  • a key
  • nothing

DelveForge creates:

A skeleton lies here.

Torchbound decides:

What does this mean?

It could be:

  • simple scenery
  • a fallen adventurer
  • a clue
  • part of a larger story

Same world, different experiences

The same dungeon can therefore live several lives. DelveForge exports a description:

{
  "room": 42,
  "features": [
    "chest",
    "skeleton"
  ]
}

A consumer interprets it according to its purpose:

  • a GM invents a story
  • a VTTRPG provides interaction
  • Torchbound creates an adventure

The simple rule

DelveForge creates the stage. Torchbound directs the play.

Or even shorter:

DelveForge builds worlds. Torchbound tells stories inside them.

Peace. Out.

Torchbound progress status

- Posted in D&D by

I'm proud to announce that Isometric Dungeon Generator is dead, long live Delveforge!
As Iโ€™m about to try to get Torchbound to load a dungeon generated by IDG, I figured it deserved a real name...
So, hereโ€™s Delveforge.
And its gorgeous future splash screen.
Delveforge
Yeah, sometimes I need to work on lighter projects to take my mind off things a bit :)
(yes, itโ€™s AI-generated)
(but a quick look at my artistic talents instantly exonerates me for this despicable misdeed)
(better pretty and cheated than ugly and completely homemade)

By the way, there are some major updates in the works for Delveforge, but I'm taking it easy for now, Torchbound needs a steady stream of input if I want it to be able to import anything someday :) enter image description here

Peace. Out.