DunGen Core
The .NET Core implementation of DunGen
DunGen is framework powering the world's best random dungeon generator. Designed to be both easy-to-use, and highly customizable, and portable to any game system (both tabletop and desktop), it's the last dungeon generator you'll ever need.
App Status
NOTE: This is currently a work in progress. See our test site here
Branch |
Build / UT |
Deployment |
Code Quality |
Documentation |
master |
|
|
|
TODO |
About the Framework
The DunGen framework consists of multiple components:
- A model for a grid-based "dungeon", including labels for its layout & anatomy, and all kinds of infestations.
- A powerful Algorithm design with a slew of smart boilerplate algorithms, plus a plugin interface to write new ones, and the ability to create your own composite algorithms from any of them.
- All kinds of terrain-generating algorithms, which creat the dungeon's layout and annotate the layout with labels (e.g. "this is room 1," or "this is the hallway leading to the boss")
- All kinds of infestation algorithms, which fill your dungeon with any of the denizens, traps, and phat loot that you can find in your Library.
- Powerful serialization, including the ability to dynamically reproduce an entire dungeon through its algorithm runs. This also means you can load a dungeon's runs, modify their parameters, and make a slightly different dungeon (or the same one, with a different random seed).
- An ORM layer to interface with any major relational database (MySQL, Postgres, etc.), allowing you to create and share your own systems.
Sample Algorithms (Maze type)
Blob Recursive Division |
Recursive Backtracker |
|
|
Building, Developing, and Contributing
See CONTRIBUTING.md for more information on how to build, develop, and act as part of the team
Code of Conduct
We use the Contributor Covenant v2.0.
_See CODE_OF_CONDUCT.md for more information._
License
We use the GNU General Public License, version 2.
See LICENSE.md for the full text.
Support
Contact jnickg with questions, or to join the team.