Search Unity

[Updated] Daedalus - Random Dungeon Generator for Unity

Discussion in 'Assets and Asset Store' started by AXXE78, Mar 15, 2013.

  1. dreamlarp

    dreamlarp

    Joined:
    Apr 22, 2011
    Posts:
    854
    Rocki it's for our project but if it come out ok and they have not made this in the kit I may share it.
     
  2. PsychoG

    PsychoG

    Joined:
    Jan 11, 2013
    Posts:
    42
    Hey! Im scouting out possible dungeon generators for my rpg and this one being recently released interested me. Is there a way to make enemies and items spawn in different rooms randomly? Or at least some code to enable me to do that? The biggest thing holding my game back is creating levels D: So i would love something this!
     
  3. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Daedalus has been updated to v1.0.0.

    Now with FULL 3D generation! Create mazes, dungeons, towers and multi-floor buildings with ease!

    $cca9785d-dae2-41e9-bf88-47491d8af088_scaled.jpg

    $53c8d8f0-79ef-4eba-9319-2a475a08c22f_scaled.jpg

    $5e250062-13a3-4705-8c7a-7836f4dda5f3_scaled.jpg

    $3daeffc2-0b0b-4a1d-9727-b544dc561125_scaled.jpg

    $001b4d26-0a52-4e6e-be36-83841127b255_scaled.jpg
     
  4. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    This is Totally Awesome. Crazy Wicked Stuff.
    Downloading now!

    Cheers.
     
  5. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Hi, yes, you have full access via code for items/enemy spawning. There are a couple examples in the docs: Link
     
  6. dreamlarp

    dreamlarp

    Joined:
    Apr 22, 2011
    Posts:
    854
    Can you make a video on the new update. And maybe one on spawning items/enemies please.
     
  7. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Yes, we'll release some videos on the new features and maybe one for the scripting.
     
  8. FractalCore

    FractalCore

    Joined:
    May 15, 2009
    Posts:
    151
    I'm really enjoying the generator. Just one thing I'm having trouble with. I can't get it to NOT use the blue default "RoomFloor" object.

    You can see in the picture I've replaced it with my "Factory_RoomFloor" object but it keeps using the default one anyway. The blue floors should look like the grey floors.

    I just tried some more variations and it only seems to do it when the map size is too small for the amount and size of room I'm telling it to generate.

    $Untitled-1.jpg
     
  9. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Looks like you spotted a bug! We're having a closer look and will keep you updated.
     
  10. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    The bug is fixed. New version of Daedalus in a few days. Thank you very much for your feedback!
     
  11. LoDx

    LoDx

    Joined:
    Feb 13, 2013
    Posts:
    67
    Hi,
    Just bought the asset.
    However, running into these error when I generate the dungeon :-


    any idea on fixing it ? or maybe it's due to the asset is not yet support Unity4.5 ? ( I'm using unity 4.5 )

    So, questions :-
    1. Unity 4.5 support ETA ?
    - I read at http://daedalus.userecho.com/topic/454004-help/ that new version is in the work, ready soon ?

    2. support for Mobile ( Android ) ? is it optimized ? or it should just work fine ?

    Awaiting your kind reply.
    Thanks
     
  12. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Hi LoDx,

    thank you for your feedback!

    1. We already have a new version ready; off course it supports 4.5. Please allow a few days for some more testing and then it will be online on the AssetStore

    2. It is optimized, it generates really fast (with reasonably big maps), but it really depends on the graphic asset you use
     
  13. dreamlarp

    dreamlarp

    Joined:
    Apr 22, 2011
    Posts:
    854
    Any new updates? Have you guys tested this with multiplayer at all?
     
  14. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Fixing a couple of bugs with the new features, but we're close.

    We tested it with multiplayer, just passing a seed between clients, and it works. Do you have any other specific request about multiplayer?
     
  15. The Painter

    The Painter

    Joined:
    Jun 19, 2014
    Posts:
    6
    AXXE78,
    could you give me a hint where to research on how to integrate various objects (enemies, items, etc.) when using your mapgeneration on runtime?
    I'm interested in using it for a 2d top-down rpg with roguelike elements and am wondering how to place stuff like ingame-currency or powerups in a random generated world.
    Thanks in advance,
    Oainter
     
  16. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Hi, you can have a look at the docs, in particular the scripting reference, here. There are some methods you can use to get all the room floors (for example), and use those to randomly spawn powerups, treasure chests, etc.

    Let me know if you need to know anything else.
     
    The Painter likes this.
  17. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    The new version is taking a little bit longer, so for anyone using Unity 4.5, here is a quick fix that should make Daedalus work with Unity 4.5: GenericChoiceDrawer.cs

    Download the script ad overwrite it in the Editor folder.
     
  18. AlexSledge

    AlexSledge

    Joined:
    Nov 13, 2013
    Posts:
    17
    Looks great! Question for you...

    Do you have any plans to provide integration with the SECTR tools? http://www.sectr.co/complete.html

    I know there's another similar tool which integrates with SECTR VIS, which is somewhat handy.
     
    Last edited: Jul 10, 2014
  19. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Yes, we got other requests like yours. We plan to have a look into it for next updates.
     
  20. dreamlarp

    dreamlarp

    Joined:
    Apr 22, 2011
    Posts:
    854
    We wanted integration for PlyGames and RPG 2 Kit. But TonyLi i think is looking to making third party support for your kit. If he does that will solve it for both kits. However for your own app you might want to look into those two for those who do not use the Dialog system.
     
  21. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    132
    Any update on when the 4.5 version will be released?
     
  22. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Submitting it today itself.
     
  23. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Awesome. Thanks for all the hard work.
     
  24. Tee_Pee

    Tee_Pee

    Joined:
    Aug 18, 2013
    Posts:
    54
    Heya,

    Does the new version address the "corridors being generates first" issue?
     
  25. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    That's not an issue, it's how the current algorithm works. Others may be implemented in future versions.
     
  26. Tee_Pee

    Tee_Pee

    Joined:
    Aug 18, 2013
    Posts:
    54
    Well what I meant was whether or not the room-first one was implemented in this version? I was under the impression that was the intention?
     
  27. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Yep, that's on our to-do list, though I can't say if it will be made in that way ("room-first") or with different algorithms we are looking into.
     
  28. Alienmadness

    Alienmadness

    Joined:
    Sep 6, 2012
    Posts:
    109
    Had 2 questions
    1. I noticed someone asked about enemy/monster and powerups, etc. and in the docs it's not currently supported?
    "At this stage, Daedalus only creates game levels, it does not take care of decorating them or populating them with enemies, power-ups, etc., though you can add all these things in pre-built tiles and you can even extend Daedalus to make it do whatever you need (full source code is provided with the package)."

    2. last update was in april, do you expect to release an updated version and any new features, like the stuff mentioned in question 1.
    Thanks
     
  29. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Hi Alienmadness,

    1. there is still no "click and go" way to spawn enemy, monsters, power-ups, items, etc., but it's quite trivial to do via code, you can find a couple of examples in the docs (Scripting section)

    2. the updated version is on its way to the AssetStore review; there are some bug fixes and nice new features some users asked for (directional walls for both Standard Maps and TileMaps, "fake 3D" maps, customizable entrance/exit distance, etc.)
     
  30. Matt Ingle

    Matt Ingle

    Joined:
    Feb 22, 2014
    Posts:
    1
    Just purchased - Created a new empty project - Imported Daedalus. Immediately got the following error
    Assets/Daedalus_Core/Editor/Daedalus_Editor/GenericChoiceDrawer.cs(9,31): error CS0161: `GenericChoiceDrawer.GetPropertyHeight(UnityEditor.SerializedProperty, UnityEngine.GUIContent)': not all code paths return a value
    Unity 4.5.2f1 - Windows 7 64 bit
    Not looking good as I cannot even view the samples. - What's wrong
    Matthew
     
  31. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    1. Follow this post: http://forum.unity3d.com/threads/random-dungeon-generator-for-unity.174147/page-3#post-1669950, just download the GenericChoiceDrawer.cs file and overwrite it in the Editor folder (important!)

    2. Make sure you are not trying to add the wrong script. Open the example scenes and test those first. Let us know if you run in any problem.
     
  32. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Version 1.0.7 was sent to the AssetStore review earlier today. Some new features:

    - Unity 4.5+ support
    - "Fake 3D" Maps
    - Directional Walls/Perimeter
    - Customizable Entrance/Exit Distance
    - Custom Prefabs in 2D Tiles

    Daedalus_Shot00.jpg

    Here's another feature the users asked for and which is currently under development: entire rooms used as tiles and automatically connected:

    TestRooms.png
     
  33. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    Is the 1.07 version going to have ladder/elevator scripts? Are there docs for implementing your doors? It
    looks like I'd add the door mesh and animate it, then add 1 of your door scripts.
     
  34. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
  35. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    quote
    Is the 1.07 version going to have ladder/elevator scripts? Are there docs for implementing your doors?
    unquote

    Erm, 1.0.0 actually does and they work, I loaded the 'fantasy multi-storey' scene. My player is 3 unity cubes high, so I scaled the dungeon 1.5x, for plygame I
    had to add the scene to the build settings and update the language screen to
    load this scene, add camera, delete the default player, it's looking good.
     
    AXXE78 likes this.
  36. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
  37. negativecap

    negativecap

    Joined:
    Jan 27, 2013
    Posts:
    99
    Wondering if I could use this asset with a 'cave' tileset (I could make it myself, but am curious about the specs to make it work with Daedalus). IE could I make a set of cave straight, angle, crossroad, dead-end, etc. 'tiles' and have Daedalus put them together randomly into a maze? I would also want to set the start and end locations so that I could enter and exit said caves. It seems like the algorithm is keen on proper floors is why I ask. Thanks!
     
  38. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Yep, absolutely. You can create a set of directional tiles (straight, curve, T-junction, cross, ecc.) and Daedalus will lay them down in a random map. Also, you can specify Entrance/Exit tiles, which can have their own prefab tiles with anything you need in them, and in the newer version you can also specify the distance between Entrance/Exit tiles!
     
  39. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    I upgraded 1.00 to 1.07, got this
    Assets/Daedalus_Core/Scripts/Generation/VirtualMapGenerator.cs(5,13): error CS0101: The namespace `global::' already contains a definition for `MazeGenerationAlgorithmChoice'

    line 5 is next
    public enum MazeGenerationAlgorithmChoice {HuntAndKill, RecursiveBacktracker}

    public class VirtualMapGenerator

    I upgraded it in another project and didn't get this error
     
  40. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    Never mind, I deleted the Daedalus Core folder and re-imported 107, no errors
     
  41. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    If you want to do a SECTR integration, email support@makecodenow.com and I'll send you a license and will answer whatever questions you have.
     
  42. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    for vis it's can be amazing i have send mail MakeCodeNow he say me go out ...

    But have Big Problem not Working any more on Android
    it's happen already on version 1.0 i send mail about it
    and it's make the same on 1.07


    anyone got solution ? scene just not running you can try with sample
     
  43. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    You should provide some more info...
     
  44. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    the only think's i can say i'am suprised to be first to get this think's
    i have make logcat with no succes if someone can try please
    for see what's happen
     
  45. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    We have tested Daedalus with iOS, Android and WP8, no problems so far. Try creating a fresh new project, import ONLY Daedalus package and build for Android.
     
  46. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    i have test when i pass on android


    nvalidOperationException: Operation is not valid due to the current state of the object
    System.Collections.Stack.Peek () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections/Stack.cs:321)
    UnityEngine.GUILayoutUtility.EndLayoutGroup () (at C:/BuildAgent/work/aeedb04a1292f85a/artifacts/EditorGenerated/GUILayoutUtility.cs:223)
    UnityEngine.GUILayout.EndVertical () (at C:/BuildAgent/work/aeedb04a1292f85a/artifacts/EditorGenerated/GUILayout.cs:266)
    UnityEditor.BuildPlayerWindow.ActiveBuildTargetsGUI () (at C:/BuildAgent/work/aeedb04a1292f85a/Editor/Mono/BuildPlayerWindow.cs:1059)
    UnityEditor.BuildPlayerWindow.OnGUI () (at C:/BuildAgent/work/aeedb04a1292f85a/Editor/Mono/BuildPlayerWindow.cs:1147)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/BuildAgent/work/aeedb04a1292f85a/Editor/Mono/GUI/DockArea.cs:241)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/BuildAgent/work/aeedb04a1292f85a/Editor/Mono/GUI/DockArea.cs:234)
    UnityEditor.HostView.OnGUI () (at C:/BuildAgent/work/aeedb04a1292f85a/Editor/Mono/GUI/DockArea.cs:126)



    black screen after run on mobile excatly same think's with ONLY Daedalus package
     
  47. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    sorry to say that's but it's working when deadelus script as be removed form scene
    so it's not comming from my projet
     
  48. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    We'll have a look
     
  49. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    Thank's waiting new's


    / Note: tileSize must be equal to wallSize+columnSize
    when i try change is automaticly resested by default value
     
    Last edited: Oct 10, 2014
  50. AXXE78

    AXXE78

    Joined:
    Oct 9, 2010
    Posts:
    74
    Here's a video showing a default installation of Daedalus:



    we just opened the runtime example scene and built for Android. As you can see, everything is working fine, so your problem must be something else.