BurningTimesAi/프로젝트/_템플릿/기획/05_밸런스_프레임워크.md

101 lines
3.6 KiB
Markdown
Raw Normal View History

# {프로젝트명} — 밸런스 프레임워크
> **버전**: v1
> **작성일**: {날짜}
> **담당**: 기획팀장
>
> **선행 조건**: `02_핵심_재미_정의.md` PD님 승인 완료 (C7 게이트 통과) + `03_시스템_설계.md` 초안 완료 후 착수
---
## 1. 밸런싱 철학
> 밸런싱의 목적은 수치 균형이 아니라 **핵심 재미의 보장**이다.
> 참조: [`02_핵심_재미_정의.md`](./02_핵심_재미_정의.md) — 핵심 재미 정의 및 재미 판단 기준
**이 게임의 밸런싱이 달성해야 할 상태**:
1. {핵심 재미와 연결된 밸런싱 목표 1}
2. {핵심 재미와 연결된 밸런싱 목표 2}
3. {핵심 재미와 연결된 밸런싱 목표 3}
**밸런싱 금지 패턴**:
- {이 게임에서 피해야 할 밸런싱 실수 1}
- {이 게임에서 피해야 할 밸런싱 실수 2}
---
## 2. 앵커 포인트
> 밸런싱의 기준점. 모든 수치는 앵커에서 상대적으로 산출된다.
> **앵커는 단 하나여야 한다.** 복수 앵커는 모순을 만든다.
| 앵커 항목 | 기준값 | 측정 방법 | SOT |
|---------|-------|---------|-----|
| {주 앵커: 예: "유저가 N회 시도 시 성공률"} | {기준값} | {어떻게 측정/검증하는가} | {데이터 테이블명} |
**앵커에서 파생되는 보조 기준값**:
| 항목 | 산식 | 기준값 |
|------|------|-------|
| {파생 항목 1} | {앵커 기준 산식} | {값} |
| {파생 항목 2} | {앵커 기준 산식} | {값} |
---
## 3. 밸런싱 순서
> 시스템 간 종속 관계에 따라 밸런싱 순서를 정한다.
> 종속 관계를 무시하고 병렬 밸런싱하면 후반에 전체를 재조정해야 한다.
```
[1단계] {기초 프레임 확정}
└─ {예: 앵커 수치 고정, 기본 전투/루프 수치 설정}
[2단계] {핵심 시스템 밸런싱}
└─ {예: 핵심 재미가 발생하는 시스템의 주요 파라미터}
[3단계] {보조 시스템 조정}
└─ {예: 보상·성장·경제 시스템을 핵심 시스템에 맞게 조정}
[4단계] {컨텐츠 단위 검증}
└─ {예: 개별 컨텐츠 수치를 프레임 내에서 검증}
```
**단계 간 전환 조건**:
| 전환 | 조건 |
|------|------|
| 1단계 → 2단계 | {충족해야 할 검증 기준} |
| 2단계 → 3단계 | {충족해야 할 검증 기준} |
| 3단계 → 4단계 | {충족해야 할 검증 기준} |
---
## 4. 시뮬레이션 전략
> ⚠️ **단일 시뮬레이터 원칙**
> 런타임(게임 본체)과 시뮬레이터(외부 계산 도구)는 **반드시 동일한 데이터 소스를 사용**해야 한다.
> 시뮬레이터가 별도 수치를 관리하면 "시뮬에서는 되는데 게임에서는 안 된다"는 이원화 문제가 발생한다.
> **시뮬레이터 SOT = 런타임 SOT** (같은 테이블을 읽어야 한다)
| 대상 | 도구 | 검증 기준 | SOT 데이터 |
|------|------|---------|----------|
| {시뮬 대상 1} | {Python / Excel / 게임 내 도구 등} | {판단 기준} | {데이터 테이블명} |
| {시뮬 대상 2} | {도구} | {판단 기준} | {데이터 테이블명} |
---
## 5. 핵심 수치 대시보드
> 밸런스 건강 상태를 모니터링하는 주요 지표. 이탈 발생 시 즉시 조정 착수.
| 지표 | 산식 | 정상 범위 | 이탈 시 조치 |
|------|------|---------|------------|
| {지표 1} | {산식} | {하한 ~ 상한} | {조정 방향} |
| {지표 2} | {산식} | {하한 ~ 상한} | {조정 방향} |
| {지표 3} | {산식} | {하한 ~ 상한} | {조정 방향} |
> **대시보드 갱신 시점**: {밸런스 수치 변경 시마다 / 특정 Phase 완료 시 / 정기 검토 시}