I’m working on an RPG with procedural dungeons. My current setup is as follows:
the player enters a dungeon level
the dungeon generator picks from an array of predefined room blueprints and chains them together
this is repeated until the desired number of rooms is reached
then the player is spawned and can start exploring
The problem:
I’m building all the rooms in the blueprint viewport which is super tedious
Placing and parenting meshes is very hard because all meshed are placed at origin and sometimes i accidentally parent stuff that shouldnt be parented
i dont really have a good preview of the lighting
What I’ve tried:
ive tried to build the rooms in an own level, then condense them to Packed Level Actors, then add the PLA to the room blueprint (which I need because it holds collision boxes, spawn points etc)
this works fine for geometry but PLAs don’t include the lighting
I have not found a way to spawn sublevels procedurally through blueprints
Does anyone have a pointer for me, anything I can look into?
Short version:
I want to build small, modular rooms that include meshed and lights (maybe other BPs too) that I can then spawn procedurally to build a dungeon. Ideally in a view with real time lighting.
Also Prefabs (this may be outdated by newest procedural stuff from unreal).
Also:
create actor that makes single room, then build dungeon of those actors
use random stream, if you set same seed you always get same stream (random numbers), however if you change code those numbers go to different parts of code and create different output.
use Data assets, when you have that random stream done, use data aset to remember seed, swap styles, change room size, then you have rooms saved as data assets
for creating data assets you can make edtior widget tool in blueprint/umg widgets.
That looks very cool but also quite over the top for what I’m looking for right now. I can totally make my rooms in a blueprint viewport but it’s really annoying. That doesn’t mean I want to completely revamp the entire system, I really just want to find a more convenient way to build geometry and lighting inside of a blueprint.
Thankfully that part is already done. I have a dungeon generator that works just fine. It picks from an array of predefined rooms and that’s more than enough for my current project. I’m really just looking for a way to create these predefined rooms in a more easy way.
Currently a room is a blueprint and in the blueprint there is all the meshes, all the lights as well as spawn points and collision boxes.
I’m looking for an alternative because placing geometry inside of a blueprint is tedious and lighting isn’t really real time so i always have to start the game to test it.
You can make tool that for eg. scans all meshes and assets with specific tag and puts them together into single actor/blueprint (or just stores as soft references together with transformations in data asset) which would basically be definition of tile/room. However i am not completely certain that there is not some obstacle that prevents whole idea (quite common in unreal).
But you can make whole rooms as hierarchical chain of actors/blueprints. All is just data, store it in data asset then load from it.