Dungeon Architect

Copy and paste an actor node does always crash the theme editor and UE editor.

I works if there is no blueprint selected in the actor node - but there is no purpose of copy/pasting default actor nodes :wink:

Another smaller bug: the theme editor shows non editable variables for an actor nodes blueprint.
IMHO it should only show editable variables.

I cannot reproduce this bug. The actors pawn correctly, however there was a fix previously which was not pushed (setting of nested blueprints inside another blueprint) which was causing AIBehaviorToolkit to not work. Iā€™ve added that and will publish a hotfix soon

Thanks for the bug report. Iā€™ve fixed the crash issue but the node information is not copied somehow. So it creates an empty node when copied, which is useless but better than the crash :wink: Iā€™ve spent some time but couldnā€™t figure out why the engine is not deserializing the copied node (probably because of the actor template reference). Iā€™ll get back to it later when I get time

Iā€™m using the AIBehaviorToolkit ^^ ā€¦ so that is the problem with the spawner blueprint. Nice that this will be fixed soon ā€¦

I once had a crash with the editor copying and pasting a mesh node and the editor crashed when I connected the pasted mesh node - I cannot reproduce this though.

But another bug is very noticable: the Undo behavior is very strange. If I delete something in the theme editor I cannot undo it.

The crashes and undo bug makes it very hard to work in the theme editor with 2.3.0 - I hope things get better with the hotfix.

Thanks for working on it.

Just a thought, but is it feasible and possible to use DA just for foliage placing, can you align actors to a landscape? Would there be a performance difference, and or different results (more customized trees, ie. with extra branches attached, or hotspot with rocks surrounding certain trees )?

I have landscape / foliage transformation planned for DA in the future updates like in the Unity version

2.3.0-hotfix.1 uploaded to website

4852689969cbd3799cc221379f44e32f3805e73a.jpeg

As you can see there are some problems because of height variation directly at the border where a room meets a corridor.

The door is behind the stairs (and the navigation fails at this point), a torch is in the stairs mesh and the wall is higher than nessessary and is above the corner column.

How can I prevent this?

A good way would be to prevent a height difference directly at the room borders - could solve all the problems at once ā€¦ can I do that?

This is a runtime generated gridbuilder dungeon.

Edit: and how do I prevent generating a door directly at a corner - this does not look good, too.

The nested blueprint spawner problem is not hotfixed - right?

Try increasing stair connection tolerance from the default 3 to something higher like 6 or 10. 3 is too agressive with stairs

That is fixed in the hotfix.1

hotfix.1 does not help ā€¦

The spawn blueprint always spawns the actors at location (0,0,0) ā€¦
If I set a breakpoint in the blueprint in the BeginPlay event, I can see that GetActorLocation always returns (0,0,0) when using a runtime generated gridbuilder dungeon.

It works correctly when building a static dungeon.

Looks better - but there are stairs that are problematic.

you can see a door blocked by stairs and even unreachable area because of the stairs.

And stairs going down into rooms look odd.

Is there really no way to allow stairs only inside corridors (maybe implement an integer value option to indicate how far from rooms a stair is allowed ;-))?
I think that could solve some problems with stairs.

Edit: only allow heightvariation in corridors with a distance to room tollerence value might be even better

Another bug related to copying actor nodes:
Even copying a whole dungeon theme inside UE breaks every actor node used in the theme.
You have to reselect the blueprint in the actor nodes to make them work again - and I experienced a lot of editor crashes while editing the actor nodes ā€¦ ^^

Is there somewhere an example theme for house roofs?

I could prepare roofs i guess, will take a look at the angular example soon, roof examples

https://s22.postimg.org/ma33bly29/roofs.jpg

To create a house, i use the floor builder first, and for the final dungeon a lot of negation volumes, right? Or the city builder with premade buildings?

Hi,

Issue with fence separators and half-walls. Thereā€™s a bug where a fence separator, a half-wall separator and a half-wall is emitted but no fence. Itā€™s rather odd and I suspect itā€™s just gone unnoticed. Iā€™d like to see the fence separator removed so that only the half-wall and half-wall separators are emitted but I could live with the fence being emitted as well. One other thing, it seems to flip the fence separator in odd ways depending on whether itā€™s a corridor or a room. Iā€™m not clear on that though, so take it with a grain of salt. Iā€™ve attached a screenshot to demonstrate.

The settings that you see are all that you need to reproduce. Iā€™ve doubled (or tripled) the scaling on the fence and fence separators to make them visible. As you can see, you get half-walls, half-wall separators and fence separators but no fence. Best option for me would be to remove the emission of the fence separator in this case.

Thanks.

So I gave it another try to get a working (playable) solution for my entrance/exit room problem with the GridBuilderDungeon (for runtime dungeon creation) I described in this post in this thread for the weekend. (https://forums.unrealengine.com/showthread.php?67599-Dungeon-Architect&p=615096&viewfull=1#post615096)

Short summary of the missing requirements I have for the entrance and exit rooms:

  • I need to place the meshes for the stairs at a wall (length around GridCellSize * 3) that has no doors that would be blocked
  • I need a non playable area behind the stairs of around GridCellSize * 2 (TopDown view - the player must not stand behind the stairs meshes)
  • the rooms must not be disconnected from the rest of the dungeon

I made a DungeonEventListener (OnDungeonLayoutBuild event) and created two ThemeReplaceVolumes (for displaying the stairs up/down meshes) that cover the furthes rooms in the dungeon, a MarkerReplaceVolume (for stairs down at the north wall - to get rid of the ground meshes and one wall) and two NegationVolumes (just behind the rooms north wall at width of the room - to get empty space behind the rooms).
All these are placed at runtime or manually build with a random seed at the correct location and scale - good.
And I made separate themes for the normal dungeon, the entrance (stairs up) and the exit (stairs down).

If I create a dungeon with some seeds I get a playable dungeon that looks good (after rechecking ā€œRealtime Updateā€ for the volumes and destroying and builing the dungeon with the same seed again). But many seeds will be unplayable.

are the problems:

  1. NegationVolumes can sometimes make the rooms separated from the rest of the dungeon. (the player canā€™t reach entrance or exit)
  2. NegationVolumes and MarkerReplace are only active after the dungeon is build and ā€œRealtime Updateā€ is manually rechecked once - without rechecking the volumes are shown at the correct location but have no effect at their new bounds but on the last random dungeons bounds. (e.g. the stairs going down are blocked by floor meshes that the MarkerReplaceVolume should suppress)
  3. I believe there are some remains of older volumes (ThemeReplace, MarkerReplace and NegationVolumes) in the dungeon even after ā€œDestroy Dungeonā€ and ā€œBuild Dungeonā€ is clicked with a new seed - the new bounds and older bounds of the volumes can be seen - really weird ^^
  4. Sometimes a theme is not replaced correctly - the stairs meshes are ok but not the door meshes (I can see this as my entrance and exit room themes have different doors). Rechecking ā€œRealtime Updateā€ for the theme volume AND ā€œDestroyā€ AND ā€œBuildā€ the dungeon helps .

Questions:
I there a way to force an update of the volumes in a blueprint?
How can I reconnect rooms that are separated by NegationVolumes?
Is ā€œOnDungeonLayoutBuildā€ the right place to capture the rooms bounds and set my volumes?

I made some test with additional PlatformVolumes to reconnect separated rooms - but separated rooms by NegationVolumes wonā€™t reconnect that way.

Any help would be great.
Thanks.

BTW: the spawner blueprint problem still persists :wink:
Edit: a NavMeshVolume automatically created around the whole dungeon has similar problems like the other volumes and does not always work (I have to make I little manual ajustment to e.g. the scale and it works again ā€¦)

This might be a long standing Unreal issue. Sometimes (often after crash?), AI does not move, but with a tick to the navmesh volume, the navmesh volume works again, and so does the AI. I think it affects static and dynmaic nav mesh generation.

This is a different problem I think. In my level the navmesh is rebuild - but the bounds for the navmesh is not the current one.
But youā€™re right - I had more problems with navmeshes not working - I had to delete the RecastNavMesh actor or even the whole volume to make it work again.