8. Understanding Block Dimensions
8.1 Mode Overview
Block Dimension mode fuses a Dimension with three types of Blocks (1st / 2nd / 3rd)
to generate dungeon parameters. Dimensions cover the letters a–z (automatically padded if data is missing) and
each dimension provides a base level in steps of 100. Blocks are loaded from blockdata.json
or
blockdata.js
and supply level modifiers, map sizes, depth, chest bias, and more.
Block Dimension revolves around combining presets, not placing tiles manually. The same selection always generates the same dungeon, which makes it ideal for repeatable farming routes.
8.2 How to Use the Mode
- Select the BlockDim tab on the title screen.
- Enter a NESTED value if needed (1–99,999,999). Every increment raises the recommended level by 2,600.
- Pick a dimension and choose entries from the 1st/2nd/3rd block lists. You can change selections with the mouse or keyboard.
- Review the level, type, depth, size modifier, chest bias, and boss floors on the preview card to the right.
- When you are satisfied, press Launch Gate to begin the run.
History (up to 200 entries) and bookmarks (up to 100) are saved automatically. Click an entry to reapply the configuration. The Random and Weighted Random buttons select blocks automatically.
8.3 Data Sources & Block Properties
On initialisation, the mode tries fetch('blockdata.json')
. If that fails it loads
blockdata.js
as a script. When neither file is available the game generates fallback data (dimension
a and dummy blocks).
Element | Source | Description |
---|---|---|
Dimensions | baseLevel |
Base value for the recommended level (defaults: a = Lv1, b = Lv101, and so on). |
Blocks (blocks1/2/3) | level , size , depth , chest , type |
Provide level modifiers, size multipliers, floor depth, chest bias, and generation type. The
bossFloors array lists candidate boss floors. |
History / Bookmarks | Local storage | Store the seed, level, type, and other details so you can restore a configuration later. |
8.4 Composition Logic
The resulting ComposedSpec follows these rules:
- Level: Sum the block
level
values with the dimension’sbaseLevel
, then add 2,600 per NESTED step. Clamp the final result to a minimum of 1. - Size factor: Add all
size
modifiers and clamp the total to −2 … +2. - Depth: Add the
depth
values from each block and limit the result to 1–15. The baseline depth is 1. - Chest bias: Determine the majority of
less / normal / more
. Ties resolve in the order normal > more > less. - Generation type: If all blocks share the same
type
, use it. Otherwise mark the dungeon asmixed
and store the available types intypePool
. - Boss floors: Merge the
bossFloors
arrays and keep only the values within the final depth.
The selected dimension and blocks produce a deterministic 32-bit seed via seedFromSelection
. Each
floor derives additional random values with mixSeed
, ensuring that identical combinations always
recreate the same dungeon layout.
8.5 Random Selection & Management
The Random button selects blocks with equal probability. Weighted Random applies a Gaussian weight around the target level and type before picking candidates. Completed runs are added to the history automatically. Bookmark an entry to recall it at any time. Each record includes the NESTED value and seed, making it easy to catalogue your favourite builds.
8.6 Related Chapters
- Chapter 10: Data File Breakdown — structure of
blockdata.json
/blockdata.js
. - Chapter 11: Adding or Modifying Content — how to add new blocks and dimensions.
- Chapter 17: Appendix — links to design documents and related specs.