DEEPFALL: a tabletop game mashing up 9 loved games (SmashUp, Dragon Rampage, Blood Rage, Catan, EverQuest, Daggerfall, Eye of the Beholder, Quarriors, SmallWorld). Core fusion = SmallWorld decline + Blood Rage glorious death -> three exits (Cash Out / Press On / Worthy End) under a rising Maw that collapses a reikhelm dungeon floor-by-floor. - deepfall-core: pure deterministic engine (vendored ChaCha8, 11 tests) - deepfall-sim: balance-by-bot sweeps -> CSV/JSON - analysis/analyze.py: stdlib ASCII heatmap (no deps) - DESIGN.md (rules + post-critique revisions), FINDINGS.md (9-iteration balance journey), README.md - reikhelm-core/examples/sample_dungeon.rs: dumps a real generated board Method: adversarial design critics -> build -> simulate -> tune. 9 iterations compressed combo spread 77.8 -> 32.5 pts (all 36 combos viable). Fixed deep-content lockout (value rises with the Maw), the multi-collapse feel-bad (1 collapse/round cap; feel-bad now 0.00/game), and dead combos. Open finding: Cash-Out and Worthy-End are substitutes for a glory-maximizing bot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
97 lines
3.9 KiB
Markdown
97 lines
3.9 KiB
Markdown
# Sample Dungeon — concrete example board
|
||
|
||
Generated by the reikhelm dungeon recipe
|
||
(`reikhelm-core/src/recipes/dungeon.rs`) and dumped by the throwaway example
|
||
`reikhelm-core/examples/sample_dungeon.rs`.
|
||
|
||
Reproduce exactly:
|
||
|
||
```sh
|
||
cargo run --example sample_dungeon -p reikhelm-core 42 48 32
|
||
```
|
||
|
||
- **Seed:** `42`
|
||
- **Canvas:** 48 x 32 cells
|
||
- **Config:** `DungeonConfig::default()` (just resized) — BSP `min_leaf 8`,
|
||
`max_depth 5`; rooms `5..=11`, margin 1; `extra_edge_ratio 0.30` (loop edges,
|
||
not a strict tree); `door_chance 0.5`.
|
||
- **Result:** 12 rooms, 14 corridors, deterministic for this seed.
|
||
|
||
## ASCII map
|
||
|
||
Legend: `#` wall `.` floor `+` door `o` pillar `~` water `!` lava
|
||
|
||
```
|
||
################################################
|
||
#################.....####################...###
|
||
#################.....###################.....##
|
||
#...........#####.....###########.######.......#
|
||
#...........#####.....###########.+....+.......#
|
||
#.............................+.....####.......#
|
||
#...........#####.....###########.#######.....##
|
||
#...........#####.....###########.#######....###
|
||
####.##############.#############+#######.######
|
||
####.##############.#############.#######.######
|
||
####.#########...##.#############.#######+######
|
||
####.########.....#.#############.####.......###
|
||
####.########.....#.#############.####.......###
|
||
####.########.....#.##########....####.......###
|
||
##...########.....#.##########...+...........###
|
||
###...+...........+.#######.........##....o..###
|
||
###.#.#######.....#########.........##.......###
|
||
#####.#######.....############...#####.......###
|
||
#####.#######.....############...########+######
|
||
#####.#######.....#######################.######
|
||
#####.########...########################.######
|
||
#####.#########+#########################.######
|
||
#####.#########.#########################.######
|
||
###.....#######.#########################.######
|
||
##.......######.########......###########.######
|
||
#.........#####+#######........##########+######
|
||
#.........+.+.....####..........####...........#
|
||
#.........###...................####...........#
|
||
##.......####.....####..........####...........#
|
||
###.....#####.....#####........#####...........#
|
||
#############.....######......######...........#
|
||
################################################
|
||
```
|
||
|
||
## Regions
|
||
|
||
Themes drive DEEPFALL room flavor. Only rooms carry a theme; corridors are
|
||
plain passages. `cells` is the room's floor area (a rough "size").
|
||
|
||
| Region | Kind | Theme | Cells (size) | Top-left (x,y) | W x H |
|
||
|-------:|------|-----------|-------------:|----------------|-------|
|
||
| 0 | Room | Stone | 55 | (1,3) | 11x5 |
|
||
| 1 | Room | Threshold | 35 | (17,1) | 5x7 |
|
||
| 2 | Room | Den | 9 | (31,3) | 5x5 |
|
||
| 3 | Room | Vault | 37 | (40,1) | 7x7 |
|
||
| 4 | Room | Den | 8 | (2,13) | 4x4 |
|
||
| 5 | Room | Library | 51 | (1,23) | 9x7 |
|
||
| 6 | Room | Crypt | 51 | (13,10) | 5x11 |
|
||
| 7 | Room | Den | 30 | (27,13) | 9x6 |
|
||
| 8 | Room | Hall | 49 | (38,11) | 7x7 |
|
||
| 9 | Room | Crypt | 25 | (13,26) | 5x5 |
|
||
| 10 | Room | Den | 58 | (22,24) | 10x7 |
|
||
| 11 | Room | Throne | 55 | (36,26) | 11x5 |
|
||
|
||
Plus 14 corridor regions (ids 12–25) linking the rooms.
|
||
|
||
### Entities (overlay layer)
|
||
|
||
- **Entrance** @ (19,4) — sits in the `Threshold` room (region 1).
|
||
- **Exit** @ (41,28) — sits in the `Throne` room (region 11), the far end.
|
||
- **Treasure** x6 and **Monster** x14 scattered, biased by each room's theme
|
||
(e.g. `Vault`/`Library` loot-rich, `Den` monster-dense, `Throne` high-risk
|
||
high-reward, `Threshold` kept safe).
|
||
|
||
## Mapping to DEEPFALL
|
||
|
||
Each reikhelm **room** becomes a DEEPFALL room tile carrying its **theme**
|
||
(Vault, Library, Crypt, Den, Hall, Throne, Threshold...), which sets that tile's
|
||
loot/danger profile via the recipe's `(treasure_bias, monster_bias)`; corridors
|
||
are the connective passages between them. Depth = distance from the `Threshold`
|
||
entrance toward the `Throne` exit, so **deeper rooms are higher value** (and
|
||
higher risk) — the `Throne` boss seat at the far corner is the natural payoff
|
||
tile.
|