Dungeon Architect

Hi,

I just reproduced the behavior using the new version (1.1.0) in a brand-new project with no content except for the starter stuff, the plugin, and the starter content.

Edited to add: I just noticed the crash when I build organic has an extra line that building with instanced meshes doesn’t, “Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:G:\UE4\Epic Games\4.9\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 678]
Array index”. Is anyone else having similar problems? I’m hoping it’s something I did wrong, but I can’t think of what- 1.0.29 worked perfectly for me, and 1.1 got installed in the same directory.

Created a theme file based on Infinity blade’s sample content. The following level was generated procedurally with this theme

Video
watch?v=1KXz2q5xGB4

Screens
http://imgur.com/dxxP8RPh.jpg
http://imgur.com/2pcbXDth.jpg

http://imgur.com/fO6fK8fm.jpg http://imgur.com/IOsbjutm.jpg http://imgur.com/rzIR2Amm.jpg http://imgur.com/s1RQQRrm.jpg http://imgur.com/oUTrMa8m.jpg http://imgur.com/7Kt5T7Pm.jpg http://imgur.com/HMeDgCvm.jpg

Theme graph used to generate this level:
http://imgur.com/4RJm4qR.jpg

That (tutorials) is just great. After 2 days of painful joy of discovering stuff in dungeon architect I am stuck in blueprints. I have no idea how my selection logic or transform logic are called.
Hopefully you will explain that soon in tutorials.

I don’t know if it helps troubleshoot, but my download of the new starter pack was weird as well- I re-downloaded it a few times to be sure, but each time the theme wasn’t populated with meshes, and about half of the sample meshes didn’t have textures or materials. It doesn’t matter, as the starter pack’s assets are demos, not development assets, but I wonder if it’s in any way related to the crashes.

Edit: I think it does have something to do with the new version; I tried rolling back to 1.0, and it can generate dungeons with instanced meshes just fine. :slight_smile:

I love the Infinity Blade theme!

What’s the best way of doing ceilings please?
I can’t see how even if I had them, if they could work with the stairs and height changes etc?

Loving it by the way. Trying to wrestle my own meshes into it and slowly getting there…

@HInoue, @sch5 Thanks for pointing out the bug. I’ve fixed the issue and uploaded a new build (change log below)

@ I’ll create more tutorials on that shortly

@n00854180t Thanks! I’ll bundle the theme file along with the quick start sample projects

@dazuk1978 You can attach ceilings to the ground markers. I’ll create a video on it soon

New update available

Version 1.1.1

  • Fixed instanced mesh builder crash issue
  • Fixed a crash issue due to particle systems not setting their templates in the main game thread

You can download it from coderespawn.com > My Account page

you are indeed great. :smiley:

Bumping this, because i have an idea for bit more functionality.

When you add actor node to theme graph, would be nice if “details” exposed that actor “editable” or “exposed at spawn” variables, so we could set some parameters right from theme graph.

Oh and another feature would be very nice (for those who make topdown games):
some way to fill up areas outside of dungeon. Now dungeon looks like it is floating in empty space. Would be nice to have node that can fill areas outside dungeon with black boxes or something that would act as background.
I know this probably is doable with graph rules and blueprints for selection logic, but having node for that would be .

Thank you for the quick update! I can verify that instanced meshes doesn’t crash for me now, you rock :slight_smile:

There is a bit of weirdness however- dungeons build normally without instanced meshes, but for some reason when I switch to instanced the entire dungeon gets built out of corner pieces, I took a screenshot for ya-

This is brand-new empty test project, the process to reproduce is simply 1) make new project, 2) make plugin folder and drag dungeon architect in, 3) drag starter pack into content folder, 4) load unreal, add dungeon actor to scene, check “instanced,” generate dungeon. Seemingly each time I randomize the seed, a different mesh gets picked and used for every tile.

Finally, do you think it would be possible to add the theme file for your infinity blade demo in the starter pack? I would love to pick it apart and see how you set it up :slight_smile:

So I’m getting somewhere with my theme now.
However, is there a way to spawn entities within a random range? By that I mean, we can already declare offsets but they are absolute for every cell that it is successful on. I want it randomised within a range that I specify.

So to clarify then, I am adding props either from RoomOpenSpace or wall, ground etc and this works fine but for every time that prop successfully spawns it has the same offset as the previous one and so on. This is great to be consistent when I want it to be but if it is trash on the floor or something else you want random transforms and orientation on, then it ends up looking uniform and unnatural.
Is there a way to do this already, or is it something that’s planned for future.

EDIT: Also, If I wanted to create two variants for say a wall, which were ENTRANCE and EXIT and they are portals that allow me to enter the map (from a previous procedural level) and leave (to another of the procedurally generated levels) how would I make sure there is only one of each of these generated per level? Can we have a ‘unique’ flag for them?

I cannot code by the way, only use blueprints.

Thanks,
Daz

@dazuk, only one way i could (randomizing junk) make it work so far was creating blueprint that reads its location, uses tat as seed and randomly places junk. But this feels like reinventing the wheel or duplicating what is already in dungeon architect. I believe this stuff is in “Transform logic” blueprint, I can create it, but there are no events, so far i am clueless about how to connect my blueprint graph to dungeon architect.

And while bumping it i have more questions/problems:
1 - how to detect corners?
2 - or detect if only one side of wall is exposed or both?
3 -detect width of corridor (2, 3 or 4 cells wide)
4 - detecting all empty cells around dungeon to fill them with some background mesh.
5 - how place bigger elements that are created from 2 or more cells (for eg, window that is 3 parts wide and has 3 sections/meshes)
6 - or how create array that holds all ceiling meshes (in top down when camera is above roof i hide it, but when going third/first person i would like to show all roof.)

@ You can fill up areas outside the dungeon by using multiple dungeons (Video below)

http://imgur.com/r0mPWmsm.jpg http://imgur.com/FcGFQCvm.jpg

http://imgur.com/NJ5rWtjm.jpg http://imgur.com/TESEo9um.jpg

http://imgur.com/44jbMGcm.jpg http://imgur.com/FrQomukm.jpg

http://imgur.com/idbZGIam.jpg http://imgur.com/poFXglbm.jpg

http://imgur.com/QMZ03dbm.jpg http://imgur.com/WgNmvosm.jpg

The following video shows examples of using multiple dungeons with the same level and the use of Transformation Logic to fill up the empty space around the dungeon
watch?v=RMrhF2xICQc

@dazuk1978 I show how you can add randomness in the above video at time 12:30

@ - perhaps you could make a theme out of & Nopal’s free mini-cave pack? https://forums.unrealengine.com/showthread.php?66137-FREE--amp-Nopal-s-FREE-Rocks-mini-Package

I’m curious because the pieces don’t really fit an exact grid sizing pattern. You mentioned being able to handle that with selectors befefore. Plus, hey, another example theme!

work on the video. Very useful for this amazing tool!

Is there any way to stop the objects that are now scattered around randomly from colliding with walls etc? Something like a check at build/run-time which checks for valid positions of objects so they are not colliding with other static meshes, and if so move them again and again until they are clear?

Also, on the videos disable your editor sound as that noise when you quit from game mode to editor is so loud and sometimes your voice is quite low so I turn the volume up…and then BANG! Blow my speakers !

Thx so much
Daz

After applying the 4.9 version to the Plugins folder and opening the project I get the following error message:

“Plugin ‘DungeonARchitext’ failed to load because module ‘DungeonARchitextRuntime’ could not be found.”

Okay so following on from my previous post, I followed’s video when it came to randomising the transform and rotation of the entities but it currently does no checks for collision at generation-time with other entities.
I tried to add something to check for this but I’m outta my depth to be honest I’ve attached a screenshot of one of my attempts to do a check and delete any offending (colliding) entities but it doesn’t do anything.
Ideally it would do some kind of loop, where it spawns an entity, checks for collision, if true then reposition, do check until false, then place, then move onto next object etc.

Can anyone help me please?

Daz

Daz, you could try sampling a few points nearby and check if they are empty (e.g. using SphereOverlapActor), So loop this say 5-10 times until you get nothing from the SphereOverlapActor, and insert it into the scene

Yeah, wish I had the know-how to do this!
I’ll give it a go, but may need some help?!

Thanks
Daz