Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

DunGen - Procedural Dungeon Generation

Discussion in 'Assets and Asset Store' started by Aegon-Games, Mar 7, 2014.

  1. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    With all this trouble of getting the bound right,.. is there way to manually specify the bound myself? Even if I have to manually add some boxtrigger to do this, I am all up for it.
     
  2. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    I'm not at my development PC right now so I don't have access to DunGen to test things. I'll try to answer whatever questions I can though.


    My issue is that it's only ever "just ok" for certain rooms to immediately repeat, I can't think of a reason that you'd specifically want that to be able to happen. Now that dungeon generation rarely fails, there doesn't seem like much of a reason to ever check the "Allow Immediate Repeats" box. Still, it wouldn't hurt to have the choice, so I'll add the option to do this on a per-room basis to my to do list and I'll either keep the current method as a global override, or just have the new option default to not allowing repeats.


    Thanks, I'll try to get that fixed in the next few days.


    I still need to look into this, but I've heard of a few people having problems with using ProBuilder and DunGen together. I vaguely remember it being something to do with ProBuilder requiring its own Instantiate() method, but I'm not sure if that's causing the issues you're seeing.


    Turning off the room trigger shouldn't cause any problems. Do you have any screenshots of the problematic rooms?


    Not right now. That was going to be the way it had to be done originally, but I thought I managed to implement an automatic method that works in all cases; I haven't encountered any overlapping myself since I improved the doorway socketing in 2.5.4
     
  3. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625


    Take look at above...

    The square room on the right has correct bound calculation.

    The T shape room on the left has incorrect bound calculation. You can clearly see some gap between render meshes and the red bound edge on the top. The assets used on the T shape is the same pieces that I used throughout the dungeon. There are no rendering mesh on top of T shape to indicate any sign that bound box edge should be there. There is no door on top of T shape. Just one on each side of the line of T shape. (left , right , bottom)

    All my tiles conform to the grid setting as well. If I could have manually place bound somehow, I can override when a tile fails to auto get bound but I can't even do that.. I think manual bound option should be another optional feature, in case auto bound fails somehow. I don't think users will complain too much about bound issue after that anymore. Because there is one sure way of doing it at least.
     
  4. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Or give us a "dummy door" so it doesn't work as real door connection but can be used to set the bounds. Perhaps this maybe easier..
     
  5. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    [NEW] Version 2.5.5 (Beta) - Download
    - "Allow Immediate Repeats" can now be specified per-tile and is now set to false by default
    - Both "Allow Immediate Repeats" and "Allow Tile Rotation" now have optional global overrides that can be set in the dungeon generator
    - Fixed an issue causing Tile trigger volumes to sometimes be incorrectly oriented
    - Fixed a bug which lead to SECTR portals not being removed when calling the Generate() function multiple times (like when using the analyzer)
    - Fixed some camera related bugs in the demo scene


    I wasn't able to reproduce the issues you're seeing with the bounding volume. The only problem I found was caused by the room trigger volume being rotated incorrectly (which should now be fixed in the latest beta).

    I'll keep trying to reproduce the issue on my end but so far I haven't found any faulty logic in the automatic bounds generation. I can't explain what could have happened to produce the results in that screenshot.
     
  6. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Ok, rather than trying to bang my heads trying to figure out the way to make my tiles to work with auto bound method, I have modified the scripts so that it can accept a dummy door that is only used for bound calculation. Now everything works and bounds are correct now.

    Aegon, I can understand that when it works auto bound is the easiest way, but the tool is being used by many different developers and all of their assets for tiles are different.. and there is chance that one may not be able to figure out why auto bound is not working properly. It could be some setup inside tile, or whatever.

    My point is if there is some way to "fall back" to method that seems to always work, we could still use auto bound, but just use manual method and be live with the result.

    Took me 10 mins to add this thingy..

    Created dummyDoor component, added it to game object that serves as bound and then within bound calculation I did condense the bound again using the dummyDoor.
     
  7. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    There shouldn't be an instance where the auto bounds method is failing. All it's doing is making a new AABB that encompasses the bounds of all renderer & collider components in the room. If the auto bounds method isn't working, it's a bug and I'd much rather fix it than introduce work-arounds.
     
    Dwight_P and hopeful like this.
  8. bigdaddio

    bigdaddio

    Joined:
    May 18, 2009
    Posts:
    218
    I am having some weird issues on Unity 5.1. I have rotate unchecked on my tiles yet they are rotating. Whats worse is tiles are stacking. I will have multiple tiles in almost the same space.

    I have been using this o create a 2D game and so far has been excellent. This is a new one.
     
  9. bigdaddio

    bigdaddio

    Joined:
    May 18, 2009
    Posts:
    218
    OK sorry my fault, apparently I had some doors rotated. In 2D they all look right but flip into 3D view and some were above the plane, some below.
     
    hopeful likes this.
  10. _Simmo

    _Simmo

    Joined:
    Oct 20, 2013
    Posts:
    17
    Hey :)

    I'm thinking of purchasing this asset for my WIP project but I'm wondering if it can do something that's vital to the way the game is designed:

    Is there an option for room prefabs to never be rotated? For instance, I would create room prefabs for every direction; North/South corridor, East/West corridor, North to East corner, East to South corner, etc. and have the dungeon generator only select rooms with doors in the correct edge of the tile.

    The reason for this is the game will be viewed from one angle only, so the wall at the far side of the room from the camera will be high, and the near side wall will be low. Can DunGen do this?

    Cheers!
     
  11. Dwight_P

    Dwight_P

    Joined:
    Feb 26, 2013
    Posts:
    31
    I have never personally turned the "Allow Tile Rotation" option off, but I am assuming without the option on tiles will not be allowed to rotate.
     
    Aegon-Games and _Simmo like this.
  12. _Simmo

    _Simmo

    Joined:
    Oct 20, 2013
    Posts:
    17
    Ah there is an option, perfect. That's exactly what I needed to know, thanks. I should have read the documentation more thoroughly as it says it has exactly the feature I was asking about, my bad :D
     
  13. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Aegon

    For my previous question about specific tile always being in the generated level you said :

    "
    The only way to guarantee that a room is used is to place it as a node in the dungeon flow graph (either a custom node, or using the existing start & goal nodes). You can then assign a separate TileSet with just one tile to these nodes.
    "

    But can it still be on the branch instead of always have to be on the main path?

    Is there any way to generate my "special" room always on the say on the branch and maybe on the last closed room?

    If I divide the arch type and let it have the end tile to always to have my "special" room, then will that work?
     
  14. bigdaddio

    bigdaddio

    Joined:
    May 18, 2009
    Posts:
    218
    There are weights and caps. You can weight the rooms to appear almost exclusively in branches or main path. You can create CAP room that cap off the end of branches. It says something about caps being inserted if possible, I would imagine that means as long as they fit.

    You can add your "special" room to any tileset and put it anywhere. A tile doesn't have to belong to only one set. So you can use a single tile as both a start and endcap easily.
     
  15. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Also, I am not sure how you guys are all handling your own saving of maps , but storing the random map seed isn't enough when you are still working on the tiles but you still want your players to keep playing their saved data game without breaking the whole experience.

    If something is added or removed from a tile set , or tile itself is changed, obvious effect would be the whole generated dungeons will be different and even if the structures do stay the same because only the content in the tile is changed, saved game data won't match up.

    So the best thing is to save the whole generated map (static data like ground and wall + dynamic data like items and stats)
    and then load the saved map instead of regenerating the dungeon again. But this is easier said then done.

    How do you guys handle something like this?

    I thought about saving each tile's data and then reconstruct the dungeon myself (not using dungen) but this still leaves me incorrect content mismatch if I change the tile itself.

    Easiest method would be, just finish making the game itself before anyone can play it and then there would be no changes so it's fine, but you can rarely do that especially if you are in the situation like Early Access.

    Second method I thought about is to make every little piece that your dungeon is made with into prefabs and then reconstruct them so that any changes you make is reflected back, but this probably means a huge save data with longer loading time (and save time)

    Beauty of random map generation is that dev can experiment with all sorts of different settings and combinations while developing , but other side of coin is that the players who are doing tests and early access are going to experience horrible broken save game experience.
     
  16. AlexSledge

    AlexSledge

    Joined:
    Nov 13, 2013
    Posts:
    17
    The only way to really handle this is to properly set the expectations with your early testers to the realities of your development & build/release plans.

    You may want to look into Prefab Evolution or one of the other solutions offering improved utility of nested prefabs, depending on your exact goals and workflow. There had been a little discussion of the options earlier in this thread.

    For DunGen we're talking procedural generation, not random - reproducible results is one of the goals, which random doesn't give you*.

    The nature of DunGen, and early (very early) game development with it implies that you will be creating tiles/refining tiles/organizing tile sets for some time, and since the generation is procedural, once you add content which the dungen generation must consider, an identical seed will now produce different results due to the changes in the tiles available. The inability to re-use saves from earlier builds is inherent to the process. Minecraft, 7DTD, and all the early access procedural open world survival types are the most obvious examples where you have to generate a new world each build that alters generation or its building blocks in any way.
     
  17. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    202
    I just purchased DunGen and trying to learn how to use it.
    How do I go about getting the demos to work?

    Right now if I start the demo and hit "c" to change to the player camera I see a black screen.
    It appears the player object is falling.
    Do I need to setup some layers or something to get the demo to work?
     
  18. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    202
    Also how do I go about placing the player object?
    I didn't see anyway in the DunGen script that the player is placed.
    Or am I just supposed to add them to the start tile?
     
  19. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Regarding saving/loading dungeons and avoiding change in future updates, there isn't really much that can be done about that. The best way would be to keep all previous versions of your room prefabs and tag them with the game version they were made for. You would then store the version number inside your player's save file (along with position & rotation of all rooms placed in the dungeon) so that you can reconstruct the same layout based on the version that the save file was made for. Unfortunately, I'm pretty sure Unity doesn't let you use its serialization methods like that, so there's no simple way to go about doing this.

    The best you can do is make it very clear to players that during development, map layouts will occasionally change between versions.


    I think there might have been a bug in the current Asset Store version that's causing the demo character to fall through the world. You can get the newest beta from here, or you could try moving the player up a little to see if that stops it from falling.

    In the demo scene, I've just placed the player object at the origin (since the dungeon will always start from the local origin of of it's parent object, which is placed at 0,0,0 in the demo scene). You could absolutely place it in the start tile itself though.
     
  20. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    202
    Thanks for you reply I was able to get it working.

    Is there an easy way to get the dimensions of the completed dungeon?
    I need to be able to place a nav graph into the scene that matches the width and height of the dungeon.
     
  21. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    There's no place that stores the dimensions of the dungeon, so it'll have to be calculated. I've included a helper function UnityUtil.CalculateObjectBounds() but it might be a little slow when used on a large dungeon. Something like this should work well though:

    Code (CSharp):
    1. private Bounds CalculateDungeonBounds(Dungeon dungeon)
    2. {
    3.     Bounds bounds = new Bounds();
    4.  
    5.     for (int i = 0; i < dungeon.AllTiles.Count; i++)
    6.     {
    7.         var tile = dungeon.AllTiles[i];
    8.  
    9.         if (i == 0)
    10.             bounds = tile.Placement.Bounds;
    11.         else
    12.             bounds.Encapsulate(tile.Placement.Bounds);
    13.     }
    14.  
    15.     return bounds;
    16. }
    You can access the dungeon from your DungeonGenerator's CurrentDungeon property.
     
  22. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Ok,...

    I am trying to have a specific room at the end of the branch, and only have one in the level.

    So my initial idea was :

    Make archetype that has the following settings :

    Depth : Doesn't matter ( > 0)
    Branch Count : 1 - 1 (so only generate one path)

    And I use Instead of for branch cap type and link the tile type I want it to generate.

    Unfortunately, this doesn't work as branch still generates more than one cap room.

    I am obviously not understanding how this works or things are broken.

    I am suspecting that branch count doesn't mean it only applies to the number of branch from the main path. I think it also could mean that the branch count from the branch itself. Which is only way I can explain this situation.

    Is this true? I can't have one branch that ends with cap type but the branch itself doesn't spawn another branches?

    This is must for something like a .. say Mana pool that you want player to be able to find it by the end of the branch. There has to be one (and only one) in the level and not on the main path.

    I have tried to used global prop, but it doesn't work neither because it doesn't always even generate the room that the prop is in , or if the room is generated, it doesn't always choose that particular set from the local prop set. (so there could be mana rooms, with no mana pool.)
     
    Last edited: Jun 30, 2015
  23. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Sorry for the late reply.

    For something like that, the best option would be to have a specific room or set of rooms to be used as branch caps. Every one of the rooms used as a potential cap should have a global prop inside it for your unique item. Every branch cap in the dungeon should now be one selected from the special TileSet you made, and one of those rooms will contain the unique item.

    For any more complex logic than this, it might be best to let DunGen do it's thing and then manually add the room(s) afterwards. I'd like for DunGen to accommodate any potential ruleset, but it can't do that in it's current form.
     
  24. CineTek

    CineTek

    Joined:
    Jul 12, 2013
    Posts:
    33
    Hello there,

    My rooms are setup to have 1-4 doors each and most of the time when I am generating the dungeon some of the doors are not used by the system and just lead to an open end. So I designed some "dead end" rooms for all possible directions (north, south, east, west) and now I want to draw them at these occasions.
    I am using the default DungeonFlow based on Start, Archetype, Goal to keep it simple for the moment.

    May someone point me in the right direction what to do to solve this problem?


    The purple romms are some of the dead ends that got instantiated due to the Branch Cap settings. I want these to be generated on the main path as well whenever one of the doors is not used. You can clearly see that some of the rooms lead to nothing
     
  25. RealMTG

    RealMTG

    Joined:
    Jul 27, 2013
    Posts:
    318
    Hello!

    I have an idea for a game and I was planning on using this for it. But I need to know if you can do something specific. Is there a way I can set specific properties each room in the game? Example:
    I have a bunch of rooms and you start in one room, as usual. Every other door is locked. So when I unlock a door can I set a property on the room, that the doorways leads to, like "unlocked" to true?

    Any info about this is greatly appreciated! If you need more info about my question, please tell me!
     
  26. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    There isn't really a way to guarantee that all doorways will be used in DunGen. The way to handle open doorways is to block the opening with a mesh and use the doorway's "Add when NOT in use" list to make that GameObject only appear when the doorway is not connected to another room.

    There are two ways that I can think of for storing custom information about a tile, both make use of the Tile component that is added to every room in the dungeon.

    1. For your example of unlocked/visited rooms, you could just keep a dictionary separate from DunGen that stores all of the information you need. You can make a Dictionary<Tile, MyCustomData> (where MyCustomData is a class/struct containing room information); once the dungeon is generated, loop through every tile and add an entry for it to the dictionary.

    2. This method will require a little more work but is necessary if you want to store properties per tile type (for example, if you'd like to give a name to each tile type at design time). You would derive a new class from Tile with all of the properties that your rooms need and make sure all of the references to Tile in DunGen are replaced with your new class.
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,111
    Any idea when the current beta will be pushed to the store?
     
  28. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    It's been submitted. The new version should be available in the Asset Store in the next few days.
     
    hopeful likes this.
  29. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,625
    Ugh..

    So I have to create say.. a Mana Room and then Dungeons will have lots of Mana Rooms but only have one Mana pool?
    That is going to be strange for the players. Players finds Mana room, but no mana pool... Also because I don't want every ends room to become a Mana room, I wanted to split the flow up using different archtype, but I have found that there is no guarantee that such archtype does indeed spawn in the level.

    What I have tried already is : Split up the flow into 3 archtypes and then have the middle one to have only Mana room type cap end room. But sometimes dungeon doesn't generate the middle archtypes at all, leading to the no Mana room being spawned in the level. :( (no branches created from middle archtype.)
     
  30. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    I've thought of a way for tiles to be "injected" into DunGen before it does its randomization; hopefully this will be a good solution for your specific use-case, it's implemented in the newest beta:


    [NEW] Version 2.6.0 (Beta) - Download
    - Tiles can now be "injected" into DunGen before randomization occurs. Injection delegates can be added to the generator's TileInjectionMethods property


    There's a simple example usage in the demo. The new DemoTileInjector component shows how to use it, but basically the steps are:
    • Create a new function with a signature matching the new TileInjectionDelegate (void TileInjectionDelegate(System.Random randomStream, ref List<InjectedTile> tilesToInject))
    • Hook your delegate up to the generator's TileInjectionMethods property before calling Generate()
    • In your injection method, add new instances of InjectedTile to the list that's passed as an argument

    The InjectedTile class contains information about how the tile should be injected into the layout:
    TileSet: The tile set to use. A single tile will be selected at random from the given set
    IsOnMainPath: Should this tile be injected into the main path?
    NormalizedPathDepth: The depth at which this tile should be placed on the main path (0-1)
    NormalizedBranchDepth: Similar to the path depth, but for the branch instead. Only used when IsOnMainPath is false.

    Example: with isOnMainPath set to false, a path depth of 0.5 and a branch depth of 1.0, the injected room will be placed on the end of the first branch encountered after the half-way point along the main path.


    It's a little earlier than I'd usually release a new beta, but I felt it was important to get this new feature out there as soon as possible to start gathering feedback.
     
    hopeful and AlexSledge like this.
  31. Binary42

    Binary42

    Joined:
    Aug 15, 2013
    Posts:
    162
    DunGen is on 24h sale today.
     
  32. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Thanks for letting us know; I would have been clueless if you hadn't said anything. Time to hastily send out emails to anyone who was asking about a sale.
     
  33. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,205
    I've had DunGen on my wish list for a while, but haven't really needed the functionality yet. I went ahead and picked it up on the 24 hour sale today when I noticed the sale and also noticed the demo using 3DForge interiors and Sectr, both of which I have already.

    I also own Manufactura K4's Underworld: Cave Environment. I was wondering if anyone had successfully got it working with DunGen as well. Hoping to create a new project and maybe play a bit this weekend to see how all this works.. :)
     
    S4G4N likes this.
  34. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    2,777
    BackwoodsGaming likes this.
  35. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,111
    I like DunGen in particular for its flow-oriented design, which lends itself to quest creation. As a player you start at room A, proceed through challenges in a B section, and then at C you encounter the boss or other quest conclusion.

    You can get around some of the limitations inherent in the design by creating specialty rooms. For example, while DunGen does not allow for paths to intersect or be circular, you can create an intersection or circular path and insert it into the layout as a room.

    @Shawn67 - As for getting different store-bought environments to work ... it ought to be possible to get any indoors scenario to work. Caverns might take a little more finessing around the doorways than your typical indoor environment, but that's about the only thing that would make a difference.
     
  36. kittik

    kittik

    Joined:
    Mar 6, 2015
    Posts:
    483
    I find it interesting that you didn't know that it was on sale. Up to this point I assumed that sales (and the percent of discount) would have be mutually agreed between publisher and Unity.

    I have had DunGen in my wishlist for a few weeks now, considering getting it to save me time. Now I have paid for it I would like to know if there are videos tutorials - Some links to them would be really nice.
     
    S4G4N likes this.
  37. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,205
  38. AlexSledge

    AlexSledge

    Joined:
    Nov 13, 2013
    Posts:
    17
    It is included in the install.

    Fantastic package to pick up while it's on sale.
     
  39. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    With Unity sales, we fill in a form saying we'd like to participate in a sale, and how much of a discount should be applied. Beyond that, it's up to Unity when (or if) the asset goes on sale. I vaguely remember being told something like a month in advance of my first sale, but for this one (and the Cyber Monday sale before it), Unity didn't tell me at all.


    There aren't really any proper video tutorials. I do have one video, but it's mostly just showing me running through the setup of a very simple dungeon; there's no voice or text overlay but some people will find it more helpful than reading the walls of text in the readme:

     
    kittik, hopeful and BackwoodsGaming like this.
  40. Sehlor

    Sehlor

    Joined:
    Feb 10, 2012
    Posts:
    195
    Speaking of which,

    A tutorial with using 3rd party assets ( Like 3DForge Village Interiors ) with audio would be very nice to your customers (L)

    Thanks :)
    And Thanks For The Great Tool.!
     
    S4G4N likes this.
  41. JuJuCoder

    JuJuCoder

    Joined:
    Dec 10, 2013
    Posts:
    24
    Any change to get DunGen to work with Unity 4? We cannot move to unity 5 yet, due to some old libraries.
     
  42. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    DunGen should work fine with Unity 4. It was originally made for 4.3.3 and I've been keeping it compatible with that version since then.

    I only uploaded a 5.0 package for the newest Asset Store version because it's tedious to keep two separate packages up to date (and assets aren't eligible for sales if they don't have a 5.x package). It that turns out to be a problem though, I'll go back to uploading two separate packages for 4.3 & 5.0


    I'll definitely look into making some video tutorials, although I'm not sure about one specifically for using 3rd party assets - it isn't any different than using your own.

    We could maybe start compiling a list of all of the asset packs that work well with DunGen, but that should be most of them really. The only requirement is that the art is modular and preferably snaps to a grid nicely.
     
  43. DiNoGames

    DiNoGames

    Joined:
    Feb 5, 2015
    Posts:
    14
    Nooooh, really? I bought DunGen yesterday for 67€ and today it's sold for 23.45€???
    I feel sooo bad!
     
  44. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    I feel your pain. It always happens to me. It happens.
     
    S4G4N and DiNoGames like this.
  45. DiNoGames

    DiNoGames

    Joined:
    Feb 5, 2015
    Posts:
    14
    It's so unfair... if it happens like a week or two later, no problem, but just the following day after purchase? :( I also know that the AegonGames can't do anything about this, I don't blame them of course. I just had to point out my disappointment :)
     
  46. JuJuCoder

    JuJuCoder

    Joined:
    Dec 10, 2013
    Posts:
    24
    Hi I bought DunGen,but it turns out that I would need Unity 4 version. I cannot get it working. Would it be possible to get version 4 for unity e.g. by email (I send you a recept of purchase). Or have two versions in asset store?
     
  47. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,205
    Same thing happened to me when I bought Relief Terrain Pack.. That was the point that I discovered the authors have no knowledge of when things go on sale.. Tom, the RTP author had just started his own sale for something like 25% off and the next day the asset store put it on sale for something like 75% off.. It way both assets are well worth the full price. Timing just sometimes sucks... heh
     
    S4G4N likes this.
  48. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    The 5.x package itself seems to work for me but I don't think you can download it with Unity 4. From now on, I'll upload both versions of the package to the Asset Store.

    If anyone needs the Unity 4 version of the package, send an email with your invoice number to support@aegongames.com and I'll send you it.

    Alternatively, if you have Unity 5 installed you can download DunGen and find the package at "C:\Users\<your username>\AppData\Roaming\Unity\Asset Store-5.x\" it should just import directly into a Unity 4.x project.
     
    S4G4N likes this.
  49. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    103
    How well do you think this would work for a side-scroller? In this case, there may not be doors that the generator can use (although you could possibly use "connectors"). Now I do understand that it's called DunGen and will work really well for dungeon crawlers, but nevertheless, I'm still curious. I have a feeling that a side scroller would present drastically different problems.
     
  50. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    The up-vector that DunGen uses can be changed so it shouldn't be much different from using a top-down perspective (you'd also want to set "Allow Rotation" to false for all of your rooms).

    There might be some additional design challenges to think about when it comes to traversing rooms that are stacked vertically though, but that would just come down to how your room/gameplay is designed. You could also choose to not have vertical doorways to avoid that problem altogether.
     
unityunity