‹ 게임

레벨 디자인 — Chapter I 수치표

내부 기획

레벨 디자인 — Chapter I 수치표

상태: 솔로 오클러 autoPlayRun N=200 측정으로 튜닝된 1차 수치.
문헌 근거는 LEVEL_DESIGN_RESEARCH.md.
종수 KPI 없음 — 페이싱·생존율이 우선.
페이싱을 바꾸면 측정 열을 다시 찍고 목표와 맞출 것.

1. 설계 전제

항목
첫 시련 파티 오클러 솔로 (허브 기사 영입은 시련 종료 후)
측정 봇 autoPlayRun — 싸게 사고 → 배치 → 전투
층간 회복 postBattleHealRatio = 35% hpMax
적 스케일 floor^0.65 × 티어 × 아키타입 × soloSoftMult × (보스 배수)

2. 목표 생존율 (솔로 봇)

SOLO_SIM_TARGETS (packages/shared/data/growthCurve.ts)

지표 목표 측정 (N=200)
≥ F3 85% ~88%
≥ F4 75% ~87%
≥ F5 65% ~77%
≥ F6 (F5 보스 클리어) 40% ~52%
≥ F10 4% ~4–5%
victory 2% ~4%

사람 플레이어는 상점·배치를 더 잘하므로 클리어율은 봇보다 높게 기대한다.
사람 디자인 목표(~55% F10 클리어)는 텔레메트리/수동 플레이로 별도 검증 — 나이브 봇 CI 하한과 분리.

2b. 듀오 봇 목표 (DUO_SIM_TARGETS)

오클러+기사 2인 (duoBenchmarkSquad), 첫 시련 이후 편성 가정.

지표 목표 측정 (N=120)
≥ F6 38% ~37–40%
≥ F10 12% ~10–12%
victory 5% ~4–5%

3. 층별 스폰 가중 (monsterSpawnWeight)

동일 층 밴드에 여러 종이 있을 때 역할별 가중으로 뽑는다 (pickMonsterFromPool).

구간 의도
F1–3 ash_mite ↑ — 솔로 튜토리얼 위협
F4–5 spark_rat·ember_hound ↑ — 중반 압박
F6–7 엘리트 가중 ↓, gale_bat·cliff_golem ↑ — 게일 전환
F8–9 wind_razor·엘리트 ↑ — 후반 밀도

균등 랜덤(rng.pick)은 사용하지 않는다.

4. 층별 페이싱 (CHAPTER_I_PACING)

로컬 태그 maxGroup soloSoftMult 역할
1 intro 1 0.42 튜토리얼 위협
2 intro 1 0.50
3 intro 1 0.58 솔로 밴드 끝
4 pressure 2 0.68 그룹 도입
5 boss 1 0.48 Magma — 솔로 클리어 가능 스파이크
6 pressure 2 0.55 엘리트 구간
7 pressure 2 0.58
8 pressure 2 0.55
9 pressure 2 0.55
10 boss 1 0.28 Gale Stalker — Ch1 하드 스파이크 (Warden은 Ch2)

보스 배수 (bossMultiplier): F≤5 → 1.35, F≤10 → 1.30, 이후 2.2 / 2.8.

5. 대표 적 위협 (시드 샘플)

로컬 적 HP 적 ATK 비고
1 ~13 ~2 trash 1체
5 ~127 ~12 Magma 보스
6 ~80 ~13 엘리트/그룹
10 ~150 ~13 Gale Stalker (soft 0.28)

플레이어 기준선: 오클러 HP 100 / DEF 2 / 단검 ATK 3 (+상점 성장).

6. 오클 밴드 (솔로 봇 측정 반영)

OCHL_BANDS — 초반은 활성화·구매로 낮아지고, 중반 spill로 회복.

글로벌 층 ochlMin–Max
1 10–14
2–4 4–12
5 8–18
6–9 14–30
10 18–45

7. 시뮬 수정 (LD와 함께 한 것)

  • 봇이 전투 전에 구매하도록 순서 수정 (이전엔 스타터만 들고 돌진)
  • 층간 회복 10% → 35% (솔로 어트리션 사망 방지)
  • 활성화 불가 시 silent stall → 봇은 defeat로 종료 (플레이어는 상점 soft-lock; 오클 0 ≠ 패배)

8. 검증

pnpm --filter @chaosforge/shared test
# Admin → Growth 탭: 적 vs 시뮬 플레이어 + reach rate

9. 아직 아닌 것

  • 사람 플레이 55% F10 클리어 검증
  • 기사 영입 후 2차 시련 곡선
  • Ch2/3 층별 스폰 가중 튜닝 — 1차 반영 · Ch2/3 soloSoftMult 페이싱 추가 · F10/victory 밴드는 추가 튜닝 필요
  • 영입 가격 플레이테스트 튜닝 (RECRUIT_PRICES_DRAFT.md 검수 OK)

완료 (2026-07): 몬스터 100종 DT 초안 → rembg → sprites/monsters/ + sprite-map.json · 6바이옴 배경 · Ch1 층별 스폰 가중.

2c. Ch2/3 솔로 봇 기준선 (1차 측정, N=120)

동일 CHAPTER_I_PACING·솔로 오클러 봇 — 챕터별 몬스터 풀·글로벌 스케일만 다름.

챕터 ≥ F5 ≥ F10 victory
I ~71% ~10% ~5%
II ~63% ~2% ~0%
III ~38% ~0% ~0%

CHAPTER_II/III_PACING + 글로벌 보스 배수 곡선 조정 후 (2026-07). 측정: pnpm exec tsx scripts/measure-chapters.mjs