-
-
Notifications
You must be signed in to change notification settings - Fork 23
UDungeonSubLevelDatabase en
Shun Moriya edited this page Jan 11, 2023
·
1 revision
UDungeonSubLevelDatabase is the database used to insert hand-authored special-room levels into the dungeon.
Use it to manage start rooms, goal rooms, rooms that must appear, or random hidden/event rooms.
- You want a fixed-design start room
- You want a hand-authored goal room or boss room
- You want to mix in hidden rooms or event rooms at random
Levels registered in this database should be created as sublevels whose parent class is ADungeonSubLevelScriptActor.
Because Build reads size and grid information from those levels, running Build after edits is required.
-
GridSize/VerticalGridSize
Display-only values. The actual values are copied fromADungeonSubLevelScriptActorinside each sublevel. -
StartRoom
A fixed sublevel used as the start room. IfLevelPathis empty, generation falls back to an auto-generated start room. -
GoalRoom
A fixed sublevel used as the goal room. IfLevelPathis empty, generation falls back to an auto-generated goal room. -
Preferred Sublevel(DungeonRoomRegister)
Sublevels that should always appear or be strongly preferred. -
Random Sublevel(DungeonRoomLocator)
Sublevels inserted by random draw into rooms that satisfy the conditions. -
Random Sublevel Draw Count
Maximum number of random draws.0means all candidates are considered.
-
Preferred Sublevel
Better for fixed or strongly preferred special rooms. For example, "this boss room should always appear." -
Random Sublevel
Better for conditional random insertion. For example, "spawn this hidden room only with some probability."
Each FDungeonRoomLocator entry inside Random Sublevel can hold conditions such as:
- Width / depth / height conditions
- Which room types are allowed
- Which item-room types are allowed
AddingProbability
- Create a level for the special room and set its parent class to
ADungeonSubLevelScriptActor. - Configure
GridSize,VerticalGridSize,Width,Depth, andHeighton the sublevel side. - Register the level in
StartRoom,GoalRoom,Preferred Sublevel, orRandom Sublevel. - Run
Build. - Assign this asset to
DungeonSubLevelDatabaseinUDungeonGenerateParameter.
- The main
UDungeonGenerateParametergrid size and the sublevel grid size must always match. - If you edit a sublevel and forget to run
Build, old size or connection information may remain. -
Buildtemporarily loads levels for analysis, so it is safer not to target the level you are currently editing. - If you want to use a preloaded lobby itself as the start room, use
StartRoomSubLevelScriptActoronADungeonGenerateActorinstead of this database.
-
ADungeonSubLevelScriptActor.en.md
Review the required actor that each special-room sublevel should use. -
LobbyConnection.en.md
Compare start-room sublevels against existing-lobby connections.
- Quick Start
- Prepare Mesh Parts
- ADungeonGenerateActor
- ADungeonSubLevelScriptActor
- ADungeonRoomSensorBase
- UDungeonGenerateParameter
- UDungeonMeshSetDatabase
- UDungeonInteriorDatabase
- UDungeonSubLevelDatabase
- UDungeonRoomSensorDatabase
- Generate Minimap Textures
- Apply MissionGraph
- Custom Selector Guide
- Lobby Connection Guide