Search Unity

Procedural Dungeon Toolkit - Dungeon Themed Procedural Generation Toolkit

Discussion in 'Assets and Asset Store' started by r3eckon, Sep 23, 2016.

?

What kind of update would you like to see released first ?

Poll closed May 13, 2018.
  1. Prefab placement helper GUI ( Easily editing the generation point of objects without code )

    8 vote(s)
    33.3%
  2. Generation rules editor GUI ( Editing the current generation parameters for custom levels )

    5 vote(s)
    20.8%
  3. Level type selection GUI ( Easily selecting , adding , removing saved types of levels )

    2 vote(s)
    8.3%
  4. Add more assets to the current level ( Chests , Rare Items )

    3 vote(s)
    12.5%
  5. AI manager script ( For mob pathing / spawning )

    5 vote(s)
    20.8%
  6. Other / Post in thread

    1 vote(s)
    4.2%
  1. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506


    Asset Store Link --- Playable Demo --- Youtube Playlist --- Usage Manual

    Procedural Dungeon Toolkit is a complete toolkit for your procedural dungeon or other procedural level generation needs ! Working on simple tile maps, creating your own levels with the asset is simple : A script generates and manages a procedural level tile map while included objects populate your level how, where and when you want it. This asset requires absolutely no scripting experience to generate custom procedural levels.



    Get started creating your own levels in under 5 minutes using the near complete project scene featured in the playable demo and video. This asset will integrate perfectly with most model assets found on the asset store and also works with any other type of asset as long as you can provide a player game object to act as an origin for the object pooling.

    While this is advertised as a dungeon generator because of the demo scene, included models and textures, Procedural Dungeon Toolkit can be easily used to generate any type of procedural levels simply by creating custom objects and chosing where, when and how often they spawn entirely using the Custom UI.



    Control the look of the overall level layout using sliders and numeric seeds. Some minimal amount of programming throughout heavily commented code will unlock the full potential of the asset, as the current rules of the level generation are still not UI controllable ( to some extent ) . A custom tile map editor is also available which is useful to create your own dungeon levels instead of using the procedural generation algorithms.

    Please note that this asset is still in development and features are constantly being added, fixed and improved as users and myself notice missing features and bugs.

    The 60$ asset includes

    Dungeon generation script featuring GUI to control the generator

    Demo scene to get started using the asset under 5 minutes

    NEW IN 1.29 : Multiplayer Support & Demo Scene


    Models , Textures , Particle Effects to create a Dungeon Crawler Game

    Navmesh Generation capabilities working with Unity 5.6 and Above

    Tile Map editor to create your own levels or edit existing levels

    Room Template editor to create complex rooms that are randomly placed into procedural levels

    Integrated version of PDT Item Spawner to manage random item spawns on top of props


    Ability to save a generated dungeon as a prefab file to manually make edits

    Set of helpful scripts for things such as Light Flickering, Basic HUD, Explorable Map, Mob spawning & More







    For those interested in how the generator works, here is a quick explanation : The actual map generation is done using algorithms that grow corridors and rooms out of a middle point. The script then spawns the necessary game objects around the player as you move around the map for enhanced performance.

    You can also disable object pooling and load the entire map.

    Spawning items around the dungeon is also easy, as you can tie an item spawn script to any prefab you are using in your generation process and decide what type of items can spawn on this prefab. I used this to make sure candles only generated on small drawers and tables.

    The biggest part of the generation process that's helpful for customizing the dungeons is the fact that the walls are actually cubes and corridors are wall sized empty areas capped off with floor and ceiling tiles. Basically to create any new object and have it properly scaled according to the environment simply create a corridor out of cubes in your 3D editor and scale the objects as if it were your actual environment.

    Even if the level is essentially a tile map, round corners are entirely possible !

    Then fixing the object placement is easy as you simply need to apply slight translations relative to the center of the current wall / empty area. This area is actually an empty game object storing every object at this position within the map. This also plays a role in object loading / unloading to keep performance stable even with huge levels.

    Version 1.7 introduces a new GUI for creating and managing custom object generation, meaning you no longer have to edit code add your own objects to the generation process ! The editor features a translation editor as well as a drop down to select a pre generated pattern to detect where the object should generate. You can also easily create your own pattern by selecting custom pattern and using the available drop downs to create detection patterns and fully unlock the procedural generation capabilities of the asset !



    With custom patterns , you can detect room entrances and add doors, detect a corner and add a rounded wall, detect a four way and add a pillar in the middle. You can detect single tiles and ignore everything else or create complex detection patterns. Using this same editor you can also control how often each object generate and enable randomized generation for things like torches and locked doors !

    Version 1.10 introduces the new tile map editor to customize pre-generated maps as well as create your own tile maps entirely from scratch ! As you can see below, this editor uses native unity UI components and allows you to create your own maps and save them to disk as well as create dungeons with multiple spawn points or goals.


    Here is the full usage manual for those interested in how the asset works!

    If you have any questions or suggestions feel free to post in this thread or send me an email :)
     
    Last edited: Mar 20, 2019
  2. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    The Asset has finally been released on the asset store. Here is a link for people who want to go check it out : https://www.assetstore.unity3d.com/en/#!/content/71317

    And here is an activation code for the first person to stumble upon this thread : ASV-AKHK-H4Q6-UNQK-HENK-MUUP
     
  3. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    132
    Saw this in the store new releases and added it to my wish list. Then tried the activation code and it worked so many thanks. Hope to get a chance to try it out soon.

    Is it possible to create dungeons for top down view (so no ceilings?)
     
  4. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    There is no easy toggle to remove ceilings as of yet ( just like for walls and floors , basically the essential components ) its still possible if you edit a little bit of code. But I will add this to a list of features to release as an update of early customer feedback since I guess it could interest a few people.

    The generation process is currently optimized for 3D scenes as it doesnt add walls where players wouldnt be able to navigate so there will be empty gaps from a top down view but otherwise I dont see a problem.
     
  5. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Just added two demos of the asset on my Youtube channel for anyone interested , the first one about object pooling and how you can edit buffer size while the game is running :



    Why would you want to edit the buffer size during gameplay ? Well this can be useful for larger rooms or boss rooms featuring more lighting than usual as well as the opposite for close up interactions , perhaps for cinematics containing high poly models.

    The second one showcases a top down dungeon generated simply by adding a camera looking down and removing the ceilings :

     
  6. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335
    hello,

    is possible to update asset with this new demo scene ?

    ++
     
  7. baroquedub

    baroquedub

    Joined:
    Aug 27, 2015
    Posts:
    11
    Would really appreciate a YouTube tutorial of how to set-up a level - talking through the process and explaining what needs to be done. This looks potentially brilliant but I want to make sure it does what I think it does. Would be particularly useful if you went into the detail of how to set-up the different spawning prefabs (you briefly mention spawning candles only on tables)

    Many thanks indeed. Great work!
     
  8. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Sorry I dont really understand , Do you mean that the demo scene included with the asset isnt working or do you want the top down 2D scene as a demo scene ? I will include more quick start configurations as I update the asset. On that note I sent a new update sooner this week but it has yet to release. I will be posting an executable game demo showcasing the asset on this thread a little later as well , for those who want to walk around a generated dungeon by themselves.

    You are most welcome :) Thank you for your kind words , I really appreciate it !

    And you are right : a full tutorial is absolutely needed for this kind of asset. I thought about doing a text based tutorial with a couple images but a video would show everything in detail with alot more ease.. I shall equip myself with editing software ( was recording previous videos in single takes ) and will be posting the tutorial here once it is done. Thanks for your advice , I dont know why I did not realize many people would find this to be useful.

    In the mean time I can still explain in detail how Item Spawning works since so far the method is quite simple. Essentially the generator has "Main" prefabs , used to generate the environment. Things like walls , ceiling , doors , drawers , tables , etc.. Basically everything the player can "collide" with. Those simply generate by adding a game object to the slot on the script and enabling its toggle checkbox.

    Items are generated on some of these game objects by placing an empty game object with a box collider on your building block ( to render the object and detect if the player has picked it up ) and using an item spawner script that takes a couple parameters , such as the item prefabs and the "type" of item spawn. The TYPE is where you can set the special parameters for the object spawn.

    What I had in mind with this is that some objects ( like candles ) dont make sense being inside a chest or anywhere that isnt on top of the object it generated on. If you dont set the Item Spawn type to TABLE instead of DRAWER , no candles can generate on this spawn. For a large drawer you would set the all the spawns to DRAWER since every spawn has a wooden plank blocking the top making candles there unrealistic. For a small drawer you would set the top spawns to TABLE to allow candle generation on top of the drawer and DRAWER everywhere else to prevent it. So far I only have two preset types for Item generation being table and drawer since the last "Item" I worked on was the candle.

    Now since items had little gameplay implications when I was writing item generation , this was used as a way to prevent generation of certain objects at certain spawns by first checking the type of spawn in script before adding a randomly generated object from your list of prefabs. However , this feature has way more implications in terms of what you can do with its restrictive capabilities. You could , for example , have a new CHEST category of items where only rare or unique items spawn. You could scan through the world and replace a fixed number of item spawns to OBJECTIVE spawns which only and absolutely must generate an object the player has to collect to complete the game / level. You could have a combo of a key holder building block that must generate next to a locked cell and add a key only item spawns.

    As you can see just by preventing / enabling the generation of certain items based on where they will generate you can customize generation alot for certain types while keeping the entirely random generation intact for those that dont need any special attention.

    Anyhow , I will upload a new tutorial explaining everything some time tonight and post it on this thread along with a small demo !
     
  9. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Quick note for those wondering about the demo scene not including the torches : at the time of release I was using a free asset for my fire particle effect , then tried making my own for release version and somehow couldnt figure it out so I just decided to release the demo as is without the torches. However as soon as I can make a fire effect im pleased with I will add them to the asset's demo dungeon.
     
  10. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Quick update , a tutorial is out on my youtube channel showing off the steps required to generate dungeons from demo scene or entirely from scratch. I also try to explain various concepts related to item and prefab generation.

     
    StevenPicard likes this.
  11. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    StevenPicard likes this.
  12. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Also , I finally got around to making a somewhat good looking fire particle system so the demo scene has been updated to include torches with particle effects as well as candles with particle effects , stairs and the barrel featured in the PDF tutorial. This version should come out some time this week.

    I also decided to roll out a built version of the demo dungeon. This demo is exactly what you get by following the Quick Start steps in the README , except the currently released version of the asset doesnt contain torches yet , that comes with the next update awaiting approval. If you want to try it out for yourself , here are the download links for 32/64 bit Windows.

    32 bit version | 64 bit version
     
    Last edited: Oct 13, 2016
    StevenPicard likes this.
  13. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    The update containing torches has been released sooner than I thought and is already available on the asset store ! again this version includes torches and candles with fire particle effects , stairs and barrels. The package also contains the tutorial PDF I linked in a previous post.
     
    StevenPicard likes this.
  14. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I bought this great asset last week. Once I get caught up on work I plan on playing around with this. I really appreciate you taking the time to create a video tutorial. That's something many assets are missing.

    Quick question. This version adds stairs (very cool) but will the generator support multi-floors? And if so, can we specify different objects that can get spawned based on the level (for example, a boss at the lowest floor, or chest with a special sword, etc.)?
     
    r3eckon likes this.
  15. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Currently the generator does multi floor as a way to create more of the same corridors and room types although its entirely possible to achieve what you are trying to achieve , I plan on making another video tutorial or PDF about editing the generation process in a little bit but here is a quick explanation on how this could be achieved right now..

    Basically at first the levels are first generated as tile maps , each tile having a certain type like empty , corridor , room entrance and room. Corridors are grown randomly , then room entrances are added and their surrounding areas filled randomly with room tiles.

    I also added a entrance2 and room2 type of tiles that cannot connect to the room1 tiles. Right now the generation process is entirely random meaning the room content is not determined by room type , but you could force the generator to add a single "Boss Room Entrance" tile type that the generator will then force to generate only on the lower floor. Also , since right now the generation starts in the middle and expands in every direction , stairwells also have an entirely random UP or DOWN direction to them which you could force the generator to only place downwards , towards harder levels. Then unity could try to spawn a select amount of chests containing unique items , perhaps one on each floor , as well as mobs in the room2 types locked cells and bosses in your new boss rooms.

    Based on the index of the current floor you can influence the generator , my current process however is entirely random and procedural : even if there are 2 distinct types of room in the generated map , unity treats them as the same and ties the same objects to it.

    I hope this answered you question ! I plan on later adding a couple types of premade dungeons as well as a way to edit the generation process of the map outside of code so that you dont have to deal with code for adding or removing generation conditions.
     
  16. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Sounds good. Thanks for the answer.
     
  17. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Alright so next week I thought I would be concentrating on updating the GUI part of the asset and think it would be good if I asked you guys what you would like to see next in the asset. I think GUI is important for less script friendly users but you guys might think the asset just needs more models / room types or something else you thought of while using it. So I will create a poll that will influence my development efforts to try and release updates you guys need before the optional stuff.

    If you have suggestions or request you can post them in this thread at any time.
     
  18. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Also , be sure to leave a quick review or rating on the asset page if you enjoyed it ! Remember that you can also use the support email to contact me directly about questions or ideas you have.
     
  19. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Quick update for the generator , I added a simple map script that allows you to replace a plane's material with a live map of the level. Corridors and rooms show in white and gray while the player is the red tile. Blue squares are stairwells. The script has a toggle to enable switching between fully explored map as shown below or explorable map.

    You can turn the map on and off using the M key , which makes it show up on the ground in front of the player. You can easily move the map by moving the plane on which it renders.

    Now I see some unreachable rooms which I was not aware of since they seem to only appear after cleanup ( also since you cant reach them ) so im working on better room generation methods. The code is commented similarly to the prefab generation if you want to have a go at room generation , but the current room growing algorithm is somewhat messy.
    I also cleaned up the main generation UI a little bit , still working towards a fully UI experience , which is what I will be doing this week if I dont get any particular requests.



     
    Last edited: Oct 17, 2016
    StevenPicard likes this.
  20. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I like the idea of having secret rooms and areas. Any plans on incorporating this?
     
  21. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Before I fix room generation I dont think I will deal with custom rooms but perhaps I could turn this generation bug into secret rooms. I cant think of a cool way to do it , perhaps adding a script to wall torches that enables the player to pull on them to check if there is a room within reach , activating a secret passage to the rooms if there is one..

    Of course I want to fix the algorithm to have more control on the shape of rooms , so keeping the torch idea in mind , for truly secret rooms to generate would simply require another type of room besides the placeholder room1 and room2 types so I did have this in mind. I plan on making treasure rooms , trap rooms , secret rooms , prisons containing mobs , as well as incorporating various types of hallways like tight hallways , well lit vs dark hallways to influence torch generation , perhaps secret mob spawning hallways as well , once I add basic mobs chasing you around.

    Also some gameplaywise tiles should be added to the generator , for now we have the goal tile which isnt in the demo because It did nothing special but shine light and did not generate anywhere particularly hard to find , but I think about implementing some unique item / mobs spawning tiles.

    Basically I will work on the asset until the package is a complete game as well as a level generator. VR support was flawless on my OSVR which means it should work on any HMD. I cant wait to implement monsters chasing you around because the torches really make a spooky VR atmosphere. Gotta fix that level generation first !
     
    StevenPicard likes this.
  22. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I am very excited about your development plans!
     
    r3eckon likes this.
  23. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Thank you ! I love making this and will make sure to keep you up to date on my progress through these forum posts !
     
  24. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Just a heads up , looks like unity is taking a while to process my asset update once again so you may get a double update with the last map update if I end up finishing the next version before they release the current one. I worked on simple AI as well as trying out new room generation algorithms since after clean up I noticed a couple problems with the current one.

    Im also adding something very important : seeded generation. Seed will be a parameter you can use to re-create the same dungeons multiple times. Im already using seeds in my generation process I just wasnt using a single global seed which means dungeons were not recreate-able as of yet.

    Basically if by Friday night the current update has not released I will tell unity to disregard the previous version and just update the asset with everything new , which should then release by the next week.
     
    StevenPicard likes this.
  25. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    I have uploaded a quick video of the new version which includes seeded map and item generation. I've sent the update for review a couple minutes ago , so perhaps you will get the new version later tonight.


    As you can see below those are two new parameters , I have also replaced the ceiling with the floor tile in the demo scene since the textures look better ( at least to me ) , You can still use two seperate tiles for floor and ceilings by linking the ceiling in its appropriate slot again.

     
  26. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    I have seen my friend use my asset on his computer ( which is newer and more powerful than mine ) and there was lag that seemed unbearable with the newer version which was found to be caused by torch and candle particle effects , so I thought I would make a post about performance to help people who may be having some trouble getting a smooth experience with the asset.

    If you are experiencing low performances or constant lag first try updating graphics drivers , the main culprit in any low performance in rendering. Perhaps the particle effects require updated drivers to run smoothly. Second , you should make sure there is no overly complicated geometry within your building blocks. If you import a high poly model and splatter it all over the map it will have some substantial performance impacts on rendering times.

    To be sure here , most performance problems I have encountered stemmed from the rendering and not from the generation / position culling from the buffer. In the latest version I added a map which uses a bit of CPU to get player position from the game world and also a Debug.Log call was added to directly print out the coordinates of the player while the map is open. Any Debug.Log call will slow down update logic so you may remove it if you are noticing some lag with the map open , I wasnt having any problems so I left it there for debug purposes.

    If you are having issues with position culling there is are a couple options , first the extra parameter you can use which turns on iterative position culling. This means a maximum of N blocks will be loaded each iteration to reduce each spike , you can go as far as a single block loaded each iteration. This "animates" the map loading so if you look at it from above you will see a scanning point of blocks being loaded. Second parameter you can use is the pooling timer , which is best combined with iterative culling for a larger buffer size. Say you know for sure your player cannot run faster than your iterative generation process can load blocks , you may turn on a delay in between each iteration to decrease the amount of update loops actually calling the culling method.

    Reducing Map Size and Buffer Size is also a good idea if you are not using occlusion culling , which is off in the demo scene since I cant figure out yet how to turn on static building blocks without screwing their textures. Once I figure out how to turn it on there should not be any more problems with particle effects , since right now a room full of candles will render even if its occluded. You can see that clearly if you rotate around a corridor and watch the amount of triangles increase in the stat window even though you can only see walls.

    Anyhow , my buddy had no further problems after updating the drivers so I would say this is more of a case by case problem , if you have issues I have not addressed let me know on this forum post or directly by email and I'll look into it as soon as possible !
     
  27. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Quick update for the asset , UI has been improved as I have figured how to make use of the Custom Editors. A script will be added to your Editor folder called DungeonGeneratorUI and enables me to format the script using dropdowns , stacking parameters like toggles and game object slots. This will also enable me to later on make possible gui placement of custom objects and dungeon generation rules , once I figure out a good way to do it.


    If you dont want to use this UI you can simply delete the script from the Editor folder and the regular editor will draw. You may want to do this while adding your own objects to the script if you dont want to have to go edit the custom editor script and add a slot and toggle. The editor code has been lightly commented near the object toggles if you want to do it anyway.

    Update should go live tonight, if it takes a while again I will nudge the asset store team will a little update to metadata to try and get it validated faster.
     
  28. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506

    Just sent another update , added auto map rotation by request as well as some extra settings for map generation , this time focusing on the layout. You can find those in the new section "Advanced Map Options" , each option is a slider which can increase or decrease the chance of corridor branching , corridor ending , room entrances or staircases. You can go from 10 to 200% (0.1f to 2f) of my default value which are safe values to use in any combination as you can see in the above video.



     
  29. Reghyz

    Reghyz

    Joined:
    May 9, 2015
    Posts:
    1
    Hi,

    just a question, if i build custom prefab rooms would i be limited to an height of 1 cube/unity on can i make them higher ? and if yes how does will it fit with multi-floors dungeons generation ?

    thanks
     
  30. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Floors are currently being offset based on values that make sure the layout generates correctly , being the height of a wall + floor + ceiling , if you want to build custom sized rooms you will need to add a new type of tile to the generation process , say "Custom Room 1" , which makes sure you have enough space in above and below levels by removing any non empty tile in the way.

    As you can see in screenshots featuring the map the level is at its core a tile map. To make sure the layout is easy to handle with a tile map I made the walls a 3x3x3 cube and capped off empty areas with 3x1x3 slabs. If you want to place your custom room you will need to make sure the entrance generates in the right direction and that the room translates to its correct position. This requires a bit of trial and error , which is why I simply use tile sized prefabs to create the main layout and then add objects by translating them from the center of the current empty area.

    All in all if you make sure your prefab room uses tile size increments for its general size and if you make sure the level knows there is a prefab in the way you should not have any problems adding them to the procedurally generated dungeon.
     
  31. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Sorry about the long delay for this version, seems like the asset store team is again taking forever to process the latest update. To try and compensate I have been working on translation sliders for each building block to enable quick position fixes without dealing with code. Each slot and toggle will also have an Edit... button which will prop open a bunch of extra settings to edit the position of each building block.

    Walls , Ceilings and Floor blocks dont require anything special , A simple Vector3 is enough. For other blocks however I am using Vector4 , which has an extra W component. We use this component as the Directional translation parameter. Those blocks , like torches , barrels , drawers and paintings , require an extra translation parameter TOWARDS the wall they should be against. My functions for generation of building blocks uses this parameter universally to translate towards a randomly or environmentally defined direction.

    Cells behave in the opposite way drawers do as they translate towards the only empty area around. Still in this version if you are going to add your own features to dungeons you will need to edit some code so find an object with rather similar behavior to what you are trying to achieve and edit the translation parameters until you place your objects correctly.

    Anyhow , I have no ETA on this next update as I dont even know when the current update is going to release , most likely this week.
     
    Last edited: Nov 8, 2016
    StevenPicard likes this.
  32. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Also forgot to mention that the next update will unify the translation parameters and scale them based on the size of walls you are using , keeping my 3x3x3 walls in mind as the "right" way to scale the dungeon , translations will now follow the size of walls so if you use smaller or bigger walls the objects should still be in their right place ( although they will still require scaling ). However , Walls will still require to be cubes for the moment.
     
    StevenPicard likes this.
  33. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506

    Quick video demo for the new update , as you can see editing the position of each object is quite easy using the new interface. Almost entirely removes the need for code if you are not using custom objects yet , the only thing you need to consider is how the W parameter for directional translation works. Like in torches and cells , most likely I rotate the object towards some direction and W translates in this direction , so its very simple to go edit anyway.

    Sent the update about a minute ago so if we are blessed it should release this week.

     
  34. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    New tutorial out for the next version , still has relevant information for the current version concerning adding conditions for objects to generate. No words from the asset store team yet so I assume the new version will be out some time this week.

    Link
     
  35. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    The 1.6 update has been released on the asset store ! For those who dont know , this update introduces an easy way to fix the translation parameters of each object within the generator. Check the video and screenshot 2 posts earlier for more information on how this works.

    Next up for me to work on is the GUI for editing generation rules and an easy way to add and remove custom objects from the process without any code. As the previous tutorial described there is still a need to edit code I wish to completely get rid of , to make this asset completely beginner friendly.
     
  36. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    I have another voucher to give away to the first person to activate it. Enjoy :)

    ASV-CKL9-HDWK-JDXU-VKDT-UXUC
     
  37. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    I have been informed of a couple issues with the new version and will soon be sending an update addressing those issues. Mainly an issue while building scenes and the fact that the map was removed by mistake. The update will feature the fire pit model I showed how to create and add in the latest tutorial.

    I have also made progress towards adding custom objects to the generation process. As you can see below , this integrates with the rest of the interface in the same drop down as the hard coded slots , but you can add and remove them on the fly. I may end up using a reorderable list for its ease of use , but in any case I am having issues with the [SerializeField] attribute not saving the list of custom objects after exiting unity. I will most likely try to fix this before sending the next update so you guys can start adding custom objects.

     
  38. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    The playable demo has been updated with the map , here is a download link for those who want to try it out. Custom objects I talked about in the previous post have been fixed and opened the way for more customization of the generation process within the UI , this update will be sent tomorrow after some cleaning up and should release some time next week.

    Next update I will be adding translation direction types to the Custom Objects that have a Translation Type of Vector4 to control the direction of the W parameter easily. Directions would include towards wall ( like torches , drawers , barrels ) , towards openings ( like cells ) , towards inward and outward corners and a couple more types I will add for ease of use.

    We are getting closer to a complete UI experience !
     
    StevenPicard likes this.
  39. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Happy black friday , may your wallets survive the deals !

    Surprise Voucher : ASV-AGP4-R6GL-PXJ6-WJK3-K6AF
     
  40. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    Yay !
     
  41. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Sorry about the long delay for this last update. I actually ran into a lot more bumps regarding custom objects serialization. Everything seems fixed right now , as I have been restarting unity and my computer several times to make sure the objects actually keep their parameters.

    However , I have also been working on a major feature addition to the asset : full control over where and how often each custom object generates in the level. All using the interface ! No programming will be required to manage where each object generates in your levels. This is accomplished using a standard neighbor+center checking of the tiles. As each tile on the map has 8 neighbors ( cardinal points ) , we can create 3x3 patterns to compare the neighbors to and identify interesting areas in our map.

    I tried adding extensive customization potential within this feature , mainly using override tile types like No Requirement tiles which ignore the current neighbor in the pattern , Any Room and Any Entrance tiles to ignore the type of the room / entrance , as well as creating rotated versions of patterns relying on no particular direction. For ease of use out of the box , the asset contains preset patterns like 4 ways , fully open areas , dead ends , pillars , as well as some simple single tile patterns for each tile type and the new overrides. A slider has also been added to control the rate of generation for each custom object. In theory , the patterns you create could be as large as the map is but this is bad practice for many reasons : Identifying such a pattern would take forever and parenting a gigantic object to a node on the other side of the map may lead to unwanted pooling.

    For those who might be considering a buy , know that I will increase the price to $15 next update due to this major new feature. Of course , if you already bought the asset you get this update for free like any other update. Screenshots and preview videos will come as soon as I start to write the documentation and tutorials for this new version !
     
    StevenPicard likes this.
  42. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    You are doing some amazing work on this asset! I look forward to the new update.
     
    r3eckon likes this.
  43. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Hello , I am back with a quick peek at the new UI ! Please note that it will change again as some functions are still missing. As you can see below , some existing buttons have already changed. For instance , the apply button no longer closes the UI for convenience and the cancel button was replaced by a button to close the entire UI. The biggest addition of all is the pattern editor GUI I talked about in the previous post.




    The first drop down is used to switch between some pre made patterns I created. The real power within this new feature is used by selecting the Custom Preset option from the drop down.

    A pattern editor will show up and the patterns can be created using 9 drop downs containing tile types ( two are currently missing for 3D interactions ) .You can then apply the current pattern to the object , clear the pattern editor or reload the objects pattern into the editor using the buttons underneath.

    The Generation Chance slider and toggle is used if you want to quickly edit how often your custom object generates.

    If you select Use Auto Generated Directional Presets , the program will automatically test your pattern in the 3 rotated directions to make patterns which do not care about direction to return a match.

    Lets take a look at the above pattern ( used for finding the spawn ). It does not require the use of directional patterns as even if it were rotated in any other direction , it would still look the same. The tile type used are Spawn to find the middle spawn tile and 4 Corridor tiles to make sure we have a spawn accessible from all 4 directions. Finally, using the NOREQUIREMENT special tile type so the corners are ignored in this pattern. Generation Chance toggle was on by mistake but as its slider was maxed out the result was the same as if it were always generating. As you can see I have also moved the object up 1 unit to make sure our player did not spawn inside the cube and this is the in game result :


    Again some features are still missing , mostly for Vector 4 objects and preset creation , and other features might change a little bit. But the main new feature of the asset is complete ! The current map layout, being mostly Vector 3 objects, could be entirely re created using the custom objects and patterns , perhaps paving the way for some pre set level types once I have time to make lots of new 3d models.
     
  44. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Quick demo video of what I talked about in the previous posts

     
  45. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    I have just submitted the new version to the asset store for approval , hopefully it will be approved next week !

    Again , for new users the asset now costs $15 USD due to the major new feature coming with the next version. Those of you who already own the asset will receive the new version for free like any other update.

    I have written a tutorial for this version , it is included in the update but if you want to check it out to see what's new with this version , here is a link to the PDF : https://drive.google.com/open?id=0BxmPHU9LJYnFZDI3VDNYUGNJN1U

    You can also read my previous posts and watch the video to learn more about this upcoming update.
     
  46. Rexoto-Games

    Rexoto-Games

    Joined:
    Jan 11, 2013
    Posts:
    41
    Do dungeons have ends? Or is there a way to have only one exit door spawn in a dungeon?
     
  47. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Yes , the map generation process stops as soon as a single GOAL tile is placed on the grid map. Technically its the "ending" for the dungeon but they are not placed anywhere special or hard to find. They simply cause the generation to end at this tile.

    However the demo dungeon does not make use of this unique tile type so far as I did not have any gameplay implications for this in mind at the time and never got around to adding a special door for the ending. So with the current version you would need to go turn on the goal tile objects on in code manually as I had it turned off.

    Using ending tiles and special tile types in the upcoming version will be much easier since it can all be done within the editor : one will simply have to create custom door object placed with a pattern that detects the ending tile and the corridor tile leading to it. Then , if you want your goal tile to be interactive or call an end of level script or something else , add the required component to this door or add more child objects : anything linked to this object will generate with it.
     
  48. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    Hi @r3eckon! Would this work with 3DForge's Village Interiors?
     
  49. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Yes , of course ! This asset will work with other 3D model assets as the only requirement is that the object you spawn must be a unity game object.

    You can easily drag and drop the assets in your scene and directly link those in the generator , otherwise use an empty game object and add models to that. I think the asset would work with pretty much any other asset as long as you have a game object that acts as an origin to load the level ( such as the player ). Of course like any imported 3D models they may require some scaling to fit your levels. The idea with this generator is that objects will be cloned and spawned somewhere in a 3x3x3 area around an imaginary central point that can be calculated all over the map. These points are the basically the grid representing the map but in 3D space.

    In the basic layout that you can see in demos, walls are full cubes and open areas are the size of walls , so you can easily build on top of this with the decoration included in the package you mentioned , just like I did with my own torches and drawers and such.
     
  50. r3eckon

    r3eckon

    Joined:
    Jul 3, 2015
    Posts:
    506
    Good news , the new version of the asset released about an hour ago ! I thought it might take another weekend to complete but looks like the team managed to validate the new version in time !