Dungeon Flow Node (Asset): Difference between revisions
Jump to navigation
Jump to search
Created page with "A flow node is used to create a general layout for an advanced procedural dungeon. Each node can have multiple condition groups, but only one is ever picked. These condition groups decide which room templates should be available in that group. Such as cave tiles that also support forest tiles etc. These tiles must be specified in Room Templates, and the conditions of the room templates still apply. {| class="wikitable" |+ !Field !Type !Default !Description |- |Name |Stri..." |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
A flow node is used to create a general layout for an advanced procedural dungeon. Each node can have multiple condition groups, but only one is ever picked. These condition groups decide which room templates should be available in that group. Such as cave tiles that also support forest tiles etc. These tiles must be specified in Room Templates, and the conditions of the room templates still apply. | A flow node is used to create a general layout for an advanced procedural dungeon. Each node can have multiple condition groups, but only one is ever picked. These condition groups decide which room templates should be available in that group. Such as cave tiles that also support forest tiles etc. These tiles must be specified in Room Templates, and the conditions of the room templates still apply. | ||
===== Caveats: ===== | |||
* The first flow node used in a dungeon template MUST be able to start at coordinates 0,0,0. Because that's where the entrance room is placed. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 17: | Line 24: | ||
|When checked, this flow node may be ignored at random. | |When checked, this flow node may be ignored at random. | ||
|- | |- | ||
| | |Friendly | ||
|Boolean | |Boolean | ||
|False | |False | ||
| | |You can use the flowNodeFriendly condition type in the various conditions fields in your dungeon template. | ||
|- | |||
|Offer Quest | |||
|Boolean | |||
|False | |||
|Can offer a quest in any of these rooms. You must setup quests in the [[Procedural Dungeon (Asset)|DungeonTemplate]] to use this. | |||
|- | |- | ||
|Min Rooms | |Min Rooms | ||
Line 31: | Line 43: | ||
| -1 | | -1 | ||
|Maximum nr of rooms to generate. Anything below Min Rooms is clamped at Min Rooms. | |Maximum nr of rooms to generate. Anything below Min Rooms is clamped at Min Rooms. | ||
|- | |||
|Shape | |||
|Constant | |||
|Random | |||
|Sets the dungeon shape. Random will place rooms at random. Linear will generate all rooms in a sequence. SemiLinear will generate a few side rooms. | |||
|- | |||
|Min Z | |||
|Int | |||
| -3 | |||
|Sets how far below the entrance on the Z axis we can go. | |||
|- | |||
|Max Z | |||
|Int | |||
|3 | |||
|Sets how far above the entrance on the Z axis we can go. | |||
|- | |||
|No Mimics | |||
|Boolean | |||
|False | |||
|Disables mimics. | |||
|- | |||
|Random Encounters | |||
|Boolean | |||
|False | |||
|Enables random encounters (exploration events). | |||
|- | |||
|Levers | |||
|Boolean | |||
|False | |||
|Place levers. | |||
|- | |||
|Quest Items | |||
|Boolean | |||
|False | |||
|If the picked quest has items to collect, you can place them in this room's cells. Recommended to only not do it on a flownode before the one that offers the quest. | |||
|- | |||
|Quest Encounters | |||
|Boolean | |||
|False | |||
|If the picked quest has specific encounters, you can place them here. | |||
|- | |||
|Max Treasures | |||
|Boolean | |||
| -1 | |||
|Sets how many treasures can be placed in this flowNode. Note that this value will never override the grand total set in the [[Procedural Dungeon (Asset)|DungeonTemplate]]. | |||
|- | |- | ||
|Condition Groups | |Condition Groups | ||
|[[Dungeon Sub Template (Asset)|Dungeon Sub Template]] | |[[Dungeon Sub Template (Asset)|Dungeon Sub Template]] | ||
| | | | ||
|When generated, these are shuffled, and only one of these are picked. At least one room must pass conditions and be valid to be used with the dungeon template quest. | |When generated, these are shuffled, and only one of these are picked. At least one room must pass conditions and be valid to be used with the dungeon template quest. If none are supplied, a condition-free group is used. | ||
|- | |||
|Vaible Templates | |||
|[[Dungeon (Asset)|Dungeon]] | |||
| | |||
|Allows the generator to link template dungeons in this node. | |||
|- | |||
|Entry Conditions | |||
|[[Condition (Asset)|Condition]] | |||
| | |||
|Conditions that need to be met for the door linking to this flow node to be treated as "unlocked". Do not use this on the first flowNode of your dungeon. To prevent the player from entering a quest objective area before accepting the quest, consider adding a questAccepted condition that isn't pointing to a quest. | |||
|- | |||
|Force Start Encounter | |||
|[[Encounter (Asset)|Encounter]] | |||
| | |||
|When set, the first room will get these encounters as its encounters, and one is picked at random. | |||
|- | |||
|Force End Encounter | |||
|[[Encounter (Asset)|Encounter]] | |||
| | |||
|When set, the last room generated will have its encounters set to this one. | |||
|} | |} |
Latest revision as of 20:45, 30 August 2025
A flow node is used to create a general layout for an advanced procedural dungeon. Each node can have multiple condition groups, but only one is ever picked. These condition groups decide which room templates should be available in that group. Such as cave tiles that also support forest tiles etc. These tiles must be specified in Room Templates, and the conditions of the room templates still apply.
Caveats:
- The first flow node used in a dungeon template MUST be able to start at coordinates 0,0,0. Because that's where the entrance room is placed.
Field | Type | Default | Description |
---|---|---|---|
Name | String | Optional, just used in the editor to remind you of the purpose of the flow node, such as "forest". | |
Optional | Boolean | False | When checked, this flow node may be ignored at random. |
Friendly | Boolean | False | You can use the flowNodeFriendly condition type in the various conditions fields in your dungeon template. |
Offer Quest | Boolean | False | Can offer a quest in any of these rooms. You must setup quests in the DungeonTemplate to use this. |
Min Rooms | Int | 1 | Minimum nr of rooms to generate. A minimum of 1 is enforced. |
Max Rooms | Int | -1 | Maximum nr of rooms to generate. Anything below Min Rooms is clamped at Min Rooms. |
Shape | Constant | Random | Sets the dungeon shape. Random will place rooms at random. Linear will generate all rooms in a sequence. SemiLinear will generate a few side rooms. |
Min Z | Int | -3 | Sets how far below the entrance on the Z axis we can go. |
Max Z | Int | 3 | Sets how far above the entrance on the Z axis we can go. |
No Mimics | Boolean | False | Disables mimics. |
Random Encounters | Boolean | False | Enables random encounters (exploration events). |
Levers | Boolean | False | Place levers. |
Quest Items | Boolean | False | If the picked quest has items to collect, you can place them in this room's cells. Recommended to only not do it on a flownode before the one that offers the quest. |
Quest Encounters | Boolean | False | If the picked quest has specific encounters, you can place them here. |
Max Treasures | Boolean | -1 | Sets how many treasures can be placed in this flowNode. Note that this value will never override the grand total set in the DungeonTemplate. |
Condition Groups | Dungeon Sub Template | When generated, these are shuffled, and only one of these are picked. At least one room must pass conditions and be valid to be used with the dungeon template quest. If none are supplied, a condition-free group is used. | |
Vaible Templates | Dungeon | Allows the generator to link template dungeons in this node. | |
Entry Conditions | Condition | Conditions that need to be met for the door linking to this flow node to be treated as "unlocked". Do not use this on the first flowNode of your dungeon. To prevent the player from entering a quest objective area before accepting the quest, consider adding a questAccepted condition that isn't pointing to a quest. | |
Force Start Encounter | Encounter | When set, the first room will get these encounters as its encounters, and one is picked at random. | |
Force End Encounter | Encounter | When set, the last room generated will have its encounters set to this one. |