/dungeon-planner

Dungeon Planning tool for (tabletop) games

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

This project is still in an early stage. I've started to use it for my own games and will try not to break project files. However, if required, newer versions might be not be able to open older project files.

Run Tests

Dungeon Planner

Dungeon Planner is a small and simple tool to plan and organize dungeons for tabletop games. Dungeons are composed out of chambers and doors, for which notes can be added. The application is game system agnostic and can be used for any system. Dungeons can be exported as PDF.

Tools

  • Add Chamber: Creates a new chamber to the dungeon. The chamber will appear in the Chamber list.
  • Selection: Select chambers or doors by clicking on them in the canvas. Some tools only work with an active chamber or door.
  • Cut Tool: Used to split a chamber wall in half, adding a new corner to the chamber.
  • Draw Tool: Used to draw a chamber. This tool will always continue from the last corner of the chamber.
  • Add Door: Allows adding a door to the selected chamber. Door are always placed on walls.
  • Chamber List: Lists all chambers. Allows selection of chambers.
  • Chamber Details: Change the name and notes of a chamber
  • Door List: Lists all doors. Allows selection of doors.
  • Door Details: Change name and notes of a door. You can also define to which chamber a door leads.

Roadmap / Feature List to Version 0.1.0

  • Grid
  • Drawing chambers using straight edges
  • Grid Snapping
  • Assign doors/properties to edges
    • hidden doors and chambers
  • GM Notes on chambers
  • Prints
    • Full map with numbers assigned to chambers
      • GM Notes
    • Chambers seperated to cut out ( #11 )
    • Player Map
  • Placing object markers (stairs, chests)

Developmnet

Setup

Install GTK dependencies. This project requires at least GTK 4.6 (standard for Ubuntu 22.04).

Tests

cargo test

Run Development Version

cargo run

Build Release Version

cargo build --release