Revision History — Boss Design and Balance System
Library note (2026-07-19): This package was integrated into the library (
08_Ev_Kurallari/, Boss System = 17 series). Mapping:10_Boss_Cercevesi→ 17_Boss_Cercevesi_5e.md (main reference); reports11→19→ 17a→17i (17a_Boss_Simulasyon·17b_Telegraf_AB·17c_Dengeleme·17d_Zorluk_Kademe·17e_Durum·17f_SRD_Uyarlama·17g_Sistem_Vergisi·17h_Zayiflik·17i_Iyilestirme). Python tools:boss_araclari/(names unchanged — imports preserved).eski_surumler/→_yedek/20260719_boss-sistemi-surum-arsivi/. 09g dependency:06_Canavarlar/09g_Bosluk_Kapatma_Seti_5e.md(single source). The old names in this document are preserved as historical record.
This document records the project's development from scratch to today in chronological order. Each step: what was done, which file was produced, which decision was made.
Overview
This project is a multi-phase boss design and automated balance system built on top of an existing D&D 5e (2024 rules) homebrew monster compendium. It developed along two tracks:
- Content track — boss stat blocks and design frameworks (Markdown documents)
- Tooling track — automated balance test engine (Python)
Step-by-Step Development
Phase 0 — Beginning (before this project)
The compendium's 09 series already existed: original monsters organized by a habitat × tier × role matrix. The core design pattern was in place:
- Skirmisher damage tied to movement (Momentum mechanic)
- Lurker damage tied to hiding (Ambush Predator)
- Each monster has a single key (the party's path to victory)
Step 1 — Gap-filling (5 monsters)
Matrix analysis found the remaining empty cells; 5 new monsters were written (Scree Dancer, Peak Tyrant, Gutter Wraith, Reef Razor, Cinder Harrier). → 09h produced (later merged into 09g).
Step 2 — Merge
09h was merged with 09g → 31 monsters in a single file. → 09g_Bosluk_Kapatma_Seti_5e.md (current, 31 monsters).
Step 3 — Multi-Phase Boss Framework
Boss infrastructure was designed. Modular structure: phase triggers, HP structures, change axes, action economy. Two examples: Bone Puppeteer (T2, new) and Peak Tyrant transformation (T4, 3 phases). CR calibration via three methods. Decisions: Mixed trigger as default, each phase has its own key, tier→phase count (T2→2, T4→3). → 10_Boss_Cercevesi_5e.md
Step 4 — Wording corrections
Three corrections in 10: White Death mechanical contradiction, Rime→Ice Armor consistency, "marriage"→"matching".
Step 5 — First simulation (6 battles)
2 bosses × 3 parties simulated round-by-round. Finding: Nova parties get TPK'd at phase transitions. → 11_Simulasyon_Raporu_5e.md
Step 6 — Telegraph A/B test (72,000 battles)
The "make the telegraph round mandatory" proposal was tested. Result: +13 points overall, +26 points in the critical band, without breaking the extremes. → Telegraph made mandatory (updated in 10). → 12_Telegraf_AB_Testi_5e.md
Step 7 — Scalable balancing system (the tool is born)
Three layers: Rule Layer + Checklist + Automated Tool. Critical finding: The tool showed that what seemed like it needed manual fixing (Ambush/DPR) was the wrong target — the real problem was "punishing the keyless party." Rule 4 ("Phase 1 doesn't wipe") added. → 13_Dengeleme_Sistemi_5e.md + first engine.py, doctor.py, bosses.py
Step 8 — Peak Tyrant v2 (recipe applied)
v1's 4 FAILs fixed → v2 4/4 PASS. Phase 2 DPR lowered, ranged second key, Rule 4.
Step 9 — Difficulty tier system (4 tiers)
Easy/Normal/Hard/Deadly. Philosophy: "the variety, the weight is structural." Boss data always stays Normal, tiers are derived. Decisions: Easy = key is an open door, telegraph stays at Deadly, Deadly ~5% target. → 14_Zorluk_Kademe_Sistemi_5e.md + difficulty.py
Step 10 — T1/T3 boss + four-tier consistency
Swamp Sovereign (T1), Ice Court Queen (T3) written. Full four-tier battery. Tier scale factor added. Finding: A single set of multipliers didn't fit all tiers → TIER_SCALE added. Deadly pulled in to 5%. → 15_Sistem_Durum_Raporu_5e.md
Step 11 — 8 SRD boss adaptations
Real SRD monsters from the list (Ghoul, Ogre, Owlbear, Troll, Fire Giant, Young Red Dragon, Blue Dragon, Marilith) adapted into multi-phase bosses. Finding: The tool caught its own measurement errors (has_key coverage, fragility-key distinction). Consistency went from medium to good. → 16_SRD_Boss_Uyarlama_Raporu_5e.md
Step 12 — System tax analysis
Original SRD (raw + solo) vs. our boss comparison. Finding: The system doesn't "make it harder," it "standardizes" it (spread 85→14 points, average unchanged). Tax = ~1.9× duration. → 17_Sistem_Vergisi_Raporu_5e.md + original.py
Step 13 — Weakness analysis (stress test)
6 hypotheses tested. Serious finding: Fragile party exclusion (81-point gap) + key ineffectiveness. Same root cause: heal monopoly. Rule 5 (fragile escape + heal reduction) added → gap reduced to 40. → 18_Zayiflik_Analizi_Raporu_5e.md
Step 14 — Test 5 + H1 + H2 (final improvement round)
- Test 5 (archetype gap) permanently added to the checklist.
- H2 narrowed further: gap 40→26.
- H1 addressed with per-boss scaling: Deadly std 14→5 (resolved), Hard std 16→9 (improved, structural limit remains).
→ 19_Iyilestirme_Degerlendirme_5e.md
Rule Layer — Evolution of Universal Limits
| Rule | What | At which step |
|---|---|---|
| Rule 1 | Mandatory telegraph round | Step 6 (proven with A/B test) |
| Rule 2 | Ambush cap (half of total HP) | Step 7 |
| Rule 3 | Phase DPR band (×1.25) | Step 7 |
| Rule 4 | "Phase 1 doesn't wipe" (25% soft first phase) | Step 7 |
| Rule 5 | Fragile escape + heal reduction | Step 13-14 |
Checklist — Evolution of Tests
| Test | What | At which step |
|---|---|---|
| Test 1 | Keyless party odds | Step 7 (fixed in Step 11) |
| Test 2 | Phase DPR band | Step 7 |
| Test 3 | Ambush severity | Step 7 |
| Test 4 | Overall balance (tier-adjusted) | Step 7 (refined in Step 10-11) |
| Test 5 | Archetype gap | Step 14 (from the stress test) |
Final State of Scale Parameters
- TIER_SCALE = {T1:0.75, T2:0.7, T3:1.3, T4:1.12}
- Difficulty multipliers: Easy HP×0.9/dmg×0.88, Normal ×1.0, Hard ×1.08/×1.05, Deadly ×1.08/×1.05+structural
- Fragile escape: dynamic, min(0.50, 0.20 + lethality×1.2)
- Heal multiplier: ×0.65
- H1 Deadly boss-scale: ± based on normal_winrate deviation, coefficient 1.0
Resolved / Remaining Issues
Resolved: Nova-TPK (telegraph), keyless punishment (Rule 4), single-multiplier inconsistency (TIER_SCALE), fragile gap (Rule 5, 81→26), Deadly consistency (boss-scale, std 14→5), tool measurement errors.
Remaining (honest limits):
- Hard tier spread (std 9): structural, doesn't come down with a formula. Solution: scale Hard's structural elements to boss size.
- Two T4 bosses with Hard≈Deadly: not a practical problem, a technical monotonicity violation.
- Battery diversity (H6): "mid party" archetypes missing, dual tank/nova structure.