Firstly I wanted to say how amazing the work you’re doing is. Truly exceptional.
Secondly, I’d very much be interested in purchasing your work for one of my projects but first I wanted to ask if you had considered adding functionality so you could create prefab rooms that would be used in dungeon generation.
It’s very important for me to be able to build very specific rooms and have them show up in the generation.
I`m doing that now actually. All you do is build the Rooms with the Build Volume, have it connected too the Generator. Then Have it Spawn all the Rooms in your Array which you save, and then run the Generator via Blueprints to reseed, and generate your roooms stay the same, but everything connects too it.
what you are refering to is the snap builder and it is already in there. you basically build you rooms as levels then insert the snap door nodes and a Snap info node and set the parameters a then in the main level you set what levels you want to use and then it builds them on in an array.
, All dungeon spawned actors have a tag starting with “Dungeon-”
So you can grab your ISMs by iterating over all the actors in the world and checking if the Actor::Tags has your dungeon tag
const FName DungeonTag = UDungeonModelHelper::GetDungeonIdTag(Dungeon);
for (TActorIterator<AActor*> ActorItr(GetWorld()); ActorItr; ++ActorItr) {
AActor* Actor = *ActorItr;
if (Actor->Tags.Contains(DungeonTag)) {
// This actor was spawned by the above dungeon actor
}
}
As for intellisense, I’ll have a look. Are you using using Visual Assist X with Visual C++? If not, you should
@RedSaturnSix Thank you! Like others have pointed out, this can be done with the snap builder. However it is still a work in progress and will take a little more while to finalize. I’ll update the status in the forums
I’ve got world composition supported in the snap builder
However there’s a limitation. The engine doesn’t allow me to stream the same level multiple times. One level can be stream only once at a particular location. This doesn’t work as we might need to spawn a module (like corridor/room) multiple times across the map
As a workaround, I’ll create a folder in the same location as the base map, then make a copy of each module map into that folder and stream that in, this way each modules copy is unique
Foliage works properly with the new world composition system
I added grass on the spawn module. It shows up properly on the generated map
I made a simple city builder for the unity version a while ago. It is a basic grid based rectangular road network with proper markers to setup roads (T junctions, X junctions, etc), buildings facing streets, parks in the middle
The world composition method is too restrictive. The workaround would make it work only in the editor (as cloning of worlds is part of the editor API). I’m looking at fixing the original spawn code
o.o Your … I spent 3 Years developing a Procedurally generated game in unity, City, Building, @.@ and had to Switch to unreal engine :X I cant wait to buy this. Lolz
So - Just got looking at the tutorial videos on YouTube for Dungeon Architect. Looks like I would have to define a Base City theme and then define a bunch of sub themes and overwrite the various bits of city that I want with them override volumes.
That said - The ability to connect multiple dungeons (or in my case Cities) together would be great. Would that be possible? I think that would be a great way to circumvent the problem you are facing with World Composition. So basically make the City Builder have an entrance or Exit which an artist can make it connect to another level manually.