Pocket Dungeon DunGen

This forum is currently in read-only mode.
From the Asset Store
Template for dungeon/maze generation, using wave function collapse
  • Hi

    I want to know whether it would be possible to recreate this game using construct. It is a print and play dungeon crawler game that randomly creates dungeons for you to explore, using a system the creator calls the 'DunGen' system. I have as yet to try Construct out, but I would just like to know whether it is possible.

    The system uses a very simple ask-and-roll technique, and begins every time you enter a door (you can only see the rooms you have explored), and goes something like this:

    Room size (using a 6-sided die) (in grid squares) (layout can be whatever)

    1-2 = 3

    3-4 = 4

    5 = 5

    6 = 6

    Number of doors

    1 = 1

    2-5 = 2

    6 = 3

    Door Direction (4-sided die)(normally you just put the doors wherever but if you cannot decide this is used, not sure whether this will be needed when implementing the system in construct)

    1 = N

    2 = S

    3 = E

    4 = W

    Door lockedness (rolled only when there is more than one door on every door after the first one to be generated) (locked doors need to be bashed or picked, and opening a locked door takes one turn and suceeds on a 5-6)

    1-4 = Un

    5-6 = L

    Number of monsters (rolled on an eight sides die)

    1 = 0

    2-3 = 1

    4-5 = 2

    6-7 = 3

    8 = 4

    It also has a couple more charts for Treasure chests, and Treasure contents for when you open them (they're locked), and type of monster is based on a progressive system of how many rooms you have explored.So, would it be possible to implement this system into construct without using python, or would there have to be coding involved? I believe it could also be possible to create the entire dungeon beforehand, and only reveal the rooms as the player enters them.

    And whatabout the system of attacking, which is a six sided die plus whatever attribute of your character (strength, dexterity and wisdom, which also affects player stats which are HP, speed and action points) the weapon used corresponds to, plus the weapon's hit bonus. If that sum overcomes the opponent's armor rating, it does permanent HP damage based on the weapons damage rating (if you didn't understand that bit just ignore or tell me that I can or can't do formulas for attacking). Whatabout items like potions that directly affect gameplay (such as invisibility, base stat increases or health and Action point restoration), or a HUD with the player's inventory ?

    That came out a bit more complicated than I wanted, I pretty much just explained the whole game

    Anyway, so the main thing is: can the DunGen system be done?

  • Yes given a reasonable knowledge of how things work, what you described is fairly easy.

    In fact the dice rolling is the easy part. Random(6)+1 will give you the same odds a regular six sided die would.

    The hard(er) part would be the actual placement of the tiles, etc.

    Fortunately there's a plug that works pretty close to what your looking for.

    http://www.scirra.com/forum/viewtopic.php?f=29&t=7161&hilit=dungeon

  • Is it possible to use that generator to recreate the DunGen system, without corridors connecting rooms, and rooms that aren't just rectangular?

    The goal is for it to look something like this:

    <img src="http://img262.imageshack.us/img262/1952/001ai.jpg">

  • Pretty close, but the plug was made to be more of a maze generator.

    However you can have as many rooms as you like, but the they are all 4 sided.

  • If I can't find a solution that does look pretty close, it even has doors.

    So you said most of what I wanted to do would be easy, is there a way to link that random die formula to the creation of a room that is drawn randomly?

    Also, can I implement a system of progressive monster generation, rooms 1-9 the character explores are tier 1 monsters, 10-15 are tier 2 etc., and room 30 is a boss room that has it's number of doors and tile space multiplied by eleven to make the room much bigger. Oh yeah, and I imagine it is simple to add locks to doors and make the exit locked unless you use a key the boss drops upon death.

  • Yeah, almost.

    Rooms are about the only thing that it has good control of.

    You could use the die method for it by using a variable.

    + System: Start of layout

    -> System: Set global variable 'roll' to random(6)+1

    -> DungeonGenerator: Set room count (global('roll') minimum, global('roll') maximum)

    As to the monster generation there is no set hierarchy. All you can do is compare what tile is at what position.

    So basically, if there is a room tile at x,y position create monster.

  • Ok, whatabout only showing rooms once the player has entered, and monster generation?

    PS.

    I should probably learn more about this program before I keep asking a load of questions.

  • Monster creation is a bit more difficult, but doable with some sort of counting and comparison system.

    see previous edit.

    As to the hiding of the rooms:

    http://www.scirra.com/forum/search.php?keywords=fog+of+war

  • I'm beginning to learn how to use python, it's not that hard at all, just lots of typing. How would I go about making a plug in that does what I want it to?

  • Okay, I've looked at some of the formulars people have made in python for dungeon generation, I have no idea what I'm looking at most of the time, besides some weird rules about wall and tile destroy commands on overlaps and stuff, you'dthink this kind of stuff would be easier, I mean, just make the base tiles solid, and then make rooms that are generated among those tiles non-solid, allowing the player to pass through.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If your not very experienced with Python I'd suggest trying to do it with events.

    You wont get the transferable script you get with Python, but you will get a lot of experience in Construct.

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