Dungeon Architect

Hey, just wanted to let you know DA has finally shown up in my vault. So where ever i was on the list epic is finally getting to that point.

Thanks alot for getting them to make it part of our vaults. :smiley:

Hey, I know youā€™re juggling hundreds of things at once, but I noticed a simple city generator on the DA roadmap, and I was wondering if you had a rough estimate for when that would be complete? Our team is rapidly approaching a benchmark where we have to decide whether or not weā€™ll have randomized districts within our city, and itā€™d be super helpful to be able to see whether what youā€™re working on suits our use case :slight_smile:

Hey, Iā€™m very interested in using Dungeon Architect. I think it falls very well into our workflow. However, Iā€™m a little bit worried about the fact that I get my engine out of the Epic Perforce, and therefore my UE4 versions are a little screwy, and are not even in the Epic Games Launcher.
All this to say that if I purchase your plugin, I most probably wonā€™t be able to run it as is and would need to recompile it on multiple occasions.
Is providing source code an option for you? That would allow us to recompile everything as needed.

Could you please provide a link to these Unity assets ? (Iā€™d like to contact author and see if assets can be used with UE4) :o

the links to your guide are broken sir. please fix so I can learn how to use your most amazing system

Hello,

As you allow a stair delta greater than 2, are you also natively emitting some stairs that high ?

I did try my luck with a Stair3x marker (hoping for the same logic as your emptyspace emitters) but it didnā€™t work:

So is there an easy way to emit Stair3X, Stair4X etc, or should i (try to^^) make my own emitters ?

Thanks

The links should redirect, but are the latest ones (2.2):

Quick Start Guide
User Guide
Quick Start Content Pack

Hi,
so I tried to create a dungeon event listener blueprint and attach it to the dungeon actor, but it doesā€™nt show up in the event listeners menu (advanced section).

Is there any sample covering a dungeon event listener currently available or will the quoted ā€œdemoā€ be available in the next few days or so?

Best regards, Lars

Edit: it ā€œmagicallyā€ appears in the advanced menu, now ā€¦ so this is no problem any more - but maybe you have a vage timeframe for the ā€œdemoā€ ā€¦

I think Iā€™m really close. My dungeon event listener changes the theme (candy V2 in a medieval dungeon ā€¦ LOL) inside my runtime dungeon.
I get the furthes room cells (Room A is my entrance and room B should be the exit or another place of interest) ā€¦ the cell dimentions ā€œout centerā€ of Room A is the place where my dungen theme override volume is.
But how do I get the correct scale for the override volume? Is scale Z even possible? (I can use a very huge Z value for now ā€¦). How do I get the rooms X and Y dimensions?

This is my blueprint for the DungeonEventListener:

This adds a special theme for the start room in my runtime dungeon.

Quite there ā€¦ but there are 2 problems:

  1. changes to the DungeonThemeOverrideVolume (size and scale) are not used for the current runtime dungeon - the volume is changed but the changes apply only when I play the level a second time (I tested this with a static seed number ā€¦)
    So I think that OnDungeonLayoutBuilt is not the right place/time for changing the asset or I need to update the changed DungeonThemeOverrideVolume somehow. (major problem!)

  2. how is the value for the volume scale (see image) calculated? I found it by testing different values but I have no idea where to get this value of ~175 at runtime. (minor problem)

Any ideas?

EDIT: Problem 1 occurs only if the dungeon is build at runtime - if I manually change the seed and hit ā€œBuildā€ on the dungeon asset in the editor the blueprint works correctly and the theme for the start room is changed.

I am struggling with the Z value as well. said heā€™ll be providing a demo of how to properly wrap the theme override. Iā€™ve marked that particular part of my project as blocked (from a planning perspective) until that demo is made. If you figure it out Iā€™d love to hear your method. I had not even used an event listener, but rather just made a platform guaranteed to be a room and made a thin override which makes it so one wall of that room is an empty theme. I then made a static wall with a door which lined up properly with generated dungeons. This works really well except for the Z value of the connected room. Sometimes the room is on Floor 2 of the dungeon and it is no longer aligned with the door I created.

The Z value is not really an issue for me as I use a theme override volume which has no effect on the room size/scale/location. It just changes the theme and makes no new platform.
But I need to solve a new problem, now. How do I choose the right wall in the new themed room and change it to a entrance mesh ā€¦

I think I can use this approach for theming other special rooms in the dungeon level as well. (library, special bossroom, etc.)

This sample shows how to automatically enclose a navigation mesh bounds volume (or any type of volume) around your dungeon. The event listener listens to the PostDungeonBuilt event, finds the dungeon dimensions and sets it on the volume. This works for both design time and runtime

watch?v=_kmQIsCVJac

Iā€™ve attached the blueprint. Add it to you Dungeon actor and set the nav mesh bounds volume references as shown in the video

Iā€™ll provide an example of encompassing a volume around a room soon

Hey , Iā€™ve added support for stairs greater than 2. So it should emit the appropriate markers. It will be available in the next update (2.1.0)

https://.youtube.com/watch?v=a9bvTUuk_xc

(2.2.0 is still not released yet in the marketplace. Iā€™ll follow up with Epic)

@ Those assets are also available in the UE4 marketplace.

UE4: Multistory Dungeons
Unity: Multistory Dungeons
Author: Mana Station

@RogueFactor, the entire source code is available with the plugin and you can modify and recompile it as you wish on any platform. The plugin (including source) will be placed once installed from the launcher (Epic Games\4.13\Engine\Plugins\Marketplace\DungeonArchitect).

If you plan on purchasing it, then please buy it from the marketplace (and not my website) and drop me an email (.akbar@coderespawn.com). Since you have trouble with the launcher, Iā€™ll grant you access to my website where you can download it directly

Iā€™ve noticed this too. Seems like a bug in UE4 editor (or Iā€™m doing something wrong). It will show only the recently opened (or loaded) blueprints in the drop down list. Iā€™ll investigate this further later

@Laurentius your approach is correct. The ~175 value is the brush setting. If you drop in a new brush, X,Y & Z would be 200.

Edit: Runtime also works, you need to set volume mobility to Movable (instead of static)

Automatic wrapping of Theme Override Volumes around Rooms

Wrap your theme override volumes automatically around certain rooms using a dungeon event listener. The volumes are correctly placed around the rooms right after the layout is generated (but before the theming is applied). The theme engine then picks up the newly placed theme override volume to give the rooms a different look. (blueprint attached)

https://.youtube.com/watch?v=7KKlBJnCDt8


You need to set your volumeā€™s mobility to ā€œMovableā€ (instead of static) if you want it to work during runtime

@arvinmoses, You game looks !

You can get the room center and emit anything you like from the theme.

To do that, Add the attached blueprint to your dungeon actorā€™s Marker Emitter list. Then create a marker in your theme file named ā€œRoomCenterā€ and your objects will show up in the center of the room. If you want to preview this in the theme editor, add this in the theme editorā€™s dungeon properties too

For corners you can use Spatial constraints.

https://.youtube.com/watch?v=eL4C42A7rx4

You can add variations to various rooms in your levels using dynamically placed theme override volumes (2.2.0+)

https://.youtube.com/watch?v=7KKlBJnCDt8

Ok runtime also works. You need to set your volumes to Movable (instead of static)