Dungeon Architect

@uced Try hooking on to the UDungeonEventListener::OnMarkersEmitted function. You can then iterate the marker list (and grab the transforms of all the markers you are interested in (like “CliffWall”). This function is called after all the registered marker emitter blueprints are executed


UCLASS()
class UMyListener : public UDungeonEventListener {
GENERATED_BODY()
public:

    virtual void OnMarkersEmitted_Implementation(ADungeon* Dungeon, UPARAM(ref) TArray<FDungeonMarkerInfo>& MarkerList, TArray<FDungeonMarkerInfo>& MarkerListRef) override {
       // Be sure to call the base class
       UDungeonEventListener::OnMarkersEmitted_Implementation(Dungeon, MarkerList, MarkerListRef);

      // Loop through the list and grab the marker transformers that you are interested in
    }
}


/// Register the listener with the dungeon actor
UMyListener* MyListener = NewObject<UMyListener>(...)
Dungeon->EventListeners.Add(MyListener);

...

Dungeon->BuildDungeon()

The flow editor gets a new Visualization and Debug Mode. With this you can visualize how you dungeon is built step by step and will help you figure out issues with your snap module generation and connection placements

watch?v=BfiOLFo5uDU

I’ve submitted a new version with the above visualization and debugging features to the marketplace for review

Version 2.13.0

  • New: Major upgrade to the Dungeon Flow editor with the new Visualize and Debug tabs on the top right
  • Fix: Pasted markers in the theme editors were not being deleted in some cases

[USER=“28980”][/USER]
Thanks a lot, in the meantime i had coded all the positions i needed in c++ but i’ll try to follow your tips, that’s exactly what i needed and it’s certainly going to be much faster than to recompute everything.
Thank you very much as always :slight_smile:

To note: The code respawn version is still on 2.11.2.

Hello, I have an issue with the SnapMapDungeonBuilder Class in a replicated environment

The client who joins gets automatically kicked from the server when loading up/ instancing a level via the “Build Dungeon” function.

The logs show “ServerUpdateLevelVisibility()” at the point of net closure for the client. After reading the wiki page its related to networked actors in streaming levels.

I had two questions, what does the “Replicate Dungeon” checkbox do? And is there a known/possible workaround for the issue above?

Thanks for an amazing plugin, its been great to work with so far :slight_smile:

Hello, I have an issue with the SnapMapDungeonBuilder Class in a replicated environment.

When a Client joins a server they get automatically kicked from the server when loading up/ instancing a level via the “Build Dungeon” function.

The logs show “ServerUpdateLevelVisibility()” as the last function call before net closure. The wiki says its related to actors in streamed level over the network, which in this scenario, the levels themselves don’t appear to be network streamed (if thats a thing), in my setup, the server generate a dungeon from a seed, which is replicated, clients build this dungeon OnRep_Seed.

I had two questions, what does the “Replicate Dungeon” checkbox do? and is there a known/possible workaround for the issue mentioned above?

Thanks for an amazing plugin, its been great to work with so far :slight_smile:

I encountered the following problem using DA in 4.22. I tried to create a new Grid Builder by pressing the + sign next to the Grid Builder property on a dungeon I created. It asked me for the name and where to save the file to. Then when it tried to create it, UE crashed and gave me this error.

Unhandled exception

UE4Editor_DungeonArchitectRuntime!ADungeon::CreateBuilderInstance() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\dungeon.cpp:276]
UE4Editor_DungeonArchitectRuntime!ADungeon::PostEditChangeProperty() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dungeonarchitect\source\dungeonarchitectruntime\private\core\dungeon.cpp:189]

I was able to create a Custom Grid Builder by creating a new Blueprint and selecting Custom Grid Builder however so it’s not a big deal. Just giving you a heads up.

@Prospile Thank you for the update, I’ll have a look
​​​​​​​

Thank you! I’m happy you like it. I’ve rewritten the level streaming code with the following new changes to make it work in multiplayer:

Client: Works as before and streams in the rooms that are close to the local player(s)
Server: It now takes into account all the controllers (Players and NPCs) and streams the modules near them based on the depth parameter

This way the server has the levels streamed in for all the relevant players so it could properly run the physics for everyone (hence not make the player fall off the rooms if they wander too far away from each other) and the clients only stream in the rooms they are in (for local physics interp). It works with dedicated servers, listen servers and local split screen

I have this working with the ShooterGame demo. I’m also working on a demo game with all the new assets we’ve got over the past few months

Do you have any screenshot examples of how to get this working or could you make a short tutorial please, we’ve been fighting with it for over a week and it would really help us out, or is this something that will be included/fixed in the next update?

Also, with having this problem I’ve been exploring using the SnapDungeonBuilder, I know it’s only experimental at the moment but I’m having issues with it as I can’t find much documentation on how to use it properly, I have managed to get it to spawn a single blueprint room and it varies between the two different blueprints I’m testing with, but it won’t generate them both attached together, I’ve tried using the connectors like with the SnapMapBuilder but it’s not working, do you have any advice or documentation that would help me please?

Hey, thanks for the response, I didn’t realise my post had posted from the other account, and then there are 2 posts!! The forum said the account was not valid (the emails no longer exist) so i posted again!

I’d like to try these rewritten features you mentioned, the last version I used was from 4.22 downloaded architect on Friday the 10th of May.

This looks amazing! Great work :eek:

[USER=“24168”]Art of Nyxi[/USER] I’ll have an update soon with the multiplayer fix (It requires C++ changes)

For the snap map builder, please follow along this doc for the time being: Snap Builder Quick start Intro [WIP] | Snap Map Builder User Guide (Dungeon Architect for UE4)

The new update (2.13.0) will make it easier to debug your dungeons as you build through the graph

2.13.0 is live on the marketplace and you should be able to download the update now

Thank you :slight_smile:

I’ve fixed an memory bug in the snap map builder that was not allowing you to switch levels after you’ve generated a dungeon the visualize tab of the flow editor. It also doesn’t take up memory on subsequent rebuilds and properly unloads the unused streaming levels from memory. This will be available in 2.13.1

Great Tools Thanks

I’m having a few problems getting it to work correctly. I’m hoping you might be able to point me in the right direction.

Problem 1: No doors
I wanted to design a very specific level so I decided to use the dungeon painter tool. Is there any way to add doors? Ideally, I would like to define the location.

Problem 2: Can create selector logic
I was following your video on selector logic when I got to the section about creating a room based selector logic (3:30 https://.youtube.com/watch?v=hQFCi_Hw074&t=208s )

It shows the creation of a blueprint by clicking in the interface. However when I attempt this in version 4.22. I does allow me to select a file, however in the video it creates a specific file. Now it wants me to select a file. I tried making a normal blueprint but it doesn’t have the same override. How do I create this specific blueprint.

Thanks for the help.

**Update: I FIgured it out no need to respond. **

Ed

Hello,

I’m desperately trying to package a demo using Dungeon architect (from the marketplace) in 4.21.2

I’ve tried several steps suggested by various forum posts (such as removing intermediate/saved folders) but nothing worked so far.

I’ve also tried adding a c++ class to my project (as advised early in this thread) but that failed too.

To be clear, it fails packaging a default third person project with Dungeon Architect enabled.

Are there any packaging instructions i should be aware of?

are logs of one packaging attempt, if they are any help.

Cook2019.05.2017.08.21.txt (288 KB) Log.txt (339 KB)

Hi, I don’t know if anyone can help me but I am trying to emit a marker which sits in the middle of a dungeon room.

It is example 1 in the user guide :

http://coderespawn.github.io/dungeon-architect-user-guide-ue4/stage/html/user_guide_2.11.html

On the blueprint it wants me to use “Break DungeonModel” however I cannot find this as an option. Or “Break DungeonConfig”.

Does anyone know what to do?