Dungeon Architect

@Subsense Thank you for using DA.

#1
There are 2 ways of doing this. One way is to make the level streaming system keep the level state in memory (UE4 feature). So when the level is streamed out, it is hidden from the world (and hence does not render anything there) but keeps the state and data in memory. This is the easiest way and doesn’t require any change from your end. When the level is streamed back in, it will retain all your monsters in it with their health, and other state. The demo game uses this method to remember if the monsters in the room have been previously cleared or not
The other way is to save the state when you want to not just hide the streamed out level, but also unload it. In this case, I have a serialization framework that you can use as shown in the video below

To choose one of the above two methods, Select the Dungeon Actor and use this checkbox to control if you want to unload the chunks when they are hidden

https://i.imgur.com/oAk8UGm.png

Like mentioned above, if you leave this unchecked, you won’t have to do anything and your state will be restored when you walk back to the module again. If you do unload, then use the serialization framework like this:

https:///watch?v=438-hZD5wC8

#2

You can save this data in the game state (e.g. difficulty) and when your NPC spawner actor gets initialized, you can query the difficulty and spawn accordingly (3x more NPCs).
You can find an example of this in the demo game where, in the spawn room, you can step on a pressure pad and set a flag on whether you want NPCs to spawn in the game. I set this flag in the game state and whenever a player enters a module, the logic checks this flag before locking all the doors and spawning NPCs. It can be extended to spawn different NPCs or the number of NPCs.

Having external configuration variables to guide the generation of the flow dungeon is a useful feature and I’ll add it in the future

[USER=“28980”][/USER] Hi, some notes on the Floorplan Theme, UE 21.2.

LOW
Editor crash when wrong ration to min and room size is entere, ie. larger or equal amount of min room size to room size. Also an option to disable room generation would be handy, though this can be adjusted with room min size setting.

LOW
Marker Emitter Node Offset appear to have no effect. This can be adjusted when directly editing Marker Node Location settings.

LOW
If I have tiles with 300x300 widths, Dungeon however shows a slight 1 pixel bias, once instanced, thus have to set 299 px width to account for this bias. Not a big deal.

MED
If you use ceiling/roof mesh which are centered you have to add an location offset, usually around x= -150, y=-150, in a relative standard grid size configuration of wall lengths 300x300. However, even though this is usually correctly accounted for inside the preview, the created Dungeon does not always update this location entry. This can be fixed with a single modification of the location setting, ie, setting the x value to 0, and back to -150.

Suggestion

Default Spawn Logic
Add an option or default spawn location modifier to automatically align spawned actor nodes, relative to the root Marker Node. I know I can add this somehow with creating some spawn or transform logic, but it would be more convenient. For instance if I want an Actor Mesh spawned on the BuildingWall, it is applied to world transform, which result in two of the four BuildingWall sides, to place the Actors outside the wall, instead of inside the building.

Setting for floor amount
Basically it appears that if you want additional floors, you have to make many different adjustments, based on the base level ground or ceiling to add additional floors. An option to create additional floors with adding the ground with an offset to account for the ground thickness, and also to have lightning builds in mind, and then loop through the logic to create the remaining actors for that floor. However, I would think you usually do not want more than 2 floors, unless they are very small, due to performance considerations. Rather loading the next floor with a streaming level volume. So this feature would be nice to have for small story buildings, for urban one or two family homes.

Wall Thickness
While in many level design scenarios the 1 pixel width for BuildingWalls is sufficient, and inside building walls can be more easily adjusted when having a width through small offsets, it becomes more tricky if you take a look from outside, the BuildingWall building corners are aligned to create an empty corner, instead of creating an overlap depending on that wall thickness. The workaround is to place columns or additional wall pieces. While you can set a BuildingWall offset inside the location setting, it creates some empty parts at the end of that wall. So it is not exactly clear how to adjust BuildingWall offsets when using a wall thickness, usually around 20-40 pixel.

Actually, not I haven’t installed it. I have dungeon Architect 4.18 files not dungeon Architect 4.21. So I have to update the plugin ? If yes then how ?

Download them from the marketplace launcher. Go to Vault and click install and choose 4.21

@unit23 Thank you for the suggestions and error reports. I’ll have a look

So I have to pay again? Am I right?

Thanks.

One more thing which would be cool to have, a mirror feature, which would include the discarding of the wall to the next room, unless it is the new BuildingWall. I had todo this manually after setting up the first room, since I do not wanted doors between rooms (Creating Motel rooms), So I manually used the UE MergeMesh tool to combine meshes, based on the initial Dungeon creation.

A workaround is to use ReplacementVolumes, additional to the RPV I already had for the EntranceDoor. For workflow optimization, to create 8 dungeons, with related volumes, wasnt feasible, in order to create a two floor 8 room Motel. This is likely a rare case if you do not want Doorways between rooms aligned on an axis, but it may be a great feature since sometimes you want to change rooms again, and have to start over.

I have turned on level streaming without unloading and made all the doors opened in the demo so I can leave the rooms without killing the enemies but when the streamed levels unloading the enemies are falling to the void. Is it happening because of they exist in the persistent level as well, not just the in the loaded sublevel?

@LETTICONION You don’t have to pay again. If you bough it from the marketplace, it should show up in the launcher. Did you purchase the first time through my website a few years ago, if so please send me the paypal invoice and I’ll ask Epic to add you to the launcher?

Yeah spawn your NPCs in the same level as the module. If you are using a spawner blueprint, spawn your NPCs in the same level the spawner belongs to.

4.22 is now supported

Version 2.12.0

  • New: Added 4.22 Engine support
  • New: Added weights to theme override volumes so if they overlap, the volume with the larger weight gets its theme applied
  • New: Theme editor has an option to force rebuild the preview viewport’s dungeon layout, which will be a little slow but more accurate, in case of custom marker emitter blueprint usage
  • New: Removed Apex Destructible plugin dependency from Dungeon Architect and the custom Destructible mesh node support. However, destructible meshes are still supported. (Drag drop your destructible meshes on the theme editor)
  • Fix: Paint mode now properly shows the colored layout, which was not being shown in some cases
  • Fix: CityBuilder adds large city blocks (greater than 3x3) correctly
  • Fix: Marker emitters on custom placed platforms (using platform volumes or painted cells) were having their Z registered incorrectly making objects float on air
  • Fix: Improved the debug draw’s performance in the theme editor’s viewport window

Don’t get me wrong but the previous post was for another asset accidentally posted there.

And Oh no ! Actually I got that from any other website for free. I don’t know why it was there at right time and why for free but it was for free. At that time I was not aware that it was yours. I Honestly respect and appreciate you and I didn’t break any copyright laws (if any) intentionally. So please sorry for that.

I immediately checked out your website after you mentioned it in previous talk.

Well i still want to use your plugin. It is addictive and better than any other dungeon generator.

So is there any free option left for me to grab latest "dungeon architect "??

Please don’t get angry if you are going to be.

You are only hope for me!

​​​​​​

​​​​​​

​​​

DA is on sale right now (for another 2 days more) if you want to grab it for 50% off. It won’t be for free anytime in the future :slight_smile:

Well thanks for not getting angry and you are so good but I still can’t afford that.
Well I want to ask you that if you want to remove the pirated copies of dungeon architect from internet then I can help you.

I’m not sure if this is happening to anyone else but I recently updated DA to 2.12 and have been getting crashes in unreal 2.21 when I enter dungeon draw mode. is the call stack.

Access violation - code c0000005 (first/second not available)

UE4Editor_DungeonArchitectEditor!FGridDungeonEdModeRenderer::Render() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitecteditor\private\builders\grid\editormode\griddungeonedmoderenderer.cpp:42]
UE4Editor_DungeonArchitectEditor!UDungeonEdModeHandler::OnRender() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitecteditor\private\core\editormode\dungeonedmodehandler.cpp:80]
UE4Editor_DungeonArchitectEditor!FEdModeDungeon::Render() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitecteditor\private\core\editormode\dungeonedmode.cpp:292]
UE4Editor_UnrealEd!FEditorModeTools::Render() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editormodemanager.cpp:839]
UE4Editor_UnrealEd!FEditorViewportClient::Draw() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorviewportclient.cpp:3777]
UE4Editor_UnrealEd!FLevelEditorViewportClient::Draw() [d:\build++ue4\sync\engine\source\editor\unrealed\private\leveleditorviewport.cpp:4081]
UE4Editor_Renderer!FSceneRenderer::FSceneRenderer() [d:\build++ue4\sync\engine\source\runtime\renderer\private\scenerendering.cpp:1728]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::FDeferredShadingSceneRenderer() [d:\build++ue4\sync\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:231]
UE4Editor_Renderer!FSceneRenderer::CreateSceneRenderer() [d:\build++ue4\sync\engine\source\runtime\renderer\private\scenerendering.cpp:2544]
UE4Editor_Renderer!FRendererModule::BeginRenderingViewFamily() [d:\build++ue4\sync\engine\source\runtime\renderer\private\scenerendering.cpp:3148]
UE4Editor_UnrealEd!FEditorViewportClient::Draw() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorviewportclient.cpp:3624]
UE4Editor_Engine!FViewport::Draw() [d:\build++ue4\sync\engine\source\runtime\engine\private\unrealclient.cpp:1520]
UE4Editor_UnrealEd!UEditorEngine::UpdateSingleViewportClient() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:2121]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1854]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3699]
UE4Editor!GuardedMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\launch.cpp:174]
UE4Editor!GuardedMainWrapper() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:276]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]

ntdll

I’ll have a fix soon

Thanks for the quick response I’ve been loving the plugin.

Hi,

Copy-Paste Marker Node leads to existing several nodes that I can’t delete.

Hi [USER=“28980”][/USER] I am again but now with the prefabricator. The launcher is unable to detect it.

Help! It shows no errors no logs just says no plugins installed.

What to do ?

[USER=“28980”][/USER] how can I make a snap builder with grid builder dungeon? For example I would like to use rooms from snap builder and then populate corridors using grid builder. Some kind of an hybrid. How I can achieve something like that?