1.8 KiB
1.8 KiB
Desktop Dungeon Generator
A Rust + egui desktop app for generating simple tabletop dungeon layouts on a scalable grid.
Current Features
- Resizable split layout:
- Left panel: generation settings
- Right panel: vector-rendered grid + dungeon preview
- Grid controls:
- Columns
- Rows
- Room controls:
- Room count
- Minimum room size (in grid cells)
- Maximum room size (in grid cells)
Square Rooms Onlytoggle
- Corridor controls:
Corridor Randomness (%)from0to100Dead-End Rooms (%)from0to50
- Generate control:
Generate New Layoutbutton increments seed and creates a new layout
Generation Behavior
- Rooms are stored as rectangles (
x,y,width,height) and placed without overlap. - Corridors are stored separately as vector line segments between grid cells.
- Every generated room is connected into one navigable network when possible.
Corridor Randomness
0%randomness:- Uses shortest-path routing for room-to-room corridor paths.
- Produces cleaner, direct corridor routes.
100%randomness:- Uses noisy/randomized routing while still ensuring room connectivity.
- Produces more wandering, less direct routes.
- Intermediate values blend between the two behaviors.
Dead-End Rooms
- Controls how many rooms should end up as dead ends (rooms with only one room-to-room connection).
0%targets no dead-end rooms (except tiny edge cases where topology makes this impossible, such as only 2 rooms).50%is the upper cap to avoid over-constraining connectivity.
Run
cargo run
Notes
- Rendering is vector-based in-app (
eguipainter), so zooming/scaling the preview remains crisp. - Room and corridor vectors are stored separately to support future export workflows (for example, SVG export).