Design Goals of DSL Forge
DSL Forge is designed to provide an extensible, modular, collaborative scripting system for Unity projects.
Modularity
Game logic often includes complex tasks, branching dialogues, event triggers, and numerical calculations. If all of that is hard-coded into a single monolithic script, it's extremely hard to maintain or update.
DSL Forge embraces modularity by letting you split complex logic into small, reusable script units. Each flow is an independent module that can be developed, tested, and combined with others.
This enables:
Team members to work in parallel
Reusing logic across levels and scenes
Easier maintenance and updates late in the project
Designer-Friendly
Traditional C# scripting is intimidating for non-programmers. Even small changes require asking a programmer to edit code and rebuild.
DSL Forge is designed to be accessible for non-programmers to author and edit game behavior.
It supports:
Plain-text scripts that designers can edit in any text editor
Visual node-based editor for drag-and-drop flow building
Built-in command encyclopedia to avoid typos
Version-control-friendly asset formats
This puts quest logic, dialogue branching, and event scripting truly in the designers’ hands.
Data-Driven
A common problem in game development is hard-coded logic. Even minor design changes require code edits, recompiling, and repackaging, slowing iteration.
DSL Forge is built around a data-driven approach: logic isn't in code; it's stored as editable data.
Benefits include:
Designers can adjust content without code changes
Version control systems can easily track logic updates
Logic can be hot-loaded or updated at runtime
Enables modding systems and user-generated content
Easy to Extend
Every game project is unique, and no built-in command set can cover every need. DSL Forge is designed to be easy to extend:
The command system is modular and plugin-friendly
Developers can add custom commands with minimal effort
Plugins can be maintained and versioned independently
Editor integrations can automatically generate command encyclopedias
This lets teams build their own command libraries to suit their project's needs.
Last updated