Dungeon Generator — Now for sale in the Scirra Store!
<p>Perfect for generating dungeons for roguelikes, Metroidvania platformer levels, twin-stick shooter arenas or Zelda-like adventures. Levels that take seconds to generate - and hours to navigate!</p><h3>What can this dungeon generator do?</h3><div class="deshr"></div><p>It generates perfect mazes - all cells can be reached from all other cells using only one path. There is only one path from any one cell to any other cell.</p><p>It can create levels with multiple sizes of rooms, and has many ways of controlling the room size: cell sizes, minimum and maximum dimensions, average room size, all these can be changed. The levels can be limited in size either by the number of rooms they take up, or simply by the size of the grid on which they are drawn.</p><p>It can create levels with logic: a theoretical 'path' can be used to break the level up into zones, set the locations of objectives, and so-on. There are no loops - no ways for the player to short-cut the intended progression.</p><h3>How does it work?</h3><div class="deshr"></div><p>It works by generating a grid on an array. It fills this grid with boxes of various sizes (according to variables set by the user, or by their game), and then selects a 'starting point'. Once it has selected a starting point, it begins finding paths out from that point. It continues either until it has created the correct number of rooms required (again, set by the user, or their game), or until it has run out of available spreading opportunities.</p><p>It's not always 100% perfect - because of the variety of sizes of rooms, sometime a dungeon may not reach the required number of rooms. If this occurs, it is recommended a re-roll of the generator take place. With careful use of the included parameters, however, this should not be a significant issue.</p><p>Coming in at under 100 events, this template can even be employed by users of the free edition!</p>
Use this topic to leave comments, ask questions and talk about Dungeon Generator