[PLUGIN] Dungeon/maze generator

This forum is currently in read-only mode.
0 favourites
From the Asset Store
The I18N (Translation) is a Construct plugin created to translate text in game.
  • This plugin can easily build a maze or a "dungeon" (called so for RPG traditions, you do not actually have to imprison dudes there). Based on Jamis Buck's dnd-dungeon. We used this system in a game called

    Subscribe to Construct videos now

    a long time ago, but I did not release the plugin as it was quite messy. I have now after a week's of work recreated the plugin, but better.

    Download zip (990 KB). Contains plugin, example .cap and exe.

    Source code

    <img src="http://paahdin.com/projects/dungeongen/img/maze.PNG">

    This is a basic maze. Yum, I picked a chocolatey color scheme.

    <img src="http://paahdin.com/projects/dungeongen/img/expanded.PNG">

    This is a maze with rooms, aka dungeon. It's built "expanded" to get thicker walls and better door placement.

    The normal workflow is as follows:

    • Set object mapping
    • Set parameters
    • Generate
    • Build to layer

    If you want more control over the process, you need to build to layer yourself using events or Python.


    Size: dungeon width/height in tiles. Actual size can be +-1 tile to accommodate walls.

    Tile size: Width/height of one tile in pixels

    Seed: Number to base the randomization on. Same number = always same result.

    Randomness: 0 - very straight corridors, 100 - lots of twists

    Sparseness: 0 - very tight density, 100 - very sparse density

    Dead end removal: percentage of dead ends the generator does its best to remove.

    Room count: max/min.

    Room dimensions: max/min height/width in tiles.

    Expressions available for all of the above. In addition you can fetch tile type (rock, tunnel, room) at pos x/y, room top left x/y, bottom right x/y and a thin wall type between two tiles (none, wall, door).

    For mazes (and other game purposes too) you can se the starting point and goal point of a maze.

    Build to layout:

    The dungeon is built to the layer of your choosing.

    Build to layout (expanded):

    To ensure all walls are at least one tile in size and to allow better door placement, the map size is epanded to x2 + 1 tiles. All corridors stay one tile wide.

    Set object mapping:

    Set (sprite) objects to use with the "build to layer" action. There's only rock, tunnel, room, (thin) wall and door tiles.

    That should be all, see the example .cap and experiment!

  • Wow that's awesome i'll try this plugin for sure! I'll post the results here soon

  • Thanks for sharing this Luomu.

    Not poked around with the cap yet but have run the exe.

    Looks like a great plugin.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You may have my first born child.

    What's the license on this baby?

  • What's the license on this baby?

    'm a big fan of the "do whatever you want" license. Jamis Buck's dnd generator is public domain so I would feel guilty for being more restrictive.

  • You may have my second born child.

  • Please take my wife. ba dum bum ching

  • HI

    Is there any way to set an entrance to these dungeons? or get the entrance from the generated map or something like that?

  • HI

    Is there any way to set an entrance to these dungeons? or get the entrance from the generated map or something like that?

    se actions "Set starting point" for entrance and "Set ending point" for exit. I'll add it to the example today...

  • Well. There seems to be some problem with the entrance/exit coordinates. It's because of this internal calculation in JBDungeon that the initial size you enter is multiplied by 2 plus 1 tile. I didn't want to confuse users with this so if you set size 10 the plugin sees it as 5 and the generator in turn multiplies it again... but the end result is that the start/exit coordinates are unreliable.

  • This plugin looks great. Can this plugin make multiple spanning levels? For example your dungeon is 10 levels down. Can you make level 1 and add stairs going down to level 2? Or would you have to create some sort of end to the dungeon level and load another map?

    but the end result is that the start/exit coordinates are unreliable.

    Has this been worked out?

  • Hello there!

    I'm trying to stretch a tiled background over a room, but i'm having some problems. The "RoomHeight" is returning something wrong, and i just set a text to show the values. It seems the height is actually returning the same as the width . Could you take a look into it?

  • hey loumu awesome plugin

    you haven't released the latest version though. I required the function to get a tile at x or y, and I downloaded the source code so I could add it, and it turned out it's already there, I just had to recompile to get it to Construct


    thanks for the plug

  • He's got another thread for it.


    I think the linked version has get tile.

  • the file is corrupted

    i cant get it to work

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)