Dungeon Architect

,
Couple questions about IsNearbyMarker.

-Does it take into account the offset of actor it’s attached to? (it doesn’t seem to). I suppose it depends if Marker Transform coming from the select node takes offset into consideration.

-Could there be a problem with small distances not working? Edit: I think small distances are almost certainly not working.

-Can it be used with markers emitted by a custom marker emitter? I seem to be getting strange results when I use it with BPM_RoomCornerEmitter.
-For example, I’ll set it to find a RoomCorner marker within 200 units of a Door marker, and it won’t spawn even though it is certainly within 200 units.

bool UGridDungeonQuery::IsNearMarker(const FTransform& CurrentMarkerTransform, const FString& NearbyMarkerName, float NearbyDistance, UDungeonBuilder* Builder)
{
float QueryDistanceSq = NearbyDistance * NearbyDistance;
FVector CurrentLocation = CurrentMarkerTransform.GetLocation();
for (const FPropSocket& Socket : Builder->PropSockets) {
float DistanceSq = (Socket.Transform.GetLocation() - CurrentLocation).SizeSquared();
if (DistanceSq < QueryDistanceSq && Socket.SocketType == NearbyMarkerName) {
return true;
}
}
return false;
}

Well, I’m really on a roll with the questions (it’s because it’s level building time!).

I need an emitter which would be positioned only on a room or corridor which has a wall facing the edge of the map (scenery).

This is so I can have broken walls which allow a view of the scenery but don’t ever show the dungeon.

The RoomLongEdge emitter almost does this (with the RoomShrine) - but it’s not guaranteed to be a room on the edge of the map.

, is there any way to restrict an emitter to spawn in specific map locations? (like the corner, edge rooms, etc).

Thanks!

[MENTION=28980][/MENTION]
I’m getting a BP compile error in using the quick start content pack

Found the BP and the error reads:

Is there a way to fix this?

I can handle that.
For the floor make new tile and place it before the normal floor. make it consume on spawn. make it call a new marker - call it whatever like “FloorCorner”. Add the floor corner to the graph and simply add a normal floor tile there. now… make sure that the floor corner marker is spawned ONLY on spartial constrait for corner spawning shopwed a few posts back! this way you will have consistent floor however you will have a corner marker in every floor corner! :slight_smile: Now simply use of the “is near marker” functionality to NOT spawn deco near corners :slight_smile: hope that helps.

I need a little help. Getting into the dungeon architect shows me more and more functionality and new ways to use it every day. I am using multiple marker spawners like in the fire level demo mixed with theme override. However I run into a problem. Not with the plugin but with fixing some functionality.

I spawn instanced dungeon as my dungeon is well… buildings. And in those buildings I have walls floor etc - as instanced meshes. Its very efective and lightweight. However inside those buildings another theme is spawning loot. That can’t be instanced. However it must spawn loot acordingly to the rules regarding constraints, is near etc of the building itself. I dont want to spawn loot mid air or on furniture that doesn’t exist. How to do that? How to make sure I can spawn instanced walls and floors and later on top of those spawn actors?
Socnd question - Can I make a grid dungeon with all coredoors and rooms forced to be nex tto another? with no closed free space between them? I can easily achieve it with room volumes placed in close aproximation by hand, but cant find a sweetspot for dungeon random creation.

stairs acting crazy

hello, how to fix this? getting this issue on almost every seed, am i missing something?

ok I give up. How to I access the source code?

Nevermind. I figured it out. Sorry for the noise.

I did not see the marketplace folder…

C:\Program Files\Epic Games\UE_4.15\Engine\Plugins\Marketplace\DungeonArchitect\Source

Interesting approach. Hadn’t thought about using “near” or “not near” in conjunction with the corner markers to get at the center-most markers.
By the way, there’s a corner marker emitter example in the example kit which you could use instead of the ground marker trick.

I am going to give what you’re saying a try.

For the corridors, though, there can be a ton of space between the centermost ground / wall markers and the corners.

Anyway I’m going to give it a try and see how it comes out.

Thanks!

Stairs are all crazy

does anyone have the same problem, how to fix this? this happens on almost every seed i looked.

Adjusting stair correction tolerance helps with this, but unfortunately doesn’t eliminate it completely.

I use stair correction tolerance of 40.0 because if the stairs are ever close together it looks really silly.

I also use allowed stair height of 1.

Are there any other tweaks anyone has found that would eliminate this completely? If we can’t find a way to fix this I’ll have to use allowed stair height 0 :

@

So far, snap map is giving me the best results for my game-level type. Any we’ll see some theme (or theme-like) integration with snap map? Basically, I’d love to be able to place actors in my snap BPs that serve as markers (like the MySnapConnection ones) that are then replaced / spawn things from the theme editor using the rules system, etc.

Just wanted to say thanks, your suggestion led me on a magical journey of discovery. It still doesn’t cover 100% of cases, but it comes pretty close. Being able to have a marker only generated if an actor or mesh is placed turns out to be very useful.

@

Hey,
When I’m using the Spatial Constraints to toggle the Empty/Occupied/Ignore flags, I notice over a short amount of time FPS decreases massively until it’s so bad I have to close UE4. Once reopened it is fine again until I start using the Spatial Constraints again and then the same will happen over time.
It seems like some kind of memory leak?

I don’t know if it’s specific to my machine or a general issue but I thought I would notify you regardless.

Thanks

Hey man love your plug-in. im thinking of making a top down tactical shooter with melee combat and a build your own class system like in rpgs. does this plug in support 2d and orthographic view, so like police stories or bastion. im horrid at art so i was wondering in doing 2d but the on 2d support is in unity. am i missing something or could you help me.

im kinda new to game development so if it has to be a custom thing could you point me in the right direction?
thanks a tonne!!

Ah, man! This is so freaking cool. Superbly amazed, haha; can’t wait to see more of this–hopefully I can try it out, soon!

I got some question… DungeonA and B in same Level . Dungeon A has some actor node and build is fine.but When I build Dungeon B , A all actor node disappear …how to fix it…thx…

fantastic plugin! ive recently begun using it and im excited to move onto the more intricate parts of it.

however, whenever i try to package my project i get this error

Capture.PNG

this happens on both dev and shipping build, and this is testing the plugin by itself in a new third person demo project.
in the editor everything works fine, i have a dungeon and linked theme placed in the level. but whenever i try to play it out of the editor it crashes, and i guess its because of the dungeon theme not having a reference. so i think this has something to do with the dungeon architect files/dlls/cpps being included in my packaged build, but im not sure, anyone have any idea why this would happen and how to fix it?

I need a little tip . I am using grid for spawning buildings in specific places. I am using a single marker emitter that emitts room centers for grid and palce the building in the center. It gives me pretty nice control over the placement and elevation of the buildings, as well as allow me to mix this way of building placement with grid based buildings that actually are built on theme override. So a mixture of “blueprint” base dbuildings and grid based buildings on a single spawner that can manage several towns with different themes. However I cant somehow manage to rotate those buildings! :frowning: I wanted to use marker override for the emitted center marker to a rot90 marker in example, but it just doesn’t override. If I however rotate the mid marker all buildings rotate in that axis and it works. So I need a system to spawn a lot of staff - thru one of 4 spawn rots. one way to do it is make 4 dungeons and rot each 90 degree and spawn specific buildings on specific dungeons but I bet there is an easier way to do it.

Hey everyone, sorry for the lack of response these past few days

@atarimar 2.6.2 should be available now with 4.16 support

@DrinkThisPotion I have a solution attached. It uses the IsNearMarker function to query if there is a wall marker next to the relative left / right of the marker position. This is done by first moving the marker transform to the left (relative movement) and check if there is a wall marker using the IsNearMarker function. Repeat using the right. I’ve wrapped this in a function so you can reuse it with different combinations