Introduction to Dynamic Dungeon
Dynamic Dungeon is a powerful node-based procedural tilemap generation tool for Unity. It allows for the creation of complex, constrained, and organic environments by leveraging a rule-based approach to world-building.
Key Features
- Tilemap Rules: Design your world based on grid-based rules and constraints.
- Node-Based Workflow: Visualise and iterate on your generation pipeline with a powerful graph editor.
- Hybrid System: Seamlessly combine high-level constraint-based layouts with low-level organic noise.
- Performant: Built on Unity's Job System and Burst Compiler for near-instant generation.
Getting Started
If you are new to Dynamic Dungeon, we recommend starting with the tutorials:
- Creating Your First World (Procedural Caves)
- Creating Your First Dungeon
- Combining World and Dungeon
- Validating Your World (Diagnostics)
Core Documentation
For in-depth guides on the primary systems:
- Constraint Generator: High-level layout engine for rooms and connectivity.
- World Generator: Low-level node-based graph tool for tilemaps. See the Node Reference for a full reference.
- Map Diagnostics: Analysis tools for pathfinding and walkability.
- Developer Guide: Technical overview for extending the tool.
Type Casting
The World Generator supports implicit type casting between specific port types to simplify graph creation. When connecting incompatible ports, a cast mode is automatically selected.
| From | To | Logic |
|---|---|---|
Float | Bool Mask | Casts to True if the float value is >= 0.5, otherwise False. |
Float | Int (Floor) | Rounds the float value down to the nearest integer. |
Float | Int (Round) | Rounds the float value to the closest integer. |
Bool Mask | Float | Casts to 1.0 if true, and 0.0 if false. |
Int | Float | Direct conversion of the integer value to a floating-point number. |
Advanced Features
- Blackboard: Define global variables that can be shared across multiple graphs and sub-graphs.
- Sub-Graphs: Reusable graph snippets that can be nested within other graphs to reduce complexity.
- Editor Utilities: Workflow tools like Sticky Notes for documentation and organisational features.
Float
Bool Mask
Int (Floor)