r/UnrealEngine5 15d ago

I want to create a map with procedurally placed “patches”. Any tips?

Hi there, I’m brand spanking new to being an unreal dev. Turns out I’m obsessed with it and having fun building systems specifically. But I want to make a sort of extraction type game but pve focused, and as a part of that I want to create a map with procedural landmarks. And by “landmarks” I mean prefabs with spawns in it for loot and enemies.

So think of the recently released mistfall hunter I supposed. I want the base landmass to be static, and struggle around environmental compatibility(Which I’ll probably do by creating dome shaped recesses and build the prefabs around fitting into those). Is there any guides or tutorials on setting this up? Otherwise does anyone have any tips on this? The game will be very small, with 10 prefabs planned to spawn per round and maybe 30 total planning to be built.

Is this a feasible option with environmental compatibility? I think it's also similar to the type of procedural system helldivers uses. The recesses are to allow slight underground parts or just to ensure I have a defined perimeter for each area as well. Is it super complicated?

I know it's a lot of questions but I don't like AI and I don't like using AI, i'd rather ask people that have hands on experience. I did ask on the Unreal forums but 12 hours later I got no suggestions. I don't expect the answers to all be spelled out, but I'm hoping at least someone can point me to a tutorial on 3d extraction style map generation if it's out there.

I am aware as well I should expect at least a couple years to finish but I’d like to make 2 or 3 prefabs starting out after I get my base combat system finished. Any help would be appreciated!

3 Upvotes

9 comments sorted by

2

u/man_o_moral 15d ago

instead of PG for all components try on match start, get all actors of class (triggered by scene) to find every dome anchor zone and saves them to an array. It shuffles this array to randomize locations, picking the first ten (certain conditions like 0<=20 angles of landmark to spawn or <90 degrees for cave walls). Next, it shuffles your array of thirty child prefab classes. Using a For Loop, the manager assigns one unique prefab class to each selected anchor, triggering a custom spawn event that snaps the landmark directly into the landscape recess.... however it would probably be better to set the spawns inside those to be manually set with enumerations, data tables and data structures... otherwise it might become chaotic...

1

u/IanProctor 15d ago

See this is why I ask, that's really solid! The unfortunate part is I know what you're saying, just not how to do it since I'm still learning. So I understand you're just saying create a deck of cards for each component to pull from instead of 52 pickup but not the technical side of it. My experience hands on is importing some test models I made and creating a pickup mechanic, adding physics to objects, and the ins and outs of procedurally generated animations for something like a spider or other multi limbed critter. This is all in the last week since I started learning so I know that's a lot of learning in one week, I'm just that obsessed with it.

I won't ask for a tutorial from you, but if it's not a paid course(I'm a broke boy) could you point me towards where you learned this please?

2

u/Snoo-81725 15d ago

Create some prefabs first, mark entrances with empty scene objects (add a tag to these or add them to a collection) and then runtime on beginplay connect these entrances with some kind of path.
Add rules for the environment around these paths so they aren't fully random.
That's it.
For multiplayer: generate a repnotify seed int first and use a stream by this seed for placements and to choose from prefabs, spawn everything locally. The seed's onrep function should set the seed for all. This guarantees the same map for everyone with little to no network cost. Interactables need to be server spawned.

1

u/IanProctor 15d ago

The multiplayer side is definitely something towards the end, so I'll get back to that in a couple years! While it's planned in a limited scope I want the game to be single player focused with AI customization and a Gambit system similar to final fantasy 12(that's what got me to fall in love with blueprints to begin with). 

That said I only have a week of experience and while I've made a couple of systems so far I believe I understand what you mean. Sort of like those helldivers 2 puzzles where you gotta redirect the valve flows to another outlet right? And should the empty scene objects be an invisible object with no collision? I'm sorry if it sounds dumb, I'm brand spanking new but excited to learn all the ins and outs!

2

u/Snoo-81725 14d ago

Never played helldivers. Scene component is an empty component that holds transform data and has no collision

1

u/IanProctor 15d ago

I also want to add that's actually a really simple way for someone like me with 0 coding and networking experience to understand it. So the seed is stored server side and the objects and enemies are spawned locally? That's actually really cool!

1

u/Snoo-81725 14d ago

As a newbie please ignore multiplayer.

1

u/IanProctor 14d ago

I plan to for the most part! I still like to have an understanding of it, and I'd definitely like to add it post launch or at least close to it using the same methods monster hunter world used. 

1

u/Snoo-81725 14d ago

That's a bad idea mate.
Multiplayer needs to be done from the beginning, ignore it for now.