Dungeon Architect

@rctorres The snap builder will undergo major changes in the coming days (to make it more stable and flexible) Please use it after that (2.5+)

Iā€™m huge proponent of Procedural Everything and would vote highly for a integrated product or User Interface. Its the sort of design Iā€™m aiming for with my own plugins. But, I can understand the additional work load involved. Anyways, keep up the work Man!

Thanks!

Thatā€™s not going to be in the next few months I wouldnā€™t think. At least now I know I didnā€™t break things, Iā€™ll take a look at the code and see if I can create a custom solution for it.

Thanks, . Looking forward to it :slight_smile: In the mean time itā€™s easy to toggle source control within unreal off/on for testing but weā€™re looking forward to the new implementation! Keep up the work!

Did this ever end up getting built in? Iā€™m doing an optimization pass and the ability to use level streaming would be huge for performance.

Just purchased this pack. Liking it so far, might need help with a few things though that arenā€™t in the tutorials or have changed (for example some things canā€™t be broken to get data anymore)

To start, is there an easy way to get the starting position? or the starting room? or something like that? Basically I just want to set up a system that generates a map, then spawns my pawn in the starting location.

Also, using the Query thing always seems to return intsā€¦ IE get Random Cell of Type returns in an intā€¦ but I canā€™t find where to use that int to access the actual cell?

@DrinkThisPotion It was, but it causes problems with source control (as I have to create too many level assets to stream them in). Iā€™ve scrapped it all and implemented it in blueprints and the early version is looking promising. Iā€™ve learnt a lot about how the engine handles world composition in C++ while implementing it in the past. Iā€™ll add world composition on top of the existing system at a later date

@Pinworm, thank you for the purchase. You can find examples for this in the Quick Start Guide. The Runtime demo shows you how to place your pawn no a valid dungeon platform after it is built. Check the Query System Examples to place start /end rooms in your dungeon

I was making a few mistakes, thanks. I think I got much of it sorted now. Iā€™m still having a few issues with runtime building (itā€™s spawning actors and lights outside the dungeon) but Iā€™ve fixed my other errors so far so Iā€™ll keep messing around

Edit: yeah Iā€™ve fixed it by correcting an earlier error where I was doing things wrong. Content examples sorted me out. Thanks :slight_smile:

@Pinworm Glad to hear. If you want to spawn props outside your dungeon, have a look at the HellForge demo where I use a EmptySpace marker emitter to spawn rocks outside the dungeon.

You can use that concept to decorate the surroundings of your dungeons like this (trees, barrels, bushes etc):

Iā€™m currently implementing a minimap for my grid builder dungeon (runtime) and I read somewhere (I canā€™t find it though) that I could use a different dungeon theme for the creation of the minimap (scenecapture2D) and then run the game with another theme(s).
My dungeon already consists of 3 themes (entrance, exit and normal) and I wonder what a good approach for this would be?

Should I use two separate dungeon actors with normal and minimap themes using the same seed or try my luck with themereplacevolumes in one dungeon actor?

Any suggestions?
Thanks, Lars

@ It seems there is a bug with instanced dungeons and clustered theming. I use the clustered theming to change some materials based on it, and this works as long as the dungeon is not instanced. If I switch over to **Instanced **the material is switched out with the base material in my cluster theme.

@ Just wondering if there is a way to tap into this procedural work programmatically rather than through blueprints? Iā€™ve been using it and itā€™s been great, but itā€™d be nice to allow for even more objects through the marker emitters and setting those affinity values to something like a probability distribution. In any case, thanks very much for this and looking forward to what else you might be working on.

@ Hello again - I am plagued witht this bug when opening my project:

UE4Editor_DungeonArchitectRuntime!SceneProviderCommand_CloneActor::ExecuteImpl() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\sceneproviders\sceneprovidercommand.cpp:212]
UE4Editor_DungeonArchitectRuntime!FDungeonSceneProvider::RunGameThreadCommands() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\sceneproviders\dungeonsceneprovider.cpp:90]
UE4Editor_DungeonArchitectRuntime!FDungeonBuilderTask::RunGameThreadCommands() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\dungeon.cpp:298]
UE4Editor_DungeonArchitectRuntime!ADungeon::Tick() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\dungeon.cpp:122]
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor

ntdll

It seems to appear when UE4 crashes for some reason, and when reopening the project after this. When the project is reopened, a lot of the actor nodes in the dungeon theme is missing, and this I guess is what creates the error. I then have to remake my dungeon theme for the n-th time, which becomes annoying fastā€¦

That would be good, because currently I need to load maps or suffer performance hits. I was thinking once the new snap builder changes are out some level streaming might be possible using runtime generated streaming volumes between snaps?

@Laurentius, I have a game in Unity that has a minimap using this concept and it works well. I create another minimap dungeon (with the same configuration) somewhere far away. A simpler theme is applied to this minimap dungeon so it looks good at a smaller scale. I capture that in a Render texture and display it on screen (check lower right corner)

watch?v=kB0TxSByIF8

@dkoding Iā€™ve added a null check on that function which was probably causing this error. As a workaround for now, when you level loads, select the dungeon and click destroy, then save the level

The actor issue should also be solved. The theme editor now lets each node initialize itself when it loads, and the actor node should initialize properly

@daeilkim, you can directly access and use the dungeon actor and all the other features from C++. Iā€™ll create a programming guide with examples

@dkoding I just tested with the sample scene and it works fine for me. Make sure your material has ā€œbUsedWithInstancedStaticMeshesā€ flag set