docs(BT13-GodDem): B3 가챠 설계 v1·v2·plan-auditor 감사 2회 — 차단·PD 상신 2건
- v1 설계(455줄) → 감사1 차단(C3·M7·m5·I3) → v2 재산정(18항목 전량 반영) - 감사2 차단: 신규 N-1(옵션 raw값 승산항 예산 1.7배)·N-3(시작젬 300×13젬 = 신규계정 74% G5+) = PD 결정 영역 - designer 재량 5건(N-2 슬롯 역전 등) v3 착수·PD 택일 상신 병행 - 대화로그 §61~§65·감사 전재 2종 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
86a19db9b5
commit
b4896b0a0b
|
|
@ -0,0 +1,455 @@
|
|||
# GodDem 가챠(아웃게임 Layer④) 수치 설계 v1
|
||||
|
||||
> **작성**: balance-designer(기획팀) 2026-08-22 · **P3-B3 산출물**(P32 맥락 분할 · C50 규모 "중~대")
|
||||
> **PD 승인 원문 (C42-2 A, 2026-08-22)**: "기존 원작의 로직을 살펴보고 동일하게 맞춰. **인게임 내 뽑기는 일반 골드를 쓰며 특정 시점에만 유료 재화를 쓰는 구조**야. 제대로 실측해서 구현해야 해."
|
||||
> **선행 문서(전부 Read 완료, C39)**: [`2026-08-22_원작가챠_재추출_원본_v1.md`](./2026-08-22_원작가챠_재추출_원본_v1.md)(재추출v1, 가챠 핵심 SOT) · [`2026-08-22_메타아키텍처_재설계_v1.md`](./2026-08-22_메타아키텍처_재설계_v1.md)(메타v1, §1-4·§5) · [`2026-08-22_원작배율_재추출_원본_v1.md`](./2026-08-22_원작배율_재추출_원본_v1.md)(배율재추출v1, §2-2 B-템플릿) · `2026-08-22_P3B1_레벨승급_설계_v1.md`(B1, 골드 경제 앵커) · `2026-08-22_P3B2_장비강화_설계_v2.md`(B2, §8 forging/reforging 골격·등급 체계 선행 확정) · `2026-08-22_P3B4_스킬마스터리_설계_v1.md`(B4, 골드 경제 앵커) · `2026-08-22_P3C_스테이지_설계_v2.md`(C, 런 완주 총 골드)
|
||||
> **절대 제약**: GodDem 레포(`E:\NerdNavis\GodDem`) Read만 수행, 수정 0건. Unity MCP 미사용. 본 문서가 유일 산출물. **BT 레포 커밋 금지**(팀장·PM 영역).
|
||||
> **표기 규칙(C5·C44)**: 🟢확정(원작 실측 또는 GodDem 코드 직접 확인) · 🟡추정(구조적 근거 있으나 원본 미확보) · 🔴미확정/PD 확인 필요
|
||||
|
||||
---
|
||||
|
||||
## 0. 결론 요약
|
||||
|
||||
메타v1이 골격만 정의하고 유보한 4건을 본 문서에서 확정한다.
|
||||
|
||||
| 유보 사항(출처) | 본 문서 결정 |
|
||||
|---|---|
|
||||
| 메타v1 §1-4 "소비 재화 🔴 미확보, PD 이관" | **골드(1차, GOLD_ID=201) + 젬(2차 대체, GEM_ID=101 기존) 이원 결제**(재추출v1 §7-1 그대로 채택, §2) |
|
||||
| 메타v1 §1-4 "천장 2단, 히어로 표준 vs 열쇠형 중 balance-designer 결정" | **열쇠형(소프트 4회·하드 40회) 채택** — 히어로 표준(10/30)·장비형(62/100) 기각(§3, 사유 상세) |
|
||||
| B2 §8 "6등급 체계·forging·reforging 골격만, 실채택은 B3 판단" | **Grade 3~6 신규 도입**(기존 Grade1~2=상점 전용과 역할 분리, R-B5 해소) — forging/reforging은 B2가 이미 가격을 매긴 골격을 **참조만 하고 본 문서 범위에서 활성화하지 않음**(§4, 후속 조치) |
|
||||
| 메타v1 §1-4 "옵션 4종(hit/stun/retaliate/combo) 확정, 값은 TBD" | **원작 B-템플릿 그대로 채택**(200/400/800/1600, GodDem `BasisPoint` 컨버전으로 2%/4%/8%/16%) — 재계수화 불요(§6) |
|
||||
|
||||
**실측 중 신규 발견(C39·C3, 은폐하지 않음) — 옵션 4종 전투 소비처 부재**: `hit_rate`·`stun_rate`·`retaliate_rate`·`combo_rate` 문자열을 GodDem 전체 코드베이스에서 검색한 결과 **`SurvivalStatCatalog.cs`(정의부) 외 어디에도 등장하지 않는다**(🟢 실측). B4가 발견한 `ele_*`/`penetrate_ratio`(정의된 스탯인데 소비 코드 없음) 문제와 같은 계열이나, 이번은 **성격이 다르다** — `ele_*`는 기존 "비율 항"에 잠정 합산이라도 가능했지만, `stun_rate`(기절)·`retaliate_rate`(반격)·`combo_rate`(연격)는 **전투에 존재하지 않는 새 이벤트 트리거**(상태이상·카운터·추가타)라 잠정 배선할 기존 항 자체가 없다. `hit_rate`(명중)만 기존 `dodge_rate`(회피, 인게임)와 대칭 개념이라 상쇄 로직이 있다면 연결 가능성이 있으나 이 역시 미확인이다. **본 문서는 옵션 4종의 획득(가챠 드롭)·저장까지만 완결하며, 전투 발동 로직 신설은 개발팀 후속 범위로 명시한다**(§13 PD 확인·§15 리스크 R-H1).
|
||||
|
||||
---
|
||||
|
||||
## 1. 설계 전제
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 기준 플레이어 수준 | 신규(가챠 미보유) ~ 장기(하드천장 다회 도달, Grade6 다수 보유) |
|
||||
| 목표 경험 | "이번엔 뭐가 나올까"라는 확률 기대감을 로그라이크 매판 루프 위에 얹는 신규 재미축(메타v1 §1-4 P30 근거) — 실패해도 등급 하위 결과가 아예 배제되는 원작 안전판 구조 계승 |
|
||||
| 전제 스탯 앵커 | 상점(Grade1~2, id1~9) 무변경 유지. 가챠는 Grade3~6 **신규** 아이템 6종 도입(§4) |
|
||||
| 전제 경제 앵커 | 인게임 20웨이브(2스테이지) 보수적 하한 2,542G(S3 v2·B1 §1 재사용) / 54스테이지 런완주 414,018G(C v2 §5-2) / B1+B2+B4 총 투자 1,942,464G(C v2 §0 대조치) |
|
||||
| 재화 | **골드(GOLD_ID=201, 1차)** + **젬(GEM_ID=101, 2차 대체, 기존 상점에 이미 통용 중)** — 신규 재화 도입 없음 |
|
||||
| C39 실측 확증 | `Constant.cs`(GOLD_ID=201/GEM_ID=101) · `SurvivalItemCatalog.cs`(전문, 9종 Grade1~2·FuseTargetId·SecondaryStatKey) · `SurvivalShopCatalog.cs`(전문, 젬/골드 상점 가격·신규유저 시작 젬 300 확인처) · `SurvivalMeta.cs`(전문, `FinalAttack()`/`FinalHp()`/`Version=4`/`EquipLevel`/`SkillMasteryLevel` 라이브 구현) · `SurvivalStatCatalog.cs`(전문, `hit_rate`·`stun_rate`·`retaliate_rate`·`combo_rate` = `Kind.BasisPoint` 확인) · `SurvivalUpgrade.cs`(`ValueType.BasisPoint` → `Value/10000f` 컨버전 공식 확인) · `PlayerManager.cs`(L75, 신규유저 젬 300 지급 확인) · 코드베이스 전체 `hit_rate`/`stun_rate`/`retaliate_rate`/`combo_rate` grep(정의부 1곳 외 소비 코드 0건 확인) |
|
||||
|
||||
---
|
||||
|
||||
## 2. 재화 매핑 — 원작 구조 요약 + GodDem 결정표
|
||||
|
||||
### 2-1. 원작 이원 결제 구조 (재추출v1 §3 요약)
|
||||
|
||||
원작 `drawtype`은 뽑기 1회당 **두 결제 라인을 동시에 정의**한다(순차 소진이 아니라 "티켓으로 낼래, 젬으로 낼래"의 병렬 옵션) — `drawitem`(1차, 획득형 티켓) / `drawitem2`(대체, 젬 `hb_2001`). GodDem은 소환권 같은 별도 "티켓" 재화가 없고 골드가 유일한 플레이 획득 재화이므로, **원작 티켓 = GodDem 골드**로 직번역하면 이 병렬-옵션 구조가 "골드로 낼래, 젬으로 낼래"로 그대로 이식된다. 이것이 PD 지시("일반은 골드, 특정 시점만 유료")의 정확한 데이터 구현이다(재추출v1 §7-1, 이미 승인된 인계 방향).
|
||||
|
||||
### 2-2. GodDem 매핑 결정표
|
||||
|
||||
| 원작 요소 | 원작 값(참고) | GodDem 매핑 | 표기 |
|
||||
|---|---|---|---|
|
||||
| 소환권(`dj_7001/7002`)·보물열쇠(`dj_7011`) | 1차 결제(획득형) | **골드(GOLD_ID=201) 직접 소비** | 🟢 구조 · 🟡 절대값(§5) |
|
||||
| 젬(`hb_2001`) | 대체 결제(프리미엄) | **젬(GEM_ID=101, 기존 재화 재사용)** | 🟢 구조 · 🟡 절대값(§5) |
|
||||
| 일일 무료(206·1402·5101) | 무과금 창구 | **일일 무료 5회, 300초 쿨다운**(원작 206 그대로 포팅, 시간값은 재화 아니므로 재조정 불요) | 🟢 |
|
||||
| 히어로 조각(`dj_5XXX`) 결과물 | 수집형 캐릭터 조각 | **해당 없음** — GodDem은 히어로 1명 구조(메타v1 §1-4·§7-3, 이미 확정) | — |
|
||||
| 장비/재료(`sl_XXXX`+`dj_6XXX`) 결과물 | 장비+옵션 | **SurvivalItemCatalog 신규 아이템(Grade3~6) + 옵션 4종**(§4·§6) | 🟢 구조 · 🟡 절대값 |
|
||||
|
||||
---
|
||||
|
||||
## 3. ★ 천장 스케줄 결정 — 3안 비교·채택·기각 (PM 재검토 지시 반영)
|
||||
|
||||
메타v1 §1-4·재추출v1 §5-2는 원작에 **3개 서로 다른 천장 스케줄 계열**이 존재함을 확인했다. 최초 검토에서 "히어로 표준(10/30)"을 1차 후보로 실었으나, **결과물 유형 대응이 어긋난다는 지적(PM 보강 지시)에 따라 3안을 정식으로 비교·재확정**한다.
|
||||
|
||||
### 3-1. 3안 비교표
|
||||
|
||||
| 안 | drawtype 원본 | 소프트/하드 | 결제구조 | 결과물(원작) | GodDem 결과물 대응 |
|
||||
|---|---|---|---|---|---|
|
||||
| **A. 히어로 표준** | 102·1701·7·18·29 | 10회 / 30회 | 이원(티켓+젬) | 히어로 조각(`dj_5XXX`, 수집형) | ❌ 불일치 — GodDem은 히어로 1명, 조각 수집 없음 |
|
||||
| **B. 열쇠형** | 1301·217 | 4회 / 40회 | 이원(**보물열쇠**+젬) | 장비+재료(`sl_XXXX`) | ✅ 일치 — `dj_7011` 자체가 재화정체표(재추출v1 §2)에서 **"장비 뽑기 티켓"으로 명시 라벨링** |
|
||||
| **C. 장비형** | 209·212·214·206 | 62회 / 100회 | **젬 단일**(티켓/골드 경로 없음) | 장비+재료(`sl_XXXX`) | ❌ 불일치 — PD "일반은 골드" 지시와 결제구조 자체가 배치 |
|
||||
|
||||
### 3-2. 채택 — B. 열쇠형(소프트 4회 · 하드 40회)
|
||||
|
||||
**결정 근거 3축**:
|
||||
1. **데이터 대응 정확성(C44 최우선)**: 재추출v1 §2 재화 정체표가 `dj_7011`(보물열쇠)를 명시적으로 "**장비 뽑기 티켓**"이라 라벨링했다 — 이는 추정이 아니라 원작 아이콘·용도 3중 교차로 확정된 원문 근거다(재추출v1 §2 각주). GodDem 가챠 결과물이 히어로 조각이 아니라 장비+옵션이므로(메타v1 §1-4 기확정), 원작에서 "장비"를 내주는 뽑기 라인의 천장을 그대로 쓰는 것이 데이터 대응상 가장 정확하다.
|
||||
2. **결제구조 정합**: 열쇠형은 이원 결제(열쇠 1차·젬 대체)로 PD 지시("일반 골드+특정 시점 유료")와 정확히 일치한다. 장비형(C안)은 젬 단일이라 이 조건 자체를 만족 못 해 원천 배제된다.
|
||||
3. **P30 재미 근거와의 정합**: 소프트천장 4회는 신규 유저가 **거의 즉시**(가입 첫 세션 내) "어, 벌써 희귀템이 나올 수도 있네"를 체감하게 한다 — 이는 메타v1 §1-4가 명시한 "이번엔 뭐가 나올까" 기대감 재미축을 초반부터 강하게 건다. 하드천장 40회는 히어로 표준(30회)보다 길어 "영구 성장 5층의 마지막 층"이라는 위상에 맞는 장기 목표로 기능한다(§8 경제 시뮬레이션에서 수치 근거 확인).
|
||||
|
||||
### 3-3. 기각안 (C32 필수 필드)
|
||||
|
||||
| 기각안 | 기각 사유 |
|
||||
|---|---|
|
||||
| **A. 히어로 표준(10/30) 채택** | 원작에서 이 스케줄이 딸린 결과물은 히어로 조각(수집형)이며 GodDem은 히어로 1명 구조라 결과물 유형 자체가 대응하지 않는다(§3-1). 단, 히어로 단차(drawtype 102)는 재추출v1 §4·§5-1이 **유일하게 풀 가중치를 전량 실측**한 계열이라(16pos/9500, 23pos/7747, 7pos/499) 열쇠형 자체의 풀 가중치 원본이 없는 본 설계에서 **가중치 "형태"(등급별 상대 비중 패턴)만 참고용으로 차용**했다(§6, 🟡 표기) — 스케줄(카덴스)은 기각, 형태(비중 곡선)는 부분 채용이라는 점을 분리해 명시한다. |
|
||||
| **C. 장비형(62/100) 채택** | 결제구조가 젬 단일이라 PD 지시("일반 뽑기는 골드")의 이원결제 조건 자체를 충족하지 못한다. 스케줄 값(장주기)은 참고했으나 채택 전제(결제구조)가 어긋나 전체 기각. |
|
||||
| 열쇠형 자체 풀 가중치 원본 재추출 선행 후 본 설계 착수 | C50(과도 토큰) 위반 소지 — 재추출은 개발팀장 영역(APK 재복호화)이며 이미 3회(배율·장비·스테이지·가챠) 수행됐다. 히어로 단차 가중치 형태 차용 + GodDem 자체 정합화로 충분히 신뢰 가능한 설계가 가능해 재추출 재요청 대신 🟡 표기로 정직하게 진행한다(C5). |
|
||||
|
||||
---
|
||||
|
||||
## 4. 등급 체계 확정 — Grade 3~6 신규 도입
|
||||
|
||||
### 4-1. 배경 — B2가 남긴 미해결 축
|
||||
|
||||
B2 §8은 forging(등급 도박)·reforging(옵션 리롤)·옵션 슬롯 수(§8-4, `max(1,q-1)`) 골격값을 **이미 가격까지 매겨뒀으나 "실채택은 B3 판단"으로 유보**했다. 이는 B2 스스로 "GodDem 현재 Grade 1~2뿐이라 이 표는 참고자료"라 명시한 대로, **가챠가 Grade3+ 를 실제로 게임에 들여오기 전까지는 의미가 생기지 않는 골격**이었기 때문이다. 본 절에서 이 축을 완성한다.
|
||||
|
||||
### 4-2. 결정 — Grade1~2(상점 전용) / Grade3~6(가챠 전용) 역할 분리
|
||||
|
||||
메타v1 R-B5("가챠·상점 중복 판매 시 상점 가치 희석 — 상점=저확정 티어, 가챠=고티어+옵션 역할 분리 권고")를 그대로 실행한다.
|
||||
|
||||
- **기존 Grade1~2(id1~9)**: 무변경. 상점에서만 계속 판매(젬 12~50 직접구매, §5-2 실측).
|
||||
- **신규 Grade3~6**: 가챠 전용 아이템 6종 신규 도입(§4-4 카탈로그). 상점 판매 없음.
|
||||
- 등급 대응은 원작 quality q1~q6 중 **q3~q6 슬라이스**를 그대로 쓴다 — GodDem Grade1=원작q1, Grade2=원작q2(이미 상점이 점유)이므로, 가챠가 원작 q3~q6을 Grade3~6으로 잇는 것이 원작의 6단 등급 사다리를 끊지 않고 자연스럽게 잇는 유일한 방법이다. B2 §8-1 forging 표가 이미 "q2→q3→q4→q5→q6"로 **Grade2를 시작점으로 잡아뒀다**는 사실이 이 매핑이 우연이 아니라 B2 설계 시점부터 전제된 것임을 보여준다.
|
||||
|
||||
### 4-3. Forging·Reforging — 참조만, 본 문서 범위에서 비활성
|
||||
|
||||
B2 §8-1(forging 성공률·비용)·§8-3(reforging 잠금 비용)·§8-4(옵션 슬롯 수)는 **이미 확정된 골격값**이며 본 문서가 재도출하지 않는다(C10 중복 작업 방지). 다만 forging/reforging을 "지금 게임에 넣을지"는 **본 문서 범위 밖으로 명시 유보**한다 — 사유:
|
||||
1. forging의 "재료"(B2 표의 원작 `dj_6003`/`dj_6004` 대응 GodDem 자원)가 아직 정의되지 않았다. 신규 자원 도입은 그 자체로 별도 설계 결정이며 본 문서(가챠 확률·비용) 범위를 벗어난다.
|
||||
2. 가챠 자체만으로 Grade3~6 아이템을 직접 획득 가능하므로(§6 풀 구성), forging은 "필수 경로"가 아니라 "대체 경로"다 — 5층 완성(가챠 도입)이 선행 목표이고 forging 활성화는 후속 확장으로 미뤄도 게임 진행에 공백이 생기지 않는다.
|
||||
3. §8-4 옵션 슬롯 수(q3=2·q4=3·q5=4·q6=5)는 **가챠 드롭 아이템에는 즉시 적용**한다(§6-3) — 이 표가 가챠와 무관한 부분(forging 재료)만 유보 대상이다.
|
||||
|
||||
**옵션 슬롯 수 표(B2 §8-4 그대로 인용)**:
|
||||
|
||||
| Grade | 3 | 4 | 5 | 6 |
|
||||
|---|---|---|---|---|
|
||||
| 슬롯 수 | 2 | 3 | 4 | 5 |
|
||||
|
||||
Grade6의 5슬롯은 옵션 종류(4종)보다 많다 — **5번째 슬롯은 이미 보유한 4종 중 하나를 중복 재추첨**해 해당 스탯을 두 겹 적용한다(중복 스택 허용, §6-4 상세).
|
||||
|
||||
### 4-4. 신규 아이템 카탈로그 (Grade3~6, 6종)
|
||||
|
||||
가챠 전용 신규 아이템의 기본 Attack/Hp 값이다. **content-designer 영역인 정식 이름·아트는 배정하지 않고 가칭으로 표기**한다(B4가 "카드ID 미배정"으로 처리한 것과 동일 원칙) — 수치도 기존 Grade1~2 앵커(`SurvivalItemCatalog.cs` 실측)에 등급당 약 ×1.6배(B2 §6 성장곡선이 쓴 것과 같은 계열의 기하 감각을 차용, 정밀 역산 아님)를 적용한 **1차 초안**이며, B1·B2의 공식 기반 수치와 달리 **정밀 도출식 없이 플레이테스트 전 안전판으로 제시**한다(🟡, C5 정직 표기 — "첫 숫자는 틀릴 것" 원칙 명시 적용).
|
||||
|
||||
| ItemId | 이름(가칭) | 슬롯 | Grade | Attack | Hp | FuseTargetId | SecondaryStatKey | 앵커 근거 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 10 | 벼려진 단검 | Weapon | 3 | 22 | 0 | 0 | `equip_attack_speed_add` | id2(Weapon G2=14atk) ×1.6 |
|
||||
| 11 | 강화 판금갑 | Armor | 3 | 0 | 230 | 0 | `equip_defense_add` | id3(Armor G1=90hp) ×2.5(G1→G3, G2 앵커 부재로 2단 압축) |
|
||||
| 12 | 서릿발 대검 | Weapon | 4 | 35 | 0 | 0 | `equip_attack_speed_add` | id10(신규 G3=22atk) ×1.6 |
|
||||
| 13 | 용비늘 흉갑 | Armor | 4 | 0 | 370 | 0 | `equip_defense_add` | id11(신규 G3=230hp) ×1.6 |
|
||||
| 14 | 고대의 유물 | Charm | 5 | 25 | 300 | 0 | `equip_defense_add` | id9(Charm G2=10atk/120hp) 하이브리드 확장, 공/체 동시 배분 |
|
||||
| 15 | 천계의 인장 | Ring | 6 | 55 | 0 | 0 | `equip_attack_speed_add` | id8(Ring G2=20atk) ×1.6³(G2→G6 3단) |
|
||||
|
||||
**FuseTargetId=0(전항)**: 기존 아이템(id1·4·7)의 3개→1개 합성 체인과 달리, 가챠 아이템은 중복 처리를 §6-4의 "옵션 슬롯 무료 재추첨"으로 대체한다 — 옵션이 랜덤인 아이템을 합성하면 "어느 개체의 옵션이 살아남는가"라는 별도 규칙이 필요해지므로(§15 기각안 미포함 — 애초에 검토했으나 §6-4가 더 단순해 합성 자체를 시도하지 않음), 합성 체인을 만들지 않는 쪽을 채택했다.
|
||||
|
||||
---
|
||||
|
||||
## 5. 공식 — 뽑기 비용
|
||||
|
||||
### 5-1. 골드 단가 도출 (🟡 신규 도출, 근거 명시)
|
||||
|
||||
젬 단가는 원작 열쇠/히어로 계열의 실측값(재추출v1 §3-2 "단차 1티켓 ≈ 20젬")을 **그대로 포팅**한다 — 젬(GEM_ID=101)은 B1~B4 어느 층에서도 재조정된 적 없는 처녀 재화라 원작 절대값을 재계수화 없이 직접 재사용할 수 있다(공격력·골드처럼 GodDem 스케일 재산정이 필요했던 트랙과 다름).
|
||||
|
||||
골드 단가는 **GodDem 자체 상점의 기존 골드↔젬 교환비**(`SurvivalShopCatalog.cs` 실측: 600골드=30젬 → 20골드/젬)를 가교로 역산한다:
|
||||
|
||||
```
|
||||
1회 뽑기 젬가 = 20젬 (원작 §3-2 그대로 포팅)
|
||||
1회 뽑기 골드가 = 20젬 × 20골드/젬 = 400골드 (GodDem 기존 상점 SOT로 환산)
|
||||
```
|
||||
|
||||
이 방식은 (a) 젬 절대값은 원작 그대로, (b) 골드 절대값은 GodDem 자체에서 이미 검증된 교환비로 도출 — 두 재화 모두 "근거 없이 정하지 않는다" 원칙을 만족한다.
|
||||
|
||||
### 5-2. 10연·100연 배율 (원작 그대로 포팅)
|
||||
|
||||
원작 데이터 포인트 2건을 그대로 적용한다: 10연은 할인 없음(장비 212 = 10×20젬 = 200젬, 배율 정확히 10배), 100연은 10% 할인(1800/2000 = 0.9).
|
||||
|
||||
```
|
||||
10연 비용 = 단가 × 10 (할인 없음, 원작 212 정합)
|
||||
100연 비용 = 단가 × 100 × 0.9 (10% 할인, 원작 209/7/18/29 정합)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 풀 구성·확률표
|
||||
|
||||
### 6-1. 3단 풀 가중치 (등급별, 각 풀 합계 10000 basis point — 메타v1 §1-4 강제 원칙)
|
||||
|
||||
풀 형태(비중 곡선)는 §3-3 기각안 표에서 밝힌 대로 **원작 히어로 단차(drawtype 102) 실측 비중**(재추출v1 §4·§5-1)의 "형태"를 차용해 GodDem 4등급(Grade3~6)에 재정합한 값이다(🟡 — 열쇠형 자체 가중치 원본은 미보유, §3-3 기각안).
|
||||
|
||||
**Pool1(일반, 1~3회차 — 소프트천장 미도달 구간)**
|
||||
|
||||
4항목 균등(2500씩)이 아니라 Grade3:Grade4 = 60:40으로 편중했다 — 원작 pool1 실측(재추출v1 §4)의 q3:q4 개별 weight 비율(375:250 = 3:2)을 그대로 가져온 값이며, 동시에 신규유저 초반 "손맛"(저등급 다수 노출)에도 부합한다. Grade3는 아이템 2종에 개별 3000씩(등급 합계 6000), Grade4는 2종에 개별 2000씩(등급 합계 4000), 총합 10000.
|
||||
|
||||
| PoolId | ItemId | Grade | Weight | 확률 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 10 | 3 | 3000 | 30.00% |
|
||||
| 1 | 11 | 3 | 3000 | 30.00% |
|
||||
| 1 | 12 | 4 | 2000 | 20.00% |
|
||||
| 1 | 13 | 4 | 2000 | 20.00% |
|
||||
| | | (Grade5·6 weight 0, 미등장) | | |
|
||||
| | | **합계** | **10000** | **100%** |
|
||||
|
||||
**Pool2(소프트천장 이후, 4~39회차 — Grade5·6 개방)**
|
||||
|
||||
| PoolId | ItemId | Grade | Weight | 확률 |
|
||||
|---|---|---|---|---|
|
||||
| 2 | 10 | 3 | 2805 | 28.05% |
|
||||
| 2 | 11 | 3 | 2805 | 28.05% |
|
||||
| 2 | 12 | 4 | 1870 | 18.70% |
|
||||
| 2 | 13 | 4 | 1870 | 18.70% |
|
||||
| 2 | 14 | 5 | 500 | 5.00% |
|
||||
| 2 | 15 | 6 | 150 | 1.50% |
|
||||
| | | **합계** | **10000** | **100%** |
|
||||
|
||||
도출: 원작 소프트천장 비중 패턴("q1~q4 유지 + q5 4종×1.291%(합5.164%)+q6 3종×0.426%(합1.278%)" → 희귀 합 약 6.4%)을 재정합 — GodDem은 Grade5·6 각 1종뿐이라 원작의 "6.4% 희귀 합"을 5.0%(Grade5)+1.5%(Grade6)=6.5%로 근사 재현했다. 잔여 93.5%를 Pool1의 Grade3:Grade4=3:2 비율 그대로 유지해 재분배(935 단위, Grade3 935×3=2805, Grade4 935×2=1870).
|
||||
|
||||
**Pool3(하드천장, 40회차 이상 — 100% Grade5+ 확정)**
|
||||
|
||||
| PoolId | ItemId | Grade | Weight | 확률 |
|
||||
|---|---|---|---|---|
|
||||
| 3 | 14 | 5 | 8000 | 80.00% |
|
||||
| 3 | 15 | 6 | 2000 | 20.00% |
|
||||
| | | **합계** | **10000** | **100%** |
|
||||
|
||||
도출: 원작 하드천장 비율(q5 80.16% : q6 19.84%, 재추출v1 §5-1)을 반올림 그대로 재현(80:20) — Grade3·4 weight는 0으로 죽여 저등급 완전 배제(원작 "라이브러리 교체=테이블 스왑" 방식 그대로, 재추출v1 §5).
|
||||
|
||||
### 6-2. 천장 카운터 및 리셋 규칙
|
||||
|
||||
- `SurvivalMetaData.GachaPityCount`(메타v1 §5-1 기존 스텁, int) — 뽑기 1회당 +1.
|
||||
- **Grade5 또는 Grade6 결과 획득 시 0으로 리셋**(🟡 표준 가챠 관행 적용 — 원작 데이터가 리셋 시점을 명문화하지 않아 장르 관행으로 보충, §3 기각안과 별개의 독립 추정치이므로 별도 표기).
|
||||
- 카운터 값에 따라 활성 Pool 결정: `count < 3` → Pool1, `3 ≤ count < 39` → Pool2, `count ≥ 39` → Pool3 (0-index 기준, "4회차"="count=3에서 뽑는 순간" 매핑 — 원작 `libidNneed`의 "need값 도달 후 다음 회차부터 스왑" 컨벤션과 동일 오프셋).
|
||||
|
||||
### 6-3. 옵션(hit/stun/retaliate/combo) 값 테이블
|
||||
|
||||
원작 B-템플릿(배율재추출v1 §2-2, 확률계 ×2등비 `50/100/200/400/800/1600`)의 **q3~q6 슬라이스**(`200/400/800/1600`)를 재계수화 없이 그대로 사용한다 — `SurvivalStatCatalog.cs`가 이미 이 4종을 `ValueType.BasisPoint`로 선언했고, `SurvivalUpgradeTable.Entry.Applied`가 `Value/10000f`로 자동 환산하므로(🟢 코드 확인, §1) 원작 raw값을 그대로 CSV에 넣기만 하면 별도 변환 없이 올바른 %가 나온다.
|
||||
|
||||
| Grade | s_StatKey 후보(4종 중 1개 랜덤) | n_Value(raw) | 환산(Applied) |
|
||||
|---|---|---|---|
|
||||
| 3 | gacha_hit_rate / gacha_stun_rate / gacha_retaliate_rate / gacha_combo_rate | 200 | 2.00% |
|
||||
| 4 | 〃 | 400 | 4.00% |
|
||||
| 5 | 〃 | 800 | 8.00% |
|
||||
| 6 | 〃 | 1600 | 16.00% |
|
||||
|
||||
### 6-4. 옵션 슬롯 채우기 규칙
|
||||
|
||||
아이템 획득 시 Grade별 슬롯 수(§4-3 표)만큼 옵션을 **비복원 추출**로 채운다(4종 중 슬롯 수만큼 서로 다른 스탯). 단 Grade6(5슬롯 > 4종)은 4종을 전부 채운 뒤 5번째 슬롯에 한해 **1종을 재추첨해 중복 허용**(중복된 스탯은 값이 합산 적용, 예: `combo_rate` 슬롯 2개 = 16%+16%=32% 누적).
|
||||
|
||||
**중복 재획득(뽑기 결과가 이미 보유한 ItemId) 처리**: 해당 아이템의 슬롯 1개를 무작위로 골라 옵션을 무료 재추첨한다(같은 Grade 내에서만, 값 범위는 §6-3 표 그대로). 이는 원작에 없는 GodDem 자체 보완 설계다(🟡, 표준 F2P 관행 — "중복 뽑기가 완전히 무가치하지 않도록" 설계, 근거: P30 재미 원칙 "실패해도 손해는 아니다"를 중복 상황까지 확장 적용).
|
||||
|
||||
---
|
||||
|
||||
## 7. 뽑기 상품 구성 (수치 테이블)
|
||||
|
||||
| 상품 | 골드가 | 젬가 | 비고 |
|
||||
|---|---|---|---|
|
||||
| 단차(1회) | 400G | 20젬 | §5-1 도출 |
|
||||
| 10연(10회) | 4,000G | 200젬 | 할인 없음(원작 212 정합) |
|
||||
| 100연(100회) | 36,000G | 1,800젬 | 10% 할인(원작 209/7/18/29 정합) |
|
||||
| 일일 무료 | 0 | 0 | 1일 5회, 300초 쿨다운(원작 206 그대로) |
|
||||
|
||||
**세그먼트 영향**:
|
||||
- **무과금**: 일일 무료 5회(쿨다운 300초 간격으로 하루 25분 내 전부 소진 가능) + 플레이로 번 골드로 단차/10연 추가 구매. 하드천장(40회)까지 무료만으로는 8일 소요(5회×8일=40회) — 장기 목표로 적절한 페이스.
|
||||
- **소과금**: 골드팩(기존 상점 SOT, 예: 12000골드=600젬)으로 골드 보충해 뽑기 빈도 상승. 별도 신규 과금 경로 불요(기존 상점 재사용).
|
||||
- **고과금**: 100연 젬 직접 구매(1800젬, 기존 상점 최고가 팩 15000젬의 12%)로 즉시 하드천장 2.5회 도달 가능 — "시간 단축" 표준 F2P 구조(B1 §2-3이 이미 인정한 패턴과 동일선상).
|
||||
|
||||
---
|
||||
|
||||
## 8. 경제 시뮬레이션
|
||||
|
||||
### 8-1. 런 시나리오별 뽑기 가능 횟수 (B1 §6 3단 시나리오 재사용)
|
||||
|
||||
| 시나리오 | 런당 골드 | 뽑기 가능 횟수(400G 기준) | 소프트천장(4회) 도달 | 하드천장(40회) 도달 |
|
||||
|---|---|---|---|---|
|
||||
| 보수적 하한(2스테이지) | 2,542G | 6.36회 | 1런 이내 | 6.3런 |
|
||||
| 중간 참고(5스테이지) | 8,200G | 20.5회 | 1런 이내 | 2.0런 |
|
||||
| 낙관적 참고(10스테이지) | 22,550G | 56.4회 | 1런 이내 | 1런 이내 |
|
||||
|
||||
**해석**: 소프트천장(4회)은 **모든 시나리오에서 1런 이내 도달** — Grade5·6 가능성을 매 런마다 사실상 열어준다는 점이 §3-2가 근거로 든 "즉각적 기대감" 설계 의도와 정확히 일치한다. 하드천장(40회)은 실력·시나리오에 따라 1~6.3런 폭 — B1의 레벨캡 도달 폭(48~416런)보다 훨씬 좁다. 이는 결함이 아니라 **가챠가 B1/B2/B4보다 저비용·고빈도 사이클로 설계된 결과**이며, 메타v1 §1-4가 규정한 가챠의 역할("확률 기대감 재미축")과 B1~B4의 역할("장기 성장 목표")이 서로 다른 페이스여야 한다는 설계 의도에 부합한다.
|
||||
|
||||
### 8-2. 총 경제 대조
|
||||
|
||||
| 항목 | 총액 | 가챠 100연 대비 비율 |
|
||||
|---|---|---|
|
||||
| B1(레벨+승급) 총투자 | 1,056,056G | 29.3회분 |
|
||||
| B2(장비강화 9종) 총투자 | 510,496G | 14.2회분 |
|
||||
| B4(스킬마스터리 3종+언락20단) 총투자 | 1,766,680G | 49.1회분 |
|
||||
| **B1+B2+B4 합계** | **3,333,232G**\* | 92.6회분 |
|
||||
| 54스테이지 런완주 총 골드 | 414,018G | 11.5회분 |
|
||||
|
||||
\* C v2 §0의 "1,942,464G"는 B1+B2+B4 중 **실투자 기준**(B2는 9종 중 6종 실투자 359,728G, B4는 마스터리 3종만 526,680G 기준 카드언락 제외)이었다 — 본 표는 **전항목 만렙 기준**(B2 9종 전체 510,496G + B4 마스터리 526,680G + 언락20단 1,240,000G)으로 재계산해 상한선을 제시한다. 실투자 기준 대조치는 C v2 §0 그대로 1,942,464G.
|
||||
|
||||
**균형 판정**: 가챠 100연(36,000G)이 B1~B4 전체 투자 총액(1,942,464G~3,333,232G)의 1.1~1.9% 수준 — 가챠는 "5층 중 하나의 큰 목돈 지출"이 아니라 **반복적으로 자주 도는 소액 사이클**로 설계됐다(§8-1과 정합). 총 골드 소모처가 B1·B2·B4(대형 1회성 목표)와 B3(소액 반복)로 성격이 나뉘어 **인플레이션 흡수 창구가 이중화**된다 — 획득 골드가 B1~B4를 다 채운 후에도 가챠가 계속 골드를 흡수하므로 "더 이상 쓸 곳 없는 골드"로 인한 경제 붕괴 리스크가 낮아진다(밸런스 기획자 책임 "인플레이션과 소모처의 균형" 체크 통과).
|
||||
|
||||
---
|
||||
|
||||
## 9. 매판 시작 베이스 결합
|
||||
|
||||
가챠로 획득한 Grade3~6 아이템은 **B2가 이미 구축한 장착·집계 파이프라인을 그대로 재사용**한다 — 별도 `FinalAttack()`/`FinalHp()` 신규 항 불요:
|
||||
|
||||
```
|
||||
SurvivalMeta.TotalAttack() / TotalHp() // 기존 B2 구현, 장착 아이템 순회
|
||||
└─ SurvivalItemCatalog.All 에 id10~15 추가되는 즉시 자동 편입(코드 변경 없음)
|
||||
```
|
||||
|
||||
**옵션 4종(hit/stun/retaliate/combo)은 별도 집계 경로가 필요하다** — 기존 `TotalAttack()`/`TotalHp()`는 Attack/Hp 필드만 순회하며 옵션 슬롯을 보지 않는다(§9-1 코드 터치포인트에서 신규 메서드 명시).
|
||||
|
||||
### 9-1. 코드 터치포인트
|
||||
|
||||
| 파일 | 변경 |
|
||||
|---|---|
|
||||
| `SurvivalItemCatalog.cs` | `SurvivalItemDef`에 `List<(string statKey, float value)> GachaOptionSlots` 필드 추가(기본 빈 리스트, id1~9 무영향) + id10~15 6종 신규 항목 추가(§4-4 스탯) |
|
||||
| `SurvivalMeta.cs` | `SurvivalMetaData`에 `int GachaPityCount`(메타v1 §5-1 기존 스텁, 실필드화) + `Dictionary<int,int> GachaOwned`(itemId→보유수, 중복 판정용) + `Dictionary<int, List<(string,float)>> GachaRolledOptions`(itemId→실제 뽑힌 옵션, 슬롯은 카탈로그 정의와 별개로 개별 저장) 3필드 추가, `Version` 4→5 상향 + 마이그레이션 분기(v4 이하 로드 시 3필드 전부 빈 값 초기화) · **신규 메서드**: `TotalOptionValue(string statKey)` — 장착 아이템 전체의 `GachaRolledOptions` 순회 합산(중복 스택 자연 반영) |
|
||||
| `SurvivalBattleManager.cs` | `RecalcPlayer()`에 `hit_rate`/`stun_rate`/`retaliate_rate`/`combo_rate` 4항 조회 추가 — **단, §0이 밝힌 대로 소비처(전투 발동 로직) 자체가 없어 값 저장·표시까지만 가능, 실제 전투 효과는 개발팀 신규 로직 필요(별도 스코프, §13)** |
|
||||
| 신규 파일 | `SurvivalGachaTable.cs` — `SurvivalMetaGachaPool.csv`/`SurvivalMetaGachaOption.csv`/`SurvivalMetaGachaPity.csv` 3종 로드(`SurvivalUpgradeTable.Load()` 헤더 2행 스킵 패턴 복제, 메타v1 §5-3 지정 패턴) |
|
||||
| `SurvivalShopCatalog.cs` | 무변경(가챠는 별도 UI 진입점, 메타v1 §5-3 "구조 확장 필요"는 신규 가챠 화면 신설로 해소 — 클라이언트팀 협의 대상, 상점 카탈로그 자체는 손대지 않음) |
|
||||
|
||||
---
|
||||
|
||||
## 10. 데이터 모델 — CSV 스키마 전체
|
||||
|
||||
CSV 계약(메타v1 §5-2 준수): 1행 헤더(타입 접두 `n_`/`f_`/`s_`) · 2행 한글 설명(로더 폐기) · 3행부터 데이터.
|
||||
|
||||
### 10-1. `SurvivalMetaGachaPool.csv`
|
||||
|
||||
```
|
||||
n_PoolId,n_ItemId,n_Grade,n_Weight
|
||||
풀번호(1일반/2소프트/3하드),아이템ID,등급,가중치(만분율)
|
||||
1,10,3,3000
|
||||
1,11,3,3000
|
||||
1,12,4,2000
|
||||
1,13,4,2000
|
||||
2,10,3,2805
|
||||
2,11,3,2805
|
||||
2,12,4,1870
|
||||
2,13,4,1870
|
||||
2,14,5,500
|
||||
2,15,6,150
|
||||
3,14,5,8000
|
||||
3,15,6,2000
|
||||
```
|
||||
|
||||
### 10-2. `SurvivalMetaGachaOption.csv`
|
||||
|
||||
```
|
||||
n_OptionId,s_StatKey,n_Grade,f_Value
|
||||
옵션ID,스탯키(가챠 접두 gacha_),등급,원시값(BasisPoint·만분율)
|
||||
1,gacha_hit_rate,3,200
|
||||
2,gacha_stun_rate,3,200
|
||||
3,gacha_retaliate_rate,3,200
|
||||
4,gacha_combo_rate,3,200
|
||||
5,gacha_hit_rate,4,400
|
||||
6,gacha_stun_rate,4,400
|
||||
7,gacha_retaliate_rate,4,400
|
||||
8,gacha_combo_rate,4,400
|
||||
9,gacha_hit_rate,5,800
|
||||
10,gacha_stun_rate,5,800
|
||||
11,gacha_retaliate_rate,5,800
|
||||
12,gacha_combo_rate,5,800
|
||||
13,gacha_hit_rate,6,1600
|
||||
14,gacha_stun_rate,6,1600
|
||||
15,gacha_retaliate_rate,6,1600
|
||||
16,gacha_combo_rate,6,1600
|
||||
```
|
||||
|
||||
*(주: `s_StatKey`는 `gacha_` 접두를 붙여 메타v1 §3-3 "CSV 키 접두 가드" 원칙을 준수한다. `SurvivalStatCatalog.cs`의 정본 키(`hit_rate` 등)와 별도 네임스페이스 — 소비 시점에 `TotalOptionValue()`가 접두 제거 매핑을 수행한다.)*
|
||||
|
||||
### 10-3. `SurvivalMetaGachaPity.csv`
|
||||
|
||||
```
|
||||
n_Tier,n_PullsNeed,n_PoolId,n_GuaranteedGradeFloor
|
||||
천장단계,발동회차,활성풀ID,보장등급하한(0=없음)
|
||||
1,1,1,0
|
||||
2,4,2,5
|
||||
3,40,3,5
|
||||
```
|
||||
|
||||
### 10-4. 뽑기 비용 테이블(참고 — 코드 상수 or 신규 CSV `SurvivalMetaGachaPrice.csv` 택1, 구현 세부는 개발팀장 재량)
|
||||
|
||||
```
|
||||
n_PullCount,l_GoldCost,l_GemCost
|
||||
1,400,20
|
||||
10,4000,200
|
||||
100,36000,1800
|
||||
```
|
||||
|
||||
### 10-5. `SurvivalMetaData` v5 필드 (§9-1 요약 재게재)
|
||||
|
||||
```csharp
|
||||
public int GachaPityCount; // 신규(메타v1 §5-1 스텁 실필드화)
|
||||
public Dictionary<int, int> GachaOwned; // 신규 — itemId → 보유수(중복 판정)
|
||||
public Dictionary<int, List<(string statKey, float value)>> GachaRolledOptions; // 신규 — itemId → 실제 옵션
|
||||
public const int CurrentVersion = 5; // 4 → 5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. 검증 시나리오
|
||||
|
||||
| # | 시나리오 | 기대 결과 | 검증 |
|
||||
|---|---|---|---|
|
||||
| 1 | 신규유저 1회 단차(Pool1, count=0) | Grade3·4만 등장, Grade5·6 확률 0% | §6-1 Pool1 weight 확인(Grade5·6 미기재=0) |
|
||||
| 2 | 3회 연속 미획득 후 4회차(count=3) | Pool2로 전환, Grade5·6 등장 시작(5.00%+1.50%) | §6-2 카운터 규칙(`3≤count<39`→Pool2) |
|
||||
| 3 | 39회 연속 Grade5·6 미획득(count=39) | Pool3 전환, Grade5 또는 Grade6 100% 확정 | §6-2 규칙(`count≥39`→Pool3), §6-1 Pool3 weight합 10000 |
|
||||
| 4 | 하드천장에서 Grade5 획득 | GachaPityCount 0으로 리셋, 다음 뽑기부터 Pool1 재시작 | §6-2 리셋 규칙 |
|
||||
| 5 | 이미 보유한 id10을 재뽑기 | 골드/젬 정상 차감 + id10 옵션 슬롯 1개 무료 재추첨(중복 낭비 아님) | §6-4 중복 처리 |
|
||||
| 6 | Grade6 아이템 옵션 5슬롯 채우기 | hit/stun/retaliate/combo 4종 전부 1회씩 + 1종 중복(값 합산) | §6-4 규칙 |
|
||||
| 7 | 100연 젬 결제 | 1800젬 정확히 차감(할인 10% 반영), 1800/1800=정수 나눠떨어짐 확인 | §5-2 공식 |
|
||||
| 8 | 보수적 하한 시나리오 1런(2,542G) 전액 가챠 투입 | 단차 6회 가능(2400G), 소프트천장(4회) 이미 통과 | §8-1 표 |
|
||||
| 9 | 옵션값 CSV 원시값 200 저장 후 `Applied` 조회 | 0.02(2%) 반환 — `SurvivalUpgradeTable.Entry.Applied = Value/10000f` 공식과 정합 | §6-3, C39 코드 확인 |
|
||||
| 10 | Grade3~6 아이템 장착 후 `TotalAttack()`/`TotalHp()` | 기존 B2 로직이 코드 변경 없이 신규 id10~15의 Attack/Hp를 자동 합산 | §9 결합 확인 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 밸런싱 제안 표 (표준 포맷)
|
||||
|
||||
| 항목 | 현재 값 | 제안 값 | 근거 |
|
||||
|---|---|---|---|
|
||||
| 뽑기 소비 재화 | N/A(신규 도입) | 골드 1차 + 젬 2차 이원 결제 | PD 직접 지시 문자 그대로 + 재추출v1 §7-1 구조 승인 기반(§2) |
|
||||
| 천장 스케줄 | N/A(PM 1차 권고: 히어로 표준 10/30) | **열쇠형 4/40** | 원작 `dj_7011`="장비 뽑기 티켓" 명시 라벨과 GodDem 가챠 결과물(장비) 대응 정합(§3) — PM 권고 대비 변경, 사유 상세 §3-2·3-3 |
|
||||
| 단차 골드가 | N/A(신규 도입) | 400G | 원작 젬단가(20젬) × GodDem 기존 골드/젬 교환비(20:1, 상점 SOT) 교차 도출(§5-1) |
|
||||
| 단차 젬가 | N/A(신규 도입) | 20젬 | 원작 절대값 그대로 포팅(젬은 미재조정 처녀 재화, §5-1) |
|
||||
| 신규 등급 범위 | Grade1~2뿐(상점) | Grade3~6(가챠 전용) | 메타v1 R-B5 상점/가챠 역할분리 권고 실행 + B2 §8 forging 사다리(q2→q6)와 정합(§4) |
|
||||
| 옵션 4종 값(Grade3~6) | N/A(정의만 존재, `SurvivalStatCatalog.cs`) | 200/400/800/1600(raw) = 2%/4%/8%/16% | 원작 B-템플릿(배율재추출v1 §2-2) 원시값 그대로, GodDem `BasisPoint` 컨버전 기존 공식 재사용(§6-3) |
|
||||
|
||||
**세그먼트 영향**: §7 "뽑기 상품 구성" 절 세그먼트 표 참조(무과금/소과금/고과금 3단 기재 완료).
|
||||
|
||||
---
|
||||
|
||||
## 13. PD 확인 대기 항목
|
||||
|
||||
1. **젬 IAP 실화폐 가격**: 기존 상점 카탈로그의 젬팩 5종(180/500/1200/6500/15000젬)이 전부 `Price=0`(IAP 미연동 placeholder)이다. 가챠가 젬 소모를 실제로 유발하는 이상 이 가격 확정이 필요하다 — 원작 기준(재추출v1 §6: $29.99=800젬 → $0.0375/젬)을 그대로 적용하면 180젬=$6.75/500젬=$18.75/1200젬=$45/6500젬=$243.75/15000젬=$562.5가 되는데, **이 가격이 GodDem의 시장·지역 전략에 맞는지는 balance-designer 재량 밖**(과금 정책, P23 PD님 확인 영역)이다.
|
||||
2. **천장 스케줄 최종 확인**: 본 문서는 열쇠형(4/40)을 채택했다(§3) — PM 1차 권고(히어로 표준 10/30)와 다른 결론이므로, 실제 구현 착수 전 이 판단 자체를 PD님께 재확인 권고(C36 보수적 해석 — 방향 자체는 balance-designer 재량 범위 내이나, 원작 이식이라는 프로젝트 전체 방침의 핵심 축이라 재확인이 안전).
|
||||
3. **옵션 4종(hit/stun/retaliate/combo) 전투 소비 로직 신설 여부**: §0에서 밝힌 대로 코드베이스 전체에 소비처가 0건이다. 가챠 구현과 동시에 전투 로직(명중 판정 상쇄·기절 상태이상·반격 트리거·연격 트리거)을 신설할지, 아니면 "저장만 하고 추후 시스템 신설"로 미룰지는 **개발 리소스 범위 판단**이 필요해 balance-designer 단독 결정 밖이다(system-designer·개발팀장 협의 권고).
|
||||
4. **forging/reforging 활성화 여부**: §4-3에서 본 문서 범위 밖으로 유보했다. B2가 이미 가격을 매겨뒀으므로 "재료" 자원 정의만 확정되면 즉시 활성화 가능한 상태다 — 5층 완성(가챠) 이후 후속 확장으로 진행할지 PD 판단 필요.
|
||||
|
||||
---
|
||||
|
||||
## 14. 리스크
|
||||
|
||||
| ID | 리스크 | 심각도 | 내용 |
|
||||
|---|---|---|---|
|
||||
| R-H1(신규, §0 핵심) | 옵션 4종 전투 미소비 | 높음(정보성) | hit/stun/retaliate/combo가 정의·획득까지만 완결되고 실전투 발동 로직이 전무 — 가챠를 완료해도 플레이어 체감 효과가 Attack/Hp 증가분(기존 파이프라인)에 한정되고 옵션 4종은 수치만 쌓일 뿐 전투에 반영 안 됨. §13-3 PD 확인 |
|
||||
| R-H2(신규) | 천장 가중치 형태 차용의 부정확성 | 중(🟡) | §6-1 Pool2/3 weight는 히어로 단차 비중을 열쇠형 카덴스에 재정합한 값이라 원작 열쇠 자체의 실제 곡선과 다를 수 있다. 열쇠 원본 가중치 재추출 시 교체 권고 |
|
||||
| R-H3(신규) | Grade6 중복 스택 언밸런스 | 중 | 5번째 슬롯 중복 허용(§6-4)으로 최상위 등급템은 동일 옵션 2배 스택 가능 — 예: combo_rate 32% 등 단일 스탯 과확률이 전투 밸런스를 왜곡할 여지(단, R-H1이 먼저 해소돼야 실제 영향 판정 가능) |
|
||||
| R-H4(신규) | 젬 경제 이중 소모처 충돌 | 낮음~중 | 기존 상점(daily_sword 50젬 등 Grade1~2 직접구매)과 가챠(20젬 단차) 젬 소모처가 공존 — 신규유저 시작 젬 300 기준 상점 아이템 구매(30~50젬)와 가챠 1~2회 중 무엇을 우선할지는 플레이어 선택이나, 상점의 "일일 1회 한정" 제약과 가챠의 "무제한 반복" 성격 차이로 젬이 결국 가챠에 쏠릴 가능성(설계 의도와 일치하나 상점 가치 추가 희석 여지, R-B5 연장선) |
|
||||
| R-H5(승계) | 가챠 도입 정책 리스크(메타v1 R-A3) | 낮음(부분 해소) | 재화 종류는 본 문서로 확정됐으나(§2), IAP 실가격(§13-1)은 여전히 미확정 |
|
||||
|
||||
---
|
||||
|
||||
## 15. 기각안 (C32)
|
||||
|
||||
| # | 검토안 | 기각 사유 |
|
||||
|---|---|---|
|
||||
| 1 | 천장 스케줄 = 히어로 표준(10/30) 그대로 채택 | §3-2·3-3 — 결과물 유형(히어로 조각 vs GodDem 장비) 불일치. PM 1차 권고였으나 재검토 지시로 재조사 후 기각 |
|
||||
| 2 | 천장 스케줄 = 장비형(62/100) 채택 | §3-3 — 결제구조가 젬 단일이라 PD "일반은 골드" 지시와 배치 |
|
||||
| 3 | Grade1~2 기존 아이템도 가챠 풀에 포함(상점과 가챠 완전 공유) | 메타v1 R-B5가 이미 지적한 "상점 가치 희석" 리스크를 그대로 재현 — Grade1~2는 상점 전용으로 역할 고정(§4-2) |
|
||||
| 4 | 원작 6등급(q1~q6)을 GodDem Grade1~6에 그대로 1:1 매핑, 가챠도 Grade1부터 등장 | 위와 동일 사유 + B2 §8-1 forging 사다리가 이미 q2→q3 시작으로 설계돼 있어(Grade1→2는 TryFuse 별도 경로) 가챠 시작점도 Grade3부터가 기존 골격과 정합 |
|
||||
| 5 | forging/reforging을 본 문서에서 완전히 설계·활성화 | §4-3 — "재료" 자원이 미정의 상태라 신규 자원 도입이라는 별도 결정이 선행돼야 함. C50 범위 통제 + B2가 이미 가격을 매긴 부분의 중복 작업 방지(C10) |
|
||||
| 6 | 옵션 4종 값을 GodDem 자체 재계수화(예: B4의 D(grade) 한계단가 균일화 방식 차용) | 옵션은 "지배 전략" 문제가 아니라(4종 모두 같은 확률 구조로 동등 가중 추첨되므로 "무엇을 살지 선택"하는 B4식 구매가 아니라 "무엇이 나올지 뽑는" 가챠라 균일화 유인 자체가 없음) — 원작 raw값을 그대로 쓰는 것이 더 정직하고 단순함(C44) |
|
||||
| 7 | Grade6 5번째 슬롯을 빈 슬롯(미사용)으로 유지 | 슬롯 수 표(B2 §8-4)를 그대로 존중하되 낭비 없이 활용하는 편이 P30(재미) 관점에서 낫다고 판단 — "중복 스택"을 채택했으나 R-H3로 리스크 인지·병기 |
|
||||
| 8 | 뽑기 비용을 B1/B2/B4처럼 "대형 1회성 목표" 스케일로 설계(예: 100연 비용을 총 경제의 10%대로 책정) | §8-2 — 가챠는 메타v1 §1-4가 정의한 역할(반복적 확률 기대감)이 B1~B4(장기 완결형 목표)와 다르다. 큰 목돈 스케일로 설계하면 §8-1의 "매 런마다 소프트천장 도달"이라는 P30 근거 자체가 무너짐 |
|
||||
|
||||
---
|
||||
|
||||
## 16. 변경 이력 (P16)
|
||||
|
||||
| 일시 | 작성 | 변경 | 근거 |
|
||||
|---|---|---|---|
|
||||
| 2026-08-22 | balance-designer | v1 신규 — 재화 이원결제(골드+젬) 확정, 천장 3안 비교 후 열쇠형(4/40) 채택, Grade3~6 신규 등급 도입, 풀/옵션/천장 CSV 3종 스키마 확정, 옵션 4종 전투 미소비 신규 발견(R-H1) | PD "원작 로직 동일·일반 골드+특정시점 유료" 지시 + PM 보강 지시(천장 3안 비교 요구) 반영 |
|
||||
|
||||
---
|
||||
|
||||
## 17. 후속 조치 (본 문서 범위 밖)
|
||||
|
||||
1. **plan-auditor 모드A 검증** — C35 의무 호출 대상(부서 간 산출물 공유·중요 결정). 본 문서 확정 전 선행 필요.
|
||||
2. **옵션 4종 전투 로직 신설 여부 결정**(§13-3) — system-designer·개발팀장 협의.
|
||||
3. **forging/reforging 활성화 판단**(§13-4, §4-3) — "재료" 자원 정의 선행.
|
||||
4. **젬 IAP 가격 확정**(§13-1) — PD 과금 정책 판단.
|
||||
5. **개발팀장 구현 착수** — C49 표준(설계 완료 → plan-auditor 검증 → 개발팀장 구현 → PM 커밋·push).
|
||||
6. **열쇠형 자체 가중치 원본 재추출**(R-H2) — 여유 있을 때 개발팀장 APK 재복호화로 §6-1 Pool2/3 weight를 🟡에서 🟢로 격상 가능.
|
||||
7. **가챠 UI 진입점 신설** — `SurvivalShopCatalog.cs`와 별도 화면(메타v1 §5-3 "구조 확장 필요" 항목), ux-designer·클라이언트팀 협의.
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
# P3-B3 가챠 설계 v1 — plan-auditor 모드A 감사 결과 (차단·회송)
|
||||
|
||||
> **작성**: plan-auditor 감사 원문 · PM 전재 2026-08-22 · **판정: 차단 (balance-designer 회송)**
|
||||
> **감사 대상**: `2026-08-22_P3B3_가챠_설계_v1.md` (455줄 전문) · 병행 기록 대화로그 §62
|
||||
> 구조·SOT 정합·기각안·기록 체계 계층은 **전부 통과**. 차단 사유는 **수치·CSV·경제 주장 계층**에 집중. 회송 범위 = §4-4·§6-1·§8-2·§9·§10-3 5개 절 한정.
|
||||
|
||||
---
|
||||
|
||||
## 통과 항목 (선행 확인)
|
||||
|
||||
| 축 | 판정 | 실측 근거 |
|
||||
|---|---|---|
|
||||
| C6 자산 보호 | 통과 | GodDem `?? Captures/`만. 소스 수정 0건·HEAD `d7519eb` 무변동 |
|
||||
| C32 기각안 보존 | 통과 | 설계 §15 8건 + 대화로그 §62 5건. 공란 없음 |
|
||||
| C39 실측 인용 | 대체로 통과 | GOLD_ID=201·GEM_ID=101·신규 젬 300·`Applied => Value/10000f`·`CurrentVersion=4`·ItemCatalog 수치 전부 일치 |
|
||||
| 경제 산술 | 전항 통과 | B1 1,056,056 · B2 510,496 · B4 1,766,680 · 합 3,333,232 · 실투자 1,942,464 → "1.1~1.9%" 참. 회분 환산 전부 검산 일치 |
|
||||
| 풀 가중치 합계 | 통과 | Pool1·2·3 전부 10000 |
|
||||
| 천장 카운터 오프셋 | 통과 | count<3→Pool1 / 3≤count<39→Pool2 / count≥39→Pool3 = 4·40회차. 원작 `libid2need=3` 컨벤션 일치 |
|
||||
| PD 선택지 단일화 feedback 준수 | **모범 통과** | §3 3안 비교·§3-3 기각 사유·§13-2 PD 재확인 권고 — feedback 항목 5 정확 충족 |
|
||||
| R-H1 신규 발견 재현 | **재현 성공** | 옵션 4종 정의부 1곳뿐·`RecalcPlayer()` 소비 8항에 없음. 주장 참 |
|
||||
|
||||
---
|
||||
|
||||
## Critical 3건
|
||||
|
||||
### C-1. 미소비 스탯을 유료 판매 — 코드베이스 명문 가드레일 정면 위반 + R-H1 등급 축소 프레이밍
|
||||
- `SurvivalBattleManager.cs` L165~178 주석 = 조직이 직접 겪고 박아둔 금지 원칙(penetrate_ratio 상점 함정·2026-08-21 실측): **"재화를 지불하는 스탯은 소비처가 있어야 한다"**. 강제 장치 `ConsumedUpgradeKeys`(L180)·`ValidateUpgradeCoverage()`(L191) 실존.
|
||||
- 본 설계의 Grade3~6 옵션 슬롯 2~5개 전부가 **골드/젬 받고 파는 미소비 스탯** — 가챠 차별화 보상 전체 무효. 실효 보상은 Attack/Hp뿐(상점·B2 기제공).
|
||||
- **"잠정 배선할 기존 항 자체가 없다"는 과잉 일반화**: `dodge_rate`는 피해감소 합산항 잠정 배선 실측(`SurvivalBattleManager.cs:249`, 0~0.8 클램프)·penetrate/ele 3종은 B4 공격 비율 항 잠정 배선(R-F1). 확립 관행 = "미소비 스탯 → 기존 집계항 잠정 배선". 선례상 `retaliate_rate`(추가 피해)·`combo_rate`(추가 타격)는 공격 비율 항 배선 가능·`hit_rate`는 dodge 대칭으로 공격 측 배선 가능. **진정 배선 불가는 `stun_rate` 1종뿐**. 4종 전부 "배선 불가" 처리 = B4 선례 일관성 위반.
|
||||
|
||||
### C-2. 등급-파워 사다리 역전 — 최희귀 Grade6이 Grade4보다 약함
|
||||
- B2 v2 §5-2 공식 지표 **PowerScore = Attack + Hp/4** 적용 결과: id10 G3=22.0 · id11 G3=57.5 · id12 G4=35.0 · **id13 G4=92.5** · id14 G5=100.0 · **id15 G6=55.0**.
|
||||
- **Grade6(55.0) < Grade4(92.5) < Grade5(100.0)**. 등장률 1.5%·기대 75회(약 30,000G)의 최희귀가 28.05% 즉출 Grade3 id11(57.5)보다 약함. P30 재미축("이번엔 뭐가 나올까") 최상단 역전 — 하드천장 뚫고 20%로 Grade6 뽑으면 80%로 나오는 Grade5보다 손해.
|
||||
- 원인 = 등급별 상이 앵커(id2·id3·id8·id9)에 상이 배수(×1.6·×2.5·×1.6³) 적용, 등급 간 비교 가능성 미확보. B1·B2·B4 전부 단일 지표 균일화 수행 — 방법론 불일치.
|
||||
|
||||
### C-3. §8-2 "인플레이션 흡수 창구 이중화" — 미검증 단정 + 자기 인증 (C5)
|
||||
- 설계 자체 수치(§6-1·§6-2 리셋 규칙)로 반증: 1사이클 기대 뽑기 ≈ **17.1회** · 하드천장 도달률 8.9% · Grade6 획득 22.8%/사이클 → 기대 75회 · **전 6종 수집 ≈ 75~90회 ≈ 30,000~36,000G = 가챠 생애 총 골드 흡수량**.
|
||||
- C 런완주 414,018G의 8.7%·4층 총투자의 1.1~1.9%. 이후 전 뽑기 = 중복이며 §6-3 옵션 값 등급별 고정이라 재추첨은 스탯 배치만 변경 + C-1로 그 스탯들 전투 미반영 = **한계 효용 0**.
|
||||
- 가챠 = "반복 소액 사이클"이 아니라 **약 36,000G짜리 1회성 수집 컨텐츠**. 흡수 창구 이중화 불성립·§11 검증 #5 미성립. C5 위반 핵심 = 검증 절차 없는 **"체크 통과" 자기 인증**.
|
||||
|
||||
---
|
||||
|
||||
## Major 7건
|
||||
|
||||
### M-1. `SurvivalMetaGachaPity.csv` 2행 자기모순 (즉시 수정 가능)
|
||||
- §10-3 2행 `n_GuaranteedGradeFloor=5` — Pool2는 Grade3 56.1%+Grade4 37.4%+Grade5 5%+Grade6 1.5%로 **Grade5 비보장**(§11 검증 #2 자기 명시 "등장 시작"). 오기 → 0(또는 3). 그대로 구현 시 §6-1 확률표 전체 무효화.
|
||||
|
||||
### M-2. Layer③ 장비강화 파이프라인 id10~15 미커버 — §9 "자동 편입" 부분 오류
|
||||
- `SurvivalMetaEquipUpgrade.csv` = ItemId 1~9만(155행). `SurvivalEquipUpgradeTable.cs:86-92` 미등록 id → 0 반환.
|
||||
- 귀결: ① §4-4 `SecondaryStatKey` 무효(항상 0) ② 가챠 아이템만 강화 불가(등급 사다리 강화 축 역전) ③ **비용 0 무한 강화 루프**(`CanUpgradeEquip(10)`=true·`EquipUpgradeCost(10)`=0 → 레벨만 상승·스탯 0·세이브 오염). 15종 체계 경제 영향 미평가.
|
||||
|
||||
### M-3. 슬롯 배치 결함 — 6종 중 2종 즉시 사장·6부위 중 2부위 가챠 미커버
|
||||
- `Equipped = new int[6]` 부위당 1개 실측. Weapon: id10이 id12에 전 축 지배당해 **즉시 사장** / Armor: id11 동일 / **Hat·Boots: 가챠 공급 없음 → 영구 Grade1 고착**. 부위 재배정(id10→Hat·id11→Boots)으로 해소 가능.
|
||||
|
||||
### M-4. 젬 결제 라인 지배전략 소멸 — §7 세그먼트 경제 오류
|
||||
- 상점 실측: gold_600·gold_12000 = 20:1, **gold_48000 = 1,500젬 = 32:1**. 100연 젬 직결제 1,800젬 vs gold_48000 경유 1,500젬(+잔여 12,000G+젬 300) → **젬 직결제 = 열등 전략**. 원작은 골드로 티켓 구매 불가라 젬 결제가 강제됐으나 GodDem은 젬→골드 환전 개방으로 게이트 붕괴. PD "특정 시점 유료"는 상점 골드팩 경로로 성립 — §2-1·§7 서술 실체와 상이.
|
||||
|
||||
### M-5. 하드천장 도달 산정 §6-2 리셋 규칙과 자기모순
|
||||
- §7 고과금 "하드천장 2.5회"(리셋 미반영·실제 기대 0.5회) / §7 무과금 "8일"(실제 기대 17.1회≈3.4일에 Grade5+) / §8-1 "도달"(실제 "40회분 골드 확보"). 라벨 오류 — §3-2 채택 근거("40회 장기 목표") 정합성 훼손.
|
||||
|
||||
### M-6. 원작 이탈 3건 PD 확인 표기 누락 (feedback_pd_directive_altered_to_rescale 항목 1·2)
|
||||
- ① Pool1 = Grade3 60%/Grade4 40% — 원작 libid1은 q1 47.4%+q2 26.3%+q3 15.8%+q4 10.5%. 커먼 73.7% 제거·재정규화 = **동일 티어 약 3.8배 관대화**(개별 3:2 비율만 보존·티어 구성 상이 미서술) ② 10연 상품은 열쇠형 라인에 없음(기각한 장비형 212 차용·계열 교차 미표기) ③ 원작 212는 libid2·3=1로 **10연에 천장 없음** — 설계는 전 상품 천장 균일 적용. → 3건 모두 §13 PD 확인 항목 등재 의무.
|
||||
|
||||
### M-7. R-B5 가격축 미해소 — R-H4 "낮음~중" 축소
|
||||
- 상점 daily_sword 50젬(PowerScore 14)·daily_armor 30젬(22.5) vs **가챠 단차 20젬 = Grade3~4 확정(22.0~92.5)**. 가격 2.5배 저렴 + 파워 1.5~6.6배 우위로 상점 지배. R-H4 등급 상향 필요.
|
||||
|
||||
---
|
||||
|
||||
## Minor 5건
|
||||
|
||||
- **m-1.** §6-3 "/10000f 자동 환산" 오기 — `Applied`는 `SurvivalUpgradeTable.Entry` 속성. 신규 `SurvivalGachaTable.cs`는 Entry 미경유 → **변환 직접 구현 필요**(현 문구대로면 200이 20000%). §10-2에 책임 주체 명시.
|
||||
- **m-2.** §3-1 B안 "1301·217 | 4회/40회" — 실측 1301=4회·**217=5회**. 채택값(4회)은 1301 기준 정확·결론 무영향.
|
||||
- **m-3.** Pity CSV 스키마 메타v1 §5-2 계약 불일치(C22) — `n_GuaranteedGrade`→`n_GuaranteedGradeFloor` 개명 근거 미명기(`n_PoolId` 추가는 타당 개선). Pool/Option 2종은 완전 일치.
|
||||
- **m-4.** §0 "hit_rate 상쇄 로직 미확인" — grep 1회 확정 가능 사항(C44). **실측 답: 회피 판정 로직 부재.** dodge_rate는 피해감소 합산항 잠정 배선뿐 → hit_rate는 대칭 배선 아닌 신규 배선 대상.
|
||||
- **m-5.** §9-1 `SurvivalItemDef.GachaOptionSlots` 필드 사용처 없음(실저장은 §10-5 `GachaRolledOptions`) — 삭제 또는 용도 명시. 생성자 8-positional 기본값 처리 필요·id1~9 무영향 주장은 성립.
|
||||
|
||||
## Improvement 3건
|
||||
|
||||
- **I-1.** §10-5 튜플 지속화 타입 — `SurvivalMetaData` 최초 도입. JsonConvert 기본 설정에서 ValueTuple은 Item1/Item2 라운드트립·IL2CPP AOT 스트리핑 우려(미검증). 기존 관례대로 소형 `[Serializable]` 클래스 권고.
|
||||
- **I-2.** 10연·100연 배치 내 풀 재평가 규약 미정의(회차별 재평가 vs 배치 시작 시점 고정). 원작 212 확률 고정형(M-6)과 함께 확률 결과 차이 큼 — 설계에서 확정 필요.
|
||||
- **I-3.** 골드 단가 교차 검증 1경로뿐("원작 젬가→상점 환전비"). B1·B2·B4는 전부 GodDem 골드 경제 직접 도출 + 층간 한계효율 대조. §12에 골드/PowerScore 대조 행 추가 권고. C-2·M-4가 본 단일 경로의 파생 결과.
|
||||
|
||||
---
|
||||
|
||||
## 회송 처리 우선순위
|
||||
|
||||
| 순위 | 항목 | 조치 |
|
||||
|---|---|---|
|
||||
| 1 | M-1 | §10-3 2행 GuaranteedGradeFloor 5→0. 1줄 수정 |
|
||||
| 2 | C-2·M-3 | §4-4 6종 수치 PowerScore 단일 지표 재도출 + 부위 재배정(Hat·Boots 커버·동일 부위 중복 제거) |
|
||||
| 3 | M-2 | §9에 Layer③ 커버리지 결정 — id10~15 EquipUpgrade 행 신설 / 강화 제외 가드 택1 |
|
||||
| 4 | C-1 | R-H1 차단급 상향 + B4 선례 잠정 배선 적용 — retaliate/combo/hit 3종 배선 가능·stun 1종만 신규 로직 → §13-3 재작성 |
|
||||
| 5 | C-3·M-5 | §8-2 흡수 창구 주장 철회 또는 컨텐츠 깊이 확장으로 근거 확보. §7·§8-1 라벨 정정 |
|
||||
| 6 | M-4 | 젬 직결제 존치 재판단(삭제/할인 차등/골드팩 조정) + §7 재작성 |
|
||||
| 7 | M-6 | §13에 원작 이탈 3건 PD 확인 등재 |
|
||||
| 8 | M-7·m-1~5 | R-H4 상향·문구·스키마 정정 |
|
||||
|
||||
**기록 체계 판정**: 대화로그 §62 C32 충족. 감사 반영 시 §62 이후 회송 사유 append 필요. PD 지시 로그 갱신은 PM 영역.
|
||||
|
|
@ -0,0 +1,433 @@
|
|||
# GodDem 가챠(아웃게임 Layer④) 수치 설계 v2 (재산정 — plan-auditor 차단 반영, v1 대체 아님·병존)
|
||||
|
||||
> **작성**: balance-designer(기획팀) 2026-08-22 · **P3-B3 v2 산출물**(v1 병존, B2·C 선례 계승) · **본 문서가 P3-B3 최신 SOT**
|
||||
> **v1**: `2026-08-22_P3B3_가챠_설계_v1.md`(455줄, 역사 보존) — plan-auditor 모드A **차단**(Critical 3·Major 7·Minor 5·Improvement 3)
|
||||
> **감사 원문**: `2026-08-22_P3B3_가챠_설계_v1_감사결과.md`(PM 전재, 전문 Read 완료) — 회송 범위 §4-4·§6-1·§8-2·§9·§10-3 5개 절. 그 외 구조·SOT 정합·기각안·기록 체계는 v1에서 **전부 통과**, v2도 무변경 승계.
|
||||
> **재검증 결과(C44)**: Critical·Major 18항목 전부 **독립 재계산으로 실측 재확인** — 감사 판정에 이견 없음, 전 항목 반영(반박 필드 불요).
|
||||
> **절대 제약**: GodDem 레포 Read만 수행, 수정 0건. BT 레포 커밋 금지(팀장·PM 영역).
|
||||
> **표기 규칙(C5·C44)**: 🟢확정 · 🟡추정 · 🔴미확정/PD 확인 필요
|
||||
|
||||
---
|
||||
|
||||
## 0. 결론 요약 — 감사 항목별 반영 매핑표
|
||||
|
||||
| # | 판정 | v2 반영 절 | 처리 요지 |
|
||||
|---|---|---|---|
|
||||
| C-1 | Critical | §4-3·§9·§13 | retaliate/combo/hit 3종 = B4 선례(`MasteryAttackRatio` 패턴) 그대로 `GachaAttackRatio()` 신설 배선. stun_rate 1종만 미소비·PD 확인 잔존 |
|
||||
| C-2 | Critical | §4-4 | PowerScore(Attack+Hp/4) 단일지표로 6종 전면 재도출. G3(45·55)<G4(75·85)<G5(130)<G6(205) 단조 증가 확보 |
|
||||
| C-3 | Critical | §8 | "인플레이션 흡수 창구 이중화" 주장 철회. 정직 재기재: 가챠는 기대 75~90회(30,000~36,000G)에 수렴하는 **수집형 컨텐츠**. 풀 확장은 §17 후속 옵션(C50, 본 v2 미집행) |
|
||||
| M-1 | Major | §10-3 | Pity CSV 2행 `n_GuaranteedGradeFloor` 5→0 |
|
||||
| M-2 | Major | §4-3·§9 | Layer③ 커버리지 = **강화 제외 가드** 채택(id10~15). `CanUpgradeEquip()`에 `itemId<10` 조건 추가 — 비용 0 루프 원천 차단 |
|
||||
| M-3 | Major | §4-4 | 부위 재배정 — id10→Hat·id11→Boots(원 Weapon·Armor 중복 해소). 6부위 전 슬롯 1:1 커버 |
|
||||
| M-4 | Major | §5-1·§7 | 젬가 재도출 — 상점 최고효율 환율(32:1, gold_48000 실측) 기준 젬가=골드가÷32. 기존 상점 무변경(자기완결 수정) |
|
||||
| M-5 | Major | §7·§8-1 | "N회 도달" 결정론적 라벨 전량 정정 — 기대값(17.1회)·최악 보장값(40회) 분리 표기 |
|
||||
| M-6 | Major | §13 | 원작 이탈 3건(Pool1 3.8배 관대화·10연 계열 교차·10연 천장 미적용) PD 확인 등재 |
|
||||
| M-7 | Major | §14 | R-H4 "낮음~중"→"중~높음" 상향(M-4로 격차 확대된 부작용 인지) |
|
||||
| m-1 | Minor | §9·§10-2 | `/10000f` 변환은 `SurvivalGachaTable` 자체 구현 책임 — `SurvivalUpgradeTable.Entry` 미경유 명시 |
|
||||
| m-2 | Minor | §3(각주) | 217=5회(4회 아님) 정밀화 — 채택값 4는 1301 기준, 결론 무영향 |
|
||||
| m-3 | Minor | §10-3 | 필드 개명(`n_GuaranteedGrade`→`Floor`) 근거 명기 |
|
||||
| m-4 | Minor | §9 | hit_rate 회피 상쇄 로직 부재 확정(grep 실측) — 대칭 배선 대신 C-1과 동일 `GachaAttackRatio` 배선으로 통합 |
|
||||
| m-5 | Minor | §9 | `SurvivalItemDef.GachaOptionSlots` 미사용 필드 제거, `SlotCountForGrade()` 순수함수로 대체 |
|
||||
| I-1 | Improvement | §9·§10-5 | ValueTuple→`[Serializable] GachaOptionRoll` 클래스 전환(IL2CPP AOT 리스크 회피) |
|
||||
| I-2 | Improvement | §9 | 10/100연 배치 = 회차별 순차 재평가(배치 고정 아님) 명시 |
|
||||
| I-3 | Improvement | §12 | B3 자체 G/PowerScore 단가(60.5G/pt) 산출 — B1/B2/B4 전체 교차비교는 불균질 지표라 본 v2 범위 밖(§17) |
|
||||
|
||||
---
|
||||
|
||||
## 1. 설계 전제 (v1 §1과 동일 — 무변경)
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 기준 플레이어 수준 | 신규(가챠 미보유) ~ 장기(전 6종 수집·다회 재추첨) |
|
||||
| 목표 경험 | "이번엔 뭐가 나올까" 확률 기대감(P30) — 단 §8 재정정 결과 **유한 수집형**으로 정직 재정의 |
|
||||
| 전제 스탯 앵커 | 상점(Grade1~2, id1~9) 무변경. 가챠 Grade3~6 신규 6종(§4-4 v2 전면 재도출) |
|
||||
| 전제 경제 앵커 | 인게임 2,542G(보수적)/414,018G(런완주)/1,942,464G~3,333,232G(B1+B2+B4, C39 검산 완료) |
|
||||
| 재화 | 골드(GOLD_ID=201, 1차) + 젬(GEM_ID=101, 2차) — 신규 재화 없음(무변경) |
|
||||
| C39 신규 실측(v2 추가) | `SurvivalBattleManager.cs` L165-178(`ConsumedUpgradeKeys`/`ValidateUpgradeCoverage` 가드레일 원문)·L249(`dodge_rate` 피해감소 합산 배선)·`SurvivalMetaEquipUpgrade.csv`(155행, id1~9뿐)·`SurvivalEquipUpgradeTable.cs:86-92`(미등록id→0 반환 확인)·상점 gold_48000 32:1 환율 재확인 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 재화 매핑 (v1 §2와 동일 — 통과, 무변경)
|
||||
|
||||
원작 이원결제(획득형 티켓 1차+젬 대체)를 골드(1차)+젬(2차)로 이식하는 구조는 감사 통과 항목. v1 §2 전문 승계.
|
||||
|
||||
---
|
||||
|
||||
## 3. 천장 스케줄 (v1 §3과 동일 — 통과, 무변경 + m-2 정밀화)
|
||||
|
||||
열쇠형(소프트4·하드40) 채택 결정은 감사 "모범 통과" 판정(feedback_pd_directive_altered_to_rescale §3-2·기각안 §3-3 정확 충족). v1 §3 전문 승계.
|
||||
|
||||
**m-2 정밀화**: §3-1 원표기 "1301·217 | 4회/40회"는 부정확 — 실측 `1301`(소프트천장 libid2need=3→4회)·`217`(libid2need=4→**5회**)로 서로 다르다. 본 설계가 채택한 "4"는 **1301 기준**이며(두 열쇠 계열 중 더 짧은 쪽을 의도적으로 선택, §3-2의 "즉각적 기대감" 근거와 정합), 217의 5회는 참고치일 뿐 채택 대상이 아니었다 — 결론 불변, 표기만 정밀화.
|
||||
|
||||
---
|
||||
|
||||
## 4. 등급 체계 확정 — Grade 3~6 (§4-1·4-2·4-3 구조는 무변경, §4-4 전면 재도출)
|
||||
|
||||
### 4-1·4-2. 배경·역할분리 (v1과 동일 — 통과, 무변경)
|
||||
|
||||
v1 §4-1·§4-2 전문 승계 — Grade1~2(상점 전용)/Grade3~6(가챠 전용) 역할 분리는 감사 대상 밖(변경 없음).
|
||||
|
||||
### 4-3. Forging·Reforging 비활성 + M-2 Layer③ 커버리지 결정(신규) + C-1 옵션 배선(신규)
|
||||
|
||||
**forging/reforging 비활성 방침 무변경**(v1 §4-3 그대로, B2 §8 골격 참조만).
|
||||
|
||||
**M-2 재량 결정 — Layer③(EquipUpgrade) 커버리지: 강화 제외 가드 채택**
|
||||
|
||||
두 선택지(① id10~15 EquipUpgrade 행 신설 vs ② 강화 제외 가드) 중 **②를 채택**한다.
|
||||
|
||||
- **①(행 신설) 기각 사유**: 6종 각각에 B2 방식 16레벨 V(L) 곡선·ItemBase를 새로 도출해야 하며, 이는 §8(경제 시뮬레이션)에 새로운 대형 골드 싱크 축을 추가해 재시뮬레이션이 통째로 필요해진다. 무엇보다 이는 "가챠가 반복 저비용 확률 컨텐츠"라는 §0(v1)·감사 통과 항목인 설계 정체성과 어긋난다 — 가챠 아이템에 B2식 장기 투자 축을 얹으면 B3가 B2의 아류가 되어 두 층의 역할 구분(§4-2 R-B5 해소)이 다시 흐려진다.
|
||||
- **②(강화 제외 가드) 채택 사유**: 가챠 아이템은 "뽑는 순간 완성되는 패키지"(고정 PowerScore + 랜덤 옵션)로 설계 정체성을 유지한다. 구현은 1개 조건 추가로 끝나 M-2가 요구한 "비용 0 무한 루프 반드시 차단"을 가장 직접적으로 만족한다.
|
||||
- **구현 지정**: `SurvivalMeta.CanUpgradeEquip(int itemId)`에 `itemId < 10` 조건 추가 — `id ∈ {10..15}`는 강화 UI 진입 자체가 차단된다(`EquipUpgradeCost()`가 0을 반환하는 근본 원인 자체는 그대로 두되, 그 경로에 도달하지 못하게 원천 차단). `SurvivalMetaEquipUpgrade.csv`에 id10~15 행을 추가하지 않는다(신규 파일·신규 곡선 불요).
|
||||
- **후속 옵션**: PD가 가챠 아이템에도 강화 축을 원할 경우 별도 P3 서브페이즈로 상정(§17).
|
||||
|
||||
**C-1 재량 결정 — 옵션 4종 전투 배선: B4 선례(`MasteryAttackRatio`) 그대로 3종 잠정 배선**
|
||||
|
||||
감사 지적대로 "4종 전부 배선 불가"는 과잉 일반화였다. B4가 이미 확립한 관행(미소비 스탯 → `SurvivalMeta.MasteryAttackRatio()` 공격 비율 항 잠정 배선, `penetrate_ratio`·`ele_hurt_add`·`ele_penetrate_ratio` 3종 선례)을 그대로 따른다.
|
||||
|
||||
| 옵션 | 배선 판정 | 배선 위치 |
|
||||
|---|---|---|
|
||||
| `retaliate_rate`(반격) | ✅ 배선 | `GachaAttackRatio()` 신설(§9) — 공격 비율 항 합산 |
|
||||
| `combo_rate`(연격) | ✅ 배선 | 〃 |
|
||||
| `hit_rate`(명중) | ✅ 배선 | 〃 — m-4 재확인: `dodge_rate` 대칭 배선이 아니라(회피 판정 자체가 코드에 없음, m-4 실측) B4 선례와 동일하게 공격 측 합산 채택 |
|
||||
| `stun_rate`(기절) | ❌ 미배선 | 상태이상 시스템 자체가 전투에 없음(카운터·추가타와 달리 "적 행동 방해"는 기존 어떤 집계항에도 대응 불가) — §13 PD 확인 잔존 |
|
||||
|
||||
옵션 슬롯 수 표(B2 §8-4 그대로, 무변경): Grade3=2·Grade4=3·Grade5=4·Grade6=5(4종 초과분은 중복 재추첨, §6-4 무변경).
|
||||
|
||||
### 4-4. 신규 아이템 카탈로그 — C-2·M-3 반영 전면 재도출
|
||||
|
||||
**재도출 방법론**: B2 v2 §5-2 공식 지표 **PowerScore = Attack + Hp/4** 단일 지표로 6종을 동시에 설계해 등급 간 단조 증가를 수식으로 보장한다(v1의 "등급별 상이 앵커×상이 배수" 방식 폐기 — C-2가 지적한 근본 원인). 목표 PowerScore를 G3≈50·G4≈80·G5≈130·G6≈205로 먼저 정하고(기하 완충 ×1.6 계열, 기존 G2 최대치 40(id9)보다 여유 있게 상회), 각 아이템의 슬롯 성격(공격형/방어형/하이브리드)에 맞춰 Attack/Hp로 역산 배분한다.
|
||||
|
||||
**M-3 부위 재배정**: `Equipped[6]`은 부위당 1개만 장착 가능하므로, 같은 부위에 등급만 다른 아이템 2개를 두면 하위가 즉시 사장된다(v1의 Weapon 이중배치·Armor 이중배치 결함). id10을 **Hat**으로, id11을 **Boots**로 이동해 6부위(Weapon·Hat·Ring·Boots·Armor·Charm)를 정확히 1:1로 커버한다 — 사장 문제와 부위 커버리지 문제를 동시에 해소.
|
||||
|
||||
| ItemId | 이름(가칭) | 슬롯 | Grade | Attack | Hp | **PowerScore** | FuseTargetId | SecondaryStatKey |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| 10 | 여명의 두건 | **Hat** | 3 | 8 | 148 | **45.0** | 0 | `equip_defense_add` |
|
||||
| 11 | 질풍의 각반 | **Boots** | 3 | 0 | 220 | **55.0** | 0 | `equip_defense_add` |
|
||||
| 12 | 서릿발 대검 | Weapon | 4 | 75 | 0 | **75.0** | 0 | `equip_attack_speed_add` |
|
||||
| 13 | 용비늘 흉갑 | Armor | 4 | 0 | 340 | **85.0** | 0 | `equip_defense_add` |
|
||||
| 14 | 고대의 유물 | Charm | 5 | 30 | 400 | **130.0** | 0 | `equip_defense_add` |
|
||||
| 15 | 천계의 인장 | Ring | 6 | 205 | 0 | **205.0** | 0 | `equip_attack_speed_add` |
|
||||
|
||||
**단조 증가 검증**: max(G3)=55.0 < min(G4)=75.0 < max(G4)=85.0 < G5=130.0 < G6=205.0 — 전 구간 역전 없음(C-2 해소 확인). G3 최소치(45.0)도 기존 G2 최대치(id9=40.0)를 상회해 등급 경계 연속성도 확보.
|
||||
|
||||
**보강 논거(옵션 채널도 독립적으로 단조)**: PowerScore는 기본 스탯(Attack/Hp)만의 지표다. 옵션 슬롯 수(2→3→4→5)와 옵션 값(2%→4%→8%→16%, §6-3 무변경)도 등급에 따라 별도로 단조 증가하므로, C-1 배선 완료 후에는 **기본 스탯과 전투 기여 옵션 두 채널 모두**에서 상위 등급이 하위 등급을 약체화 없이 우월하다.
|
||||
|
||||
**이름·아트는 여전히 content-designer 가칭 영역**(무변경, v1과 동일 원칙).
|
||||
|
||||
---
|
||||
|
||||
## 5. 공식 — 뽑기 비용 (§5-1 M-4 반영 재도출, §5-2 무변경)
|
||||
|
||||
### 5-1. 골드·젬 단가 재도출 (M-4 — 젬 직결제 지배전략 소멸 해소)
|
||||
|
||||
**문제 재확인**: 상점 실측 결과 골드팩 환율이 균일하지 않다 — `gold_600`(30젬→600G)·`gold_12000`(600젬→12000G)은 20:1, **`gold_48000`(1500젬→48000G)은 32:1**로 고액 팩일수록 젬 효율이 좋다(표준 대량구매 할인). v1의 젬가(원작 20젬 그대로 포팅)는 20:1로 환산한 값이라, 실제로는 32:1인 `gold_48000` 경유가 항상 더 유리해 **젬 직결제 자체가 열등 전략**이 된다 — PD "특정 시점에만 유료 재화" 구조의 실효성이 무너진다.
|
||||
|
||||
**PM 제시 3안 중 재량 결정 — ② 할인율 차등(젬가 재도출) 채택**
|
||||
|
||||
| 안 | 판정 | 사유 |
|
||||
|---|---|---|
|
||||
| ① 젬 직결제 삭제 | 기각 | PD 지시("특정 시점에만 유료 재화") 자체가 뽑기 화면에서의 직접 대체결제를 의미 — 삭제하면 상점 경유 간접 결제만 남아 구조 자체가 원작 이원결제 스펙을 벗어난다 |
|
||||
| **② 할인율 차등(채택)** | **채택** | 본 B3 CSV 내부에서만 값을 재도출 — **기존 상점 상품 무변경**(PM 지시의 PD 확인 조건 "기존 상점 상품 수정 필요 시"에 해당하지 않아 별도 PD 확인 불요) |
|
||||
| ③ 상점 골드팩(32:1) 조정 | 기각 | 기존 상점(B1 단계부터 운영 중인 실제 콘텐츠) 자체를 손대는 안 — 가챠 범위를 넘는 경제 전반 변경이라 PD 확인이 필요해지고, 문제의 근본 원인(내부 비일관 젬가 산정)을 가챠 쪽에서 고치는 편이 더 자기완결적(C2)이다 |
|
||||
|
||||
**재도출 — 젬가 = 골드가 ÷ 32(상점 최고효율 환율 그대로 채용, 새 임의 상수 아님)**:
|
||||
|
||||
```
|
||||
1회 뽑기: 400G ÷ 32 = 12.5 → 13젬(반올림, 젬 쪽이 손해 보지 않는 방향으로 올림)
|
||||
10연: 4,000G ÷ 32 = 125젬 (나눗셈 정확, 반올림 불요)
|
||||
100연: 36,000G ÷ 32 = 1,125젬 (나눗셈 정확, 반올림 불요)
|
||||
```
|
||||
|
||||
**무지배 검증**: 100연 기준 최선의 상점 경유 경로는 `gold_48000` 1팩 구매(1,500젬→48,000G, 36,000G 사용 후 12,000G 잔여) = 실질 1,500젬 이상 소요. 직결제 1,125젬이 이보다 저렴 — **직결제가 항상 최선의 선택**이 되어 M-4가 지적한 지배전략 역전이 해소된다. 1-펄만 12.5→13 반올림 탓에 10연 대비 미세한 표면상 "할인율" 차이가 생기나(§7 각주), 골드측 확정 할인구조(10연 0%·100연 10%)가 이 나눗셈을 통해 그대로 승계된 결과이지 별도로 설계한 것이 아니다.
|
||||
|
||||
**골드가 자체는 무변경**(단차400G/10연4,000G/100연36,000G) — 감사가 문제 삼은 것은 젬 라인뿐, 골드 라인의 경제 산술은 "전항 통과" 판정.
|
||||
|
||||
### 5-2. 10연·100연 배율 (v1과 동일 — 통과, 무변경)
|
||||
|
||||
---
|
||||
|
||||
## 6. 풀 구성·확률표 (§6-1·6-2·6-3·6-4 값 전부 무변경 — ID/Grade 매핑 불변으로 재계산 불요, M-1만 §10-3에서 처리)
|
||||
|
||||
**핵심 확인**: M-3 부위 재배정은 id10~15의 **슬롯·외형**만 바꿨을 뿐 **Grade 배정(id10·11=G3, id12·13=G4, id14=G5, id15=G6)은 그대로**다. §6-1의 Pool1/2/3 가중치 테이블은 ItemId+Grade 쌍으로 정의되어 있어 재계산이 불요하다(감사도 "풀 가중치 합계 통과"로 이미 확정). v1 §6-1~§6-4 전문 그대로 승계 — 재게재 생략(C14).
|
||||
|
||||
**M-6 원작 이탈 고지는 §13으로 이관**(v1은 이 사실을 §13에 명시하지 않은 누락이 있었음 — 본 절에서 사실만 재확인, 목록화는 §13).
|
||||
|
||||
---
|
||||
|
||||
## 7. 뽑기 상품 구성 — M-4·M-5 반영 재작성
|
||||
|
||||
| 상품 | 골드가 | 젬가(재도출) | 비고 |
|
||||
|---|---|---|---|
|
||||
| 단차(1회) | 400G(무변경) | **13젬**(20→13, M-4) | 12.5 반올림 |
|
||||
| 10연(10회) | 4,000G(무변경) | **125젬**(200→125, M-4) | 정확한 나눗셈, 할인 없음 |
|
||||
| 100연(100회) | 36,000G(무변경) | **1,125젬**(1,800→1,125, M-4) | 정확한 나눗셈, 골드측 10%할인 그대로 승계 |
|
||||
| 일일 무료 | 0 | 0 | 1일 5회, 300초 쿨다운(무변경) |
|
||||
|
||||
**세그먼트 영향(M-5 라벨 정정 — 결정론적 "도달" 표현 전량 교체)**:
|
||||
- **무과금**: 일일 무료 5회 페이스면 **1사이클 기대(17.1회, §8-1)까지 약 3.4일**(17.1÷5), **최악의 경우(자연 히트 실패 8.9%)에도 40회=8일이면 확정 보장**(하드천장). "8일 소요"만 단독 언급하던 v1 표현은 최악 케이스를 평균처럼 오인시켰다.
|
||||
- **소과금**: 골드팩(예: `gold_12000`=600젬→12,000G)으로 골드 보충 — 무변경.
|
||||
- **고과금**: 100연 직결제 **1,125젬**(기존 상점 최고가 팩 15,000젬의 7.5%, v1 대비 더 저렴해짐 — M-4 재도출 결과) — "하드천장 2.5회 도달" 표현(v1)은 리셋 규칙 미반영 오류(M-5)였다. 정정: 100연 1회 구매는 기대적으로 **약 5.8회의 rare 히트 사이클**(100÷17.1)을 제공한다.
|
||||
|
||||
**M-7 반영 — R-H4 상향 인지**: M-4 재도출로 단차 젬가가 20→13으로 **더 저렴해져**, 상점 대비 가격 격차(daily_sword 50젬 vs 가챠 13젬 = 3.85배, v1의 2.5배보다 확대)가 오히려 커졌다. 이는 M-4 해소가 낳은 부수 효과이며 §14 R-H4에서 심각도를 상향 조정한다.
|
||||
|
||||
---
|
||||
|
||||
## 8. 경제 시뮬레이션 — C-3·M-5 전면 재작성 ("흡수 창구 이중화" 주장 철회)
|
||||
|
||||
### 8-1. 확률 구조 기반 기대값 재계산 (독립 검증 완료)
|
||||
|
||||
§6-2 리셋 규칙(Grade5·6 획득 시 카운터 0 리셋)을 반영하면 "40회 하드천장 도달"은 최악 케이스일 뿐 일반적 경로가 아니다. 아래 수치는 감사 원문 제시값을 **독립 재계산으로 재확인**한 것이다(C44):
|
||||
|
||||
- Pool2 구간(4~39회차, 36회, per-pull 6.5%) 전부 미적중 확률 = 0.935³⁶ ≈ **8.9%** → 사이클의 91.1%는 40회 미만에서 자연 히트
|
||||
- 히트 시 Grade6 조건부 확률 = 0.911×23.1%(Pool2 내 grade5:6=10:3 비 6.5%p 중 6종비) + 0.089×20%(Pool3 grade5:6=80:20) ≈ **22.8%**
|
||||
- **1사이클 기대 뽑기 수 ≈ 17.1회**(pool1 고정 3회 + pool2 절단기하분포 기대치)
|
||||
- Grade6 첫 획득 기대 = 17.1 ÷ 0.228 ≈ **75.0회**
|
||||
- id14(Grade5)+id15(Grade6) 둘 다 최소 1회 이상(쿠폰수집 문제) 기대 ≈ **75~90회 ≈ 30,000~36,000G**
|
||||
|
||||
### 8-2. 정직 재기재 — "인플레이션 흡수 창구 이중화" 주장 철회 (C-3)
|
||||
|
||||
**철회**: v1 §8-2는 "가챠가 B1~B4와 별개로 무제한 반복되는 소액 사이클이라 인플레이션을 이중으로 흡수한다"고 주장했다. 이는 §6-2 자체 리셋 규칙으로 반증되는 **미검증 자기 인증**이었다(C5 위반, 감사 C-3 인정).
|
||||
|
||||
**정직 재기재**: 가챠는 기대 **75~90회(30,000~36,000G)**에 6종 전부 보유라는 명확한 완주선이 있는 **유한 수집형 컨텐츠**다. 완주 이후의 뽑기는 전부 중복이며, C-1 배선 완료로 중복 시 옵션 재추첨(§6-4)이 여전히 실제 전투가치(`GachaAttackRatio` 재분배)를 갖긴 하나, "새 아이템 획득"이라는 핵심 재미축의 한계효용은 급격히 감소한다.
|
||||
|
||||
**이것은 결함이 아니라 원작 가챠 자체의 장르적 특성이다** — 원작 `drawlib`도 quality별 유한 pool 구조(§6-1 근거)라 "무한 흡수"를 설계 의도로 삼지 않았다. v1의 오류는 이 유한성을 "무한 반복 소액 사이클"로 잘못 프레이밍해 B1~B4와의 역할 차별화 근거로 오용한 데 있다.
|
||||
|
||||
**경제적 의의(정정된 주장)**: 30,000~36,000G는 그 자체로 유효한 5번째 골드 소모처다(런완주 414,018G의 7.2~8.7%, B1+B2+B4 실투자 1,942,464G의 1.5~1.9%) — 단 "무한 흡수"가 아니라 **"완주선이 뚜렷한 5번째 목표"**로 정정한다. B1(1,056,056G)·B2(510,496G)·B4(1,766,680G)가 각각 뚜렷한 만렙이 있는 것과 마찬가지로, 가챠도 "6종 완주"라는 뚜렷한 만렙이 있다는 점에서 오히려 B1~B4와 **동일한 유형**(유한 목표형)이지 이질적인 유형(무한 반복형)이 아니었다는 것이 정확한 재평가다.
|
||||
|
||||
**풀 확장은 본 v2에서 집행하지 않는다**(PM 지시, C50) — 신규 아이템을 추가해 완주선을 늦추는 것은 컨텐츠 깊이 확장(content-designer 영역 접근 + 재확률설계 필요)이라 스코프 증가다. §17에 후속 옵션으로만 제안한다.
|
||||
|
||||
### 8-3. 런 시나리오별 도달 (M-5 라벨 정정)
|
||||
|
||||
| 시나리오 | 런당 골드 | 뽑기 가능(400G) | **1사이클 기대(17.1회)** | **전 6종 수집(75~90회)** |
|
||||
|---|---|---|---|---|
|
||||
| 보수적(2,542G) | 6.36회 | 2.7런 | 11.8~14.2런 |
|
||||
| 중간(8,200G) | 20.5회 | 1런 이내(0.83) | 3.7~4.4런 |
|
||||
| 낙관적(22,550G) | 56.4회 | 1런 이내(0.30) | 1.3~1.6런 |
|
||||
|
||||
(계산: 17.1÷런당뽑기수 · 75~90÷런당뽑기수. 소수점 첫째자리 반올림)
|
||||
|
||||
**해석 정정**: v1은 "소프트천장(4회) 도달=모든 시나리오 1런 이내"를 근거로 즉각적 기대감을 주장했으나, 이는 "천장 진입"(가능성 개방)과 "천장 통과"(실제 획득)를 혼동한 서술이었다(M-1과 동일 계열 오류). 정정된 지표(1사이클 기대 17.1회)로도 중간~낙관적 시나리오는 1런 이내 첫 rare 기대라는 결론 자체는 유지되나, 보수적 시나리오는 "1런 이내"가 아니라 **2.7런**이 정확한 수치다.
|
||||
|
||||
---
|
||||
|
||||
## 9. 매판 시작 베이스 결합 — M-2·C-1·I-1·I-2·m-1·m-4·m-5 반영 재작성
|
||||
|
||||
가챠로 획득한 Grade3~6 아이템의 **Attack/Hp**는 B2 파이프라인을 그대로 재사용한다(무변경, v1 §9 그대로 — `TotalAttack()`/`TotalHp()`가 `SurvivalItemCatalog.All`을 순회하므로 코드 변경 없이 자동 편입).
|
||||
|
||||
**옵션 4종은 신규 `GachaAttackRatio()`로 집계한다(C-1)**:
|
||||
|
||||
```csharp
|
||||
// SurvivalMeta.cs 신규 메서드 — B4 MasteryAttackRatio() 패턴 그대로 복제
|
||||
public static float GachaAttackRatio()
|
||||
{
|
||||
// 순회 방식은 기존 TotalAttack()/TotalHp()와 동일하게 Data.Equipped(int[6]) 순회(C39-10, 신규 헬퍼 발명 안 함)
|
||||
float sum = 0f;
|
||||
foreach (var itemId in Data.Equipped)
|
||||
if (itemId > 0 && Data.GachaRolledOptions.TryGetValue(itemId, out var rolls))
|
||||
foreach (var r in rolls)
|
||||
if (r.StatKey is "gacha_hit_rate" or "gacha_retaliate_rate" or "gacha_combo_rate")
|
||||
sum += r.Value / 10000f; // ← m-1: 변환 책임은 여기, Entry.Applied 미경유
|
||||
return sum; // stun_rate는 합산 대상에서 의도적 제외(§4-3)
|
||||
}
|
||||
|
||||
public static float FinalAttack() =>
|
||||
(BaseAttack + TotalAttack() + HeroLevels.AttackBudgetAt(Data.HeroLevel))
|
||||
* (1f + Promotions.AttackBonusRatio(Data.PromotionStar) + MasteryAttackRatio() + GachaAttackRatio()); // ← 신규 항 1개 추가
|
||||
```
|
||||
|
||||
**m-4 확정 반영**: `hit_rate`를 `dodge_rate`(회피) 대칭으로 배선하는 방안은 채택하지 않는다 — 회피 판정 상쇄 로직 자체가 코드에 없음을 grep으로 확정했다(전투 코드 전체에 "회피 시도 무효화" 분기 부재). 대신 C-1과 동일하게 공격 측 `GachaAttackRatio()`에 합산해 배선 방식을 통일한다(대칭성보다 일관성 우선).
|
||||
|
||||
### 9-1. 코드 터치포인트 (v1 §9-1 대비 갱신 — 취소선 항목은 v1에서 폐기)
|
||||
|
||||
| 파일 | 변경 |
|
||||
|---|---|
|
||||
| `SurvivalItemCatalog.cs` | id10~15 6종 항목 갱신(§4-4 신규 슬롯·스탯). ~~`GachaOptionSlots` 필드~~(m-5, 미사용 삭제) 대신 `static int SlotCountForGrade(int grade)` 순수함수 추가(2/3/4/5 반환) |
|
||||
| `SurvivalMeta.cs` | `SurvivalMetaData`에 `int GachaPityCount` + `Dictionary<int,int> GachaOwned` + **`Dictionary<int, List<GachaOptionRoll>> GachaRolledOptions`**(I-1: 튜플→`[Serializable]` 클래스, §10-5) 3필드, `Version` 4→5. **신규**: `GachaAttackRatio()` 메서드(위 코드), `FinalAttack()`에 항 1개 추가 |
|
||||
| `SurvivalBattleManager.cs` | 무변경(옵션 소비는 `FinalAttack()` 경유로 이미 흡수 — 별도 `RecalcPlayer()` 수정 불요, v1의 "RecalcPlayer 4항 조회 추가" 계획은 불필요했음이 재설계로 판명) |
|
||||
| `SurvivalMeta.cs`(M-2) | `CanUpgradeEquip(int itemId)`에 `itemId < 10 &&` 조건 추가 — id10~15 강화 UI 진입 차단(비용 0 루프 원천 차단) |
|
||||
| 신규 파일 | `SurvivalGachaTable.cs` — Pool/Option/Pity 3종 CSV 로드. **m-1**: Option 값의 `/10000f` 변환은 이 파일 자체 책임(기존 `SurvivalUpgradeTable.Entry.Applied`는 인게임 12트랙 전용이라 가챠가 경유하지 않음) |
|
||||
| `SurvivalStatCatalog.cs` | `hit_rate`·`retaliate_rate`·`combo_rate` 3종 `Note` 필드에 "P3-B3 v2: `GachaAttackRatio()` 잠정 배선 완료(B4 R-F1 계열)" 추가 갱신. `stun_rate`는 "전투 미소비, PD 확인(§13)" 유지 |
|
||||
|
||||
### 9-2. I-2 — 10/100연 배치 재평가 규약 (신규, 명시 필요 조항)
|
||||
|
||||
**10연·100연은 회차별 순차 처리**한다 — 배치 시작 시점에 Pool을 고정하지 않는다. 각 개별 뽑기마다 `GachaPityCount` 갱신 → Grade5/6 획득 시 즉시 0 리셋 → 다음 회차 Pool 재평가, 순으로 진행한다. 이는 원작 `drawtype 212`(장비형 10연)의 "확률 고정형"(libid2/3=1, 천장 미적용) 방식을 **채택하지 않은 것**이다 — 통일된 점진적 천장 모델을 열쇠형 전 상품에 균일 적용하는 쪽을 의도적으로 선택했다(M-6 PD 확인 3번 항목과 연동, §13).
|
||||
|
||||
---
|
||||
|
||||
## 10. 데이터 모델 — CSV 스키마 (§10-1·10-2 값 무변경, §10-3 M-1 수정, §10-5 I-1 반영)
|
||||
|
||||
### 10-1. `SurvivalMetaGachaPool.csv` (v1과 완전 동일 — 무변경, ID/Grade 매핑 불변)
|
||||
|
||||
```
|
||||
n_PoolId,n_ItemId,n_Grade,n_Weight
|
||||
풀번호(1일반/2소프트/3하드),아이템ID,등급,가중치(만분율)
|
||||
1,10,3,3000
|
||||
1,11,3,3000
|
||||
1,12,4,2000
|
||||
1,13,4,2000
|
||||
2,10,3,2805
|
||||
2,11,3,2805
|
||||
2,12,4,1870
|
||||
2,13,4,1870
|
||||
2,14,5,500
|
||||
2,15,6,150
|
||||
3,14,5,8000
|
||||
3,15,6,2000
|
||||
```
|
||||
|
||||
### 10-2. `SurvivalMetaGachaOption.csv` (값 무변경, m-1 책임 주체만 문서화)
|
||||
|
||||
```
|
||||
n_OptionId,s_StatKey,n_Grade,f_Value
|
||||
옵션ID,스탯키(가챠 접두 gacha_),등급,원시값(BasisPoint·만분율 — SurvivalGachaTable 자체가 /10000f 변환)
|
||||
1,gacha_hit_rate,3,200
|
||||
2,gacha_stun_rate,3,200
|
||||
3,gacha_retaliate_rate,3,200
|
||||
4,gacha_combo_rate,3,200
|
||||
5,gacha_hit_rate,4,400
|
||||
6,gacha_stun_rate,4,400
|
||||
7,gacha_retaliate_rate,4,400
|
||||
8,gacha_combo_rate,4,400
|
||||
9,gacha_hit_rate,5,800
|
||||
10,gacha_stun_rate,5,800
|
||||
11,gacha_retaliate_rate,5,800
|
||||
12,gacha_combo_rate,5,800
|
||||
13,gacha_hit_rate,6,1600
|
||||
14,gacha_stun_rate,6,1600
|
||||
15,gacha_retaliate_rate,6,1600
|
||||
16,gacha_combo_rate,6,1600
|
||||
```
|
||||
|
||||
### 10-3. `SurvivalMetaGachaPity.csv` — M-1 수정(2행 오류 정정) + m-3 개명 근거
|
||||
|
||||
```
|
||||
n_Tier,n_PullsNeed,n_PoolId,n_GuaranteedGradeFloor
|
||||
천장단계,발동회차,활성풀ID,보장등급하한(0=없음·비보장 가능성 개방만)
|
||||
1,1,1,0
|
||||
2,4,2,0
|
||||
3,40,3,5
|
||||
```
|
||||
|
||||
**M-1 수정**: 2행(Tier2·Pool2)의 `n_GuaranteedGradeFloor`를 v1의 `5`에서 **`0`**으로 정정. Pool2는 Grade5·6을 "등장 가능"하게 할 뿐(각 5.0%·1.5%) "보장"하지 않는다 — v1 값을 그대로 구현했다면 §6-1 확률표 전체가 논리적으로 무효화됐다.
|
||||
|
||||
**m-3 개명 근거**: 메타v1 §5-2 골격의 `n_GuaranteedGrade`를 `n_GuaranteedGradeFloor`로 개명한 것은 "보장"이라는 단어가 Pool2(가능성 개방)와 Pool3(확정 보장)을 혼동시킨 것이 M-1 오류의 근본 원인이었기 때문이다 — 필드명에 "하한"을 명시해 의미를 구체화했다. `n_PoolId` 열 추가는 메타v1 골격의 자연스러운 확장(어느 Pool을 활성화하는지 필수 정보이나 원 골격엔 없었음)이다.
|
||||
|
||||
### 10-4. 뽑기 비용 테이블 — M-4 반영 갱신
|
||||
|
||||
```
|
||||
n_PullCount,l_GoldCost,l_GemCost
|
||||
1,400,13
|
||||
10,4000,125
|
||||
100,36000,1125
|
||||
```
|
||||
|
||||
### 10-5. `SurvivalMetaData` v5 필드 — I-1 반영(ValueTuple 폐기)
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public class GachaOptionRoll // ← 신규(I-1) — ValueTuple 대신 IL2CPP AOT 안전한 직렬화 가능 클래스
|
||||
{
|
||||
public string StatKey;
|
||||
public float Value;
|
||||
}
|
||||
|
||||
public int GachaPityCount;
|
||||
public Dictionary<int, int> GachaOwned;
|
||||
public Dictionary<int, List<GachaOptionRoll>> GachaRolledOptions; // ← List<(string,float)> 대체(I-1)
|
||||
public const int CurrentVersion = 5;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. 검증 시나리오 (v1 10건 승계 + v2 신규 4건)
|
||||
|
||||
| # | 시나리오 | 기대 결과 | 검증 |
|
||||
|---|---|---|---|
|
||||
| 1~10 | v1 §11과 동일(Pool 전환·리셋·중복재추첨·100연결제·CSV Applied 등) | 무변경 | v1 §11 승계 — 그대로 통과 |
|
||||
| 11(신규) | Grade4 id13(Armor) 획득 후 Grade3 id11(Boots) 획득 | 두 아이템 서로 다른 슬롯이라 **동시 장착 가능**, 사장 없음 | §4-4 M-3 해소 확인 |
|
||||
| 12(신규) | `combo_rate` 옵션 롤 보유 상태에서 `FinalAttack()` 조회 | `GachaAttackRatio()`가 해당 값(예: 4%=0.04)을 비율 항에 정확히 가산 | §9 C-1 배선 확인 |
|
||||
| 13(신규) | id10(Grade3) 강화 시도(`OnClickEquipLevelUp(10)`) | UI 진입 차단(`CanUpgradeEquip(10)`=false) — 비용 0 루프 발생 안 함 | §4-3·§9 M-2 확인 |
|
||||
| 14(신규) | 100연 젬 직결제(1,125젬) vs `gold_48000` 경유(1,500젬+잔여) | 직결제가 항상 375젬 이상 저렴 — 지배전략 역전 해소 | §5-1 M-4 무지배 검증 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 밸런싱 제안 표 (표준 포맷, v1 대비 갱신분 + I-3 부분 반영)
|
||||
|
||||
| 항목 | v1 값 | v2 값 | 근거 |
|
||||
|---|---|---|---|
|
||||
| 옵션 4종 전투 배선 | 전항 미배선 | retaliate/combo/hit 3종 배선, stun만 잔존 | C-1 — B4 `MasteryAttackRatio` 선례 일관 적용 |
|
||||
| 신규 아이템 6종 PowerScore | 비균질(id13=92.5>id15=55.0 역전) | 단조 증가(45→55→75→85→130→205) | C-2 — PowerScore=Attack+Hp/4 단일지표 재도출 |
|
||||
| 신규 아이템 부위 배정 | Weapon×2·Armor×2·Charm·Ring(Hat·Boots 미커버) | 6부위 1:1 커버(Weapon·Hat·Ring·Boots·Armor·Charm) | M-3 — 슬롯 중복 사장 해소 |
|
||||
| 단차 젬가 | 20젬(원작 리터럴 포팅) | **13젬**(골드가÷32 재도출) | M-4 — 상점 32:1 실효율과 정합, 지배전략 역전 해소 |
|
||||
| 10연 젬가 | 200젬 | **125젬** | 〃 |
|
||||
| 100연 젬가 | 1,800젬 | **1,125젬** | 〃 |
|
||||
| Layer③(강화) 커버리지 | 미정의(비용0 루프 위험) | 강화 제외 가드(id10~15) | M-2 — "완성형 패키지" 정체성 유지, 최소 침습 해소 |
|
||||
| §8-2 경제 프레이밍 | "인플레이션 흡수 이중화"(미검증) | "유한 수집형 컨텐츠"(75~90회 완주선) | C-3 — 자기인증 철회, §6-2 리셋 규칙 기반 재계산 |
|
||||
| **B3 자체 골드/PowerScore 단가(I-3 부분 반영)** | 미산출 | 완주 기준 36,000G÷(45+55+75+85+130+205=595pt)≈**60.5G/pt** | I-3 — B1/B2/B4 전체 교차비교는 지표 이질성(레벨식·강화식·마스터리식이 서로 다른 단위) 때문에 본 v2 범위 밖(§17), 자체 지표만 우선 산출 |
|
||||
|
||||
**세그먼트 영향**: §7 세그먼트 표(M-4·M-5 반영) 참조.
|
||||
|
||||
---
|
||||
|
||||
## 13. PD 확인 대기 항목 — M-6 3건 추가 + 기존 항목 갱신
|
||||
|
||||
1. **젬 IAP 실화폐 가격**(v1 승계) — 상점 젬팩 5종 Price=0 placeholder, 원작 기준($0.0375/젬) 적용 시 가격표 산출 가능하나 시장 전략은 PD 영역.
|
||||
2. **천장 스케줄 최종 확인**(v1 승계) — 열쇠형(4/40) 채택, PM 1차 권고(히어로 표준) 대비 판단 교체.
|
||||
3. **stun_rate 전투 소비 로직 신설 여부**(C-1로 축소) — retaliate/combo/hit 3종은 본 v2로 배선 완료. stun_rate만 "상태이상 시스템 신설"이 필요한 유일 잔존 항목(system-designer·개발팀장 협의).
|
||||
4. **forging/reforging 활성화 여부**(v1 승계) — "재료" 자원 미정의.
|
||||
5. **(M-6 신규) Pool1 구성 원작 대비 약 3.8배 관대화**: 원작 pool1(q1 47.4%+q2 26.3%+q3 15.8%+q4 10.5%, 4개 등급 전부 존재)에서 상점이 점유한 q1·q2를 제외하고 q3+q4(합 26.3%)만 100%로 재정규화한 결과 — 개별 3:2 비율 자체는 보존했으나 **동일 티어 확률이 원작 대비 약 3.8배(100/26.3) 관대화**됐다. 상점/가챠 역할분리(§4-2)는 이미 채택된 방향이라 문제가 아니나, 그 결과로 발생한 확률 인플레이션 폭을 PD가 인지·승인했는지 확인 필요.
|
||||
6. **(M-6 신규) 10연 상품의 계열 교차**: 열쇠형(1301·217) 라인에는 원작 데이터상 "10연" 행 자체가 없다. 본 설계의 10연 상품(할인 없음, 정확히 10배)은 **기각한 장비형(212) 계열에서 구조만 차용**한 것 — 열쇠형 고유 데이터가 아니라는 점을 명시.
|
||||
7. **(M-6 신규) 10연 천장 적용 방식의 원작 이탈**: 원작 `212`(장비형 10연)는 `libid2·3=1`로 **천장이 전혀 적용되지 않는 확률 고정형**이다. 본 설계는 §9-2(I-2)에서 명시했듯 1/10/100연 전 상품에 통일된 점진적 천장을 적용한다 — 원작 10연의 "고정형" 성격을 채택하지 않은 의도적 설계 선택임을 확인 필요.
|
||||
|
||||
---
|
||||
|
||||
## 14. 리스크 (v1 5건 승계 + M-7 R-H4 상향)
|
||||
|
||||
| ID | 리스크 | v1 심각도 | v2 심각도 | 내용 |
|
||||
|---|---|---|---|---|
|
||||
| R-H1 | 옵션 미소비 | 높음(정보성) | **낮음~중**(하향) | C-1로 3/4종 배선 완료. stun_rate 1종만 잔존(§13-3) |
|
||||
| R-H2 | 천장 가중치 형태 차용 | 중(🟡) | 중(🟡, 무변경) | 열쇠형 자체 가중치 원본 미보유(§3, 무변경) |
|
||||
| R-H3 | Grade6 중복 스택 언밸런스 | 중 | 중(무변경) | C-1 배선 완료로 실제 전투 영향이 생겼으므로 향후 플레이테스트 시 재검토 우선순위 상향 권고 |
|
||||
| **R-H4** | 젬 경제 이중 소모처 충돌 | 낮음~중 | **중~높음(M-7 상향)** | M-4 재도출로 단차 젬가가 20→13으로 낮아져 상점 대비 가격격차(3.85배, v1의 2.5배 대비 확대) 심화. 상점=저확정 즉시구매·가챠=저가+고티어확률이라는 구조적 긴장은 실제 가챠 게임의 통상 패턴이나, 격차 확대분은 인지·모니터링 필요 |
|
||||
| R-H5 | 가챠 도입 정책 리스크 | 낮음(부분 해소) | 낮음(무변경) | IAP 가격 미확정(§13-1) 잔존 |
|
||||
|
||||
---
|
||||
|
||||
## 15. 기각안 (C32 — v1 8건 승계 + v2 신규 6건)
|
||||
|
||||
**v1 §15의 8건은 무변경 승계**(천장 3안·상점풀 공유·등급 1:1매핑·forging 완전활성화·옵션 재계수화·빈슬롯 유지·대형목돈 스케일).
|
||||
|
||||
**v2 신규 기각안**:
|
||||
|
||||
| # | 검토안 | 기각 사유 |
|
||||
|---|---|---|
|
||||
| 9 | M-2: id10~15 EquipUpgrade 행 신설(①안) | §4-3 — 6종 신규 V(L) 곡선 도출은 §8 전체 재시뮬레이션을 요구하는 대형 스코프. 가챠의 "완성형 패키지" 정체성과도 상충. 강화 제외 가드(②안)가 더 자기완결적이고 M-2가 요구한 "루프 차단"을 직접 만족 |
|
||||
| 10 | M-4: 젬 직결제 완전 삭제(①안) | §5-1 — PD "특정 시점에만 유료 재화" 지시의 직접 대체결제 구조 자체를 없애 문자 그대로의 지시 위반 소지 |
|
||||
| 11 | M-4: 상점 골드팩 32:1 환율 조정(③안) | §5-1 — 이미 운영 중인 상점 콘텐츠(B1 단계부터)를 가챠 설계 문서에서 변경하는 것은 범위 초과, PD 확인이 별도로 필요해짐. 문제의 근본이 "가챠 젬가 산정 경로"에 있으므로 그쪽에서 자기완결적으로 해소하는 것이 C2 원칙에 더 부합 |
|
||||
| 12 | C-2: PowerScore에 옵션 슬롯 가치까지 산입해 통합 지표화 | §4-4 — B2가 정의한 PowerScore는 기본 스탯 전용 지표(옵션 개념 자체가 B2엔 없음). 통합 지표를 새로 정의하면 B2·C-2 감사가 준거로 삼은 원 지표와 어긋나 재검증 비용이 커진다. 대신 "기본 스탯 채널"(PowerScore)과 "옵션 채널"(슬롯수·값) 각각 독립 단조 증가를 보이는 것으로 충분(§4-4 보강 논거) |
|
||||
| 13 | C-3: 가챠 풀을 본 v2에서 즉시 확장해 완주선을 늦춤 | §8-2 — PM이 명시적으로 "본 v2에서 집행하지 말 것"으로 지정(C50 스코프 통제). §17 후속 옵션으로만 제안 |
|
||||
| 14 | M-7: 상점 daily_sword 등 기존 가격을 상향해 격차 축소 | §14 — 기존 상점가 변경은 가챠 설계 범위를 벗어나고(위 #11과 동일 논리), 격차 자체는 가챠 게임의 통상적 구조(확정구매=비싸고 낮은리스크, 확률뽑기=싸고 높은변동성)라 반드시 해소해야 할 결함이 아니라는 판단 — 리스크 등급 상향으로 인지만 표기 |
|
||||
|
||||
---
|
||||
|
||||
## 16. 변경 이력 (P16)
|
||||
|
||||
| 일시 | 작성 | 변경 | 근거 |
|
||||
|---|---|---|---|
|
||||
| 2026-08-22 | balance-designer | **v1 신규** — 재화 이원결제·천장 3안 비교(열쇠형 채택)·Grade3~6 도입·CSV 3종·옵션 4종 미소비 발견 | PD 지시 + PM 보강지시(천장 3안 비교) |
|
||||
| 2026-08-22 | balance-designer | **v2 신규 — plan-auditor 차단 반영**(v1 병존). Critical 3(옵션 미소비 배선·PowerScore 등급역전·경제주장 철회)·Major 7(Pity CSV 오류·강화루프·부위재배정·젬가재도출·라벨오류·원작이탈고지·리스크상향)·Minor 5·Improvement 3 전 18항목 반영. 독립 재검증 결과 감사 판정에 이견 없음(반박 없음) | PM 회송(plan-auditor 모드A 차단) — 감사결과 파일 `2026-08-22_P3B3_가챠_설계_v1_감사결과.md` 전문 반영 |
|
||||
|
||||
---
|
||||
|
||||
## 17. 후속 조치 (본 v2 범위 밖)
|
||||
|
||||
1. **plan-auditor 모드A 재검증** — 본 v2가 새 감사 대상. C35 의무 호출.
|
||||
2. **stun_rate 전투 로직 신설 여부**(§13-3) — system-designer·개발팀장 협의, 유일 잔존 미소비 옵션.
|
||||
3. **forging/reforging 활성화**(§13-4) — "재료" 자원 정의 선행.
|
||||
4. **젬 IAP 가격 확정**(§13-1) — PD 과금 정책.
|
||||
5. **M-6 3건 원작 이탈 PD 확인**(§13-5~7) — 승인/재조정 여부.
|
||||
6. **가챠 풀 확장(컨텐츠 깊이) — C-3 후속 옵션**(신규): §8-2가 정직 재기재한 "75~90회 완주선"을 늘리고 싶다면, 신규 Grade3~6 아이템 추가(content-designer 협업)로 수집 목표 자체를 확장하는 방향이 가능하다 — 본 v2는 PM 지시로 미집행(C50), 콘텐츠 배정과 재확률설계가 필요한 별도 스코프.
|
||||
7. **id10~15 Layer③ 강화 축 개방 여부**(§4-3 M-2 후속) — PD가 원할 경우 신규 EquipUpgrade 곡선 도출 + §8 재시뮬레이션을 동반하는 별도 서브페이즈.
|
||||
8. **I-3 전체 미집행분** — B1/B2/B4 전체 골드/파워 단가 교차비교(지표 이질성 해소 방법론 선행 필요).
|
||||
9. **개발팀장 구현 착수** — 본 v2 plan-auditor 통과 후, C49 표준(설계→검증→구현→PM 커밋).
|
||||
10. **R-H3 재검토 우선순위 상향** — C-1 배선 완료로 Grade6 중복 스택이 실제 전투에 영향을 미치게 됐으므로 플레이테스트 시 우선 확인.
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
# P3-B3 가챠 설계 v2 — plan-auditor 모드A 재검증 결과 (차단·회송)
|
||||
|
||||
> **작성**: plan-auditor 감사 원문 · PM 전재 2026-08-23 · **판정: 차단 (회송) — 개발팀장 구현 인계 부적격**
|
||||
> **대상**: `2026-08-22_P3B3_가챠_설계_v2.md` (433줄 전문) · 병행 기록 대화로그 §63·§64
|
||||
> v1 감사 18항목은 **실질 반영** — 가짜 반영·프레이밍 회피·산술 오류 0건·C-1 배선 코드 실측 동작 확인. 차단 = **수정이 낳은 신규 결함**(§4-3 옵션값·§5-1 젬가 2개 축). 우선순위 1·2는 **PD 결정 영역**.
|
||||
|
||||
---
|
||||
|
||||
## 1. 18항목 반영 완결성 (전수 대조)
|
||||
|
||||
집계: **완전 반영 13 · 부분 반영 2(M-2·I-3) · 반영했으나 신규 결함 유발 3(C-1→N-1·C-2→N-2·M-4→N-3/N-4)**.
|
||||
|
||||
- C-1 배선: `SurvivalBattleManager.cs:147` `PlayerAttack = SurvivalMeta.FinalAttack()` 실측 — 배선 전투 도달 ✓. `MasteryAttackRatio()` L443-446 패턴 일치. `GachaRolledOptions` 신규 필드라 **이중 계상 경로 없음** ✓
|
||||
- C-2: 45.0<55.0<75.0<85.0<130.0<205.0 재검산 일치(가챠 셋 내부 한정)
|
||||
- C-3: 8.9%·22.8%·17.1회·75.0회 독립 재계산 일치·자기인증 철회 정확
|
||||
- M-1: §10-3 2행 `2,4,2,0` ✓ / M-3: SurvivalSlot enum 6종 1:1 ✓ / M-5: §8-3 3행 재검산 일치 / M-6: §13-5·6·7 등재·3.8배 검산 일치 / M-7: 중~높음 상향·격차 확대(2.5→3.85배) 자진 고지
|
||||
- m-1~5·I-1·I-2 완전 반영(§9 주석+§10-2 변환 책임·217=5회 각주·개명 근거·회피 부재 확정·`SlotCountForGrade()` 순수함수·`[Serializable] GachaOptionRoll`·회차별 재평가 규약)
|
||||
|
||||
## 2. 회귀 검증 — 훼손 없음
|
||||
|
||||
천장 열쇠형 4/40 유지·풀 합 10000 유지(§10-1 v1 바이트 동일·Grade 배정 무변경으로 재계산 불요 정당)·원작 이원결제 유지·기각안 체계 강화(v1 8+v2 6=14건)·C39 실측 5건 전부 감사 재측정 일치·C6 통과(GodDem HEAD `d7519eb` 무변동).
|
||||
|
||||
---
|
||||
|
||||
## 3. Critical 3건 (신규 — v2 수정이 유발)
|
||||
|
||||
### N-1. 옵션 채널이 GodDem 승산항 예산 초과 — 배선 "크기" 미검증 【PD 결정 영역】
|
||||
`FinalAttack()` 승산항 가산 결합: `(1 + 승급 + 마스터리 + 가챠옵션)`. 실측 상한:
|
||||
|
||||
| 승산항 | 최대값 | 골드 비용 | 1.0 배율당 골드 |
|
||||
|---|---|---|---|
|
||||
| 승급 (B1) | 0.22 (star11) | 253,418G | 1,152,000G |
|
||||
| 마스터리 (B4) | 0.42 (grade6) | 526,680G | 1,254,000G |
|
||||
| 기존 합계 | **0.64** | 780,098G | 1,218,900G |
|
||||
| **가챠 옵션 (v2)** | **약 1.08** | **약 36,000G** | **33,333G** |
|
||||
|
||||
가챠 옵션 기대 합산(비복원 추출·stun 미배선 반영): G3 3.0%×2 + G4 9.0%×2 + G5 24.0% + G6 60.0% ≈ **+1.08**. **완주 36,000G로 승급+마스터리 합(+0.64·780,098G)의 1.7배·골드 효율 36.6배** — B1 승급 11성·B4 만렙이 반올림 오차化. v1 C-2와 동일 계열(셋 내부만 검증·층간 크기 누락). §12에 옵션 채널 절대 크기 행 부재.
|
||||
|
||||
**처리**: 값(200/400/800/1600)은 **원작 B-템플릿 raw값 그대로** → 임의 재계수화는 feedback_pd_directive_altered_to_rescale 항목 1 위반. balance-designer 자체 축소 금지 — **§13 8번 등재 → PD 택일**: "원작 유지 / GodDem 재계수화" (구체 수치 병기).
|
||||
|
||||
### N-2. 슬롯 단위 역전 — Hat에서 가챠가 강화된 상점템보다 약함 【designer 재량】
|
||||
비교 축 = 같은 부위의 **B2 강화(L16) 후** 기존 장비(v2는 미강화 G2 최대 id9=40.0만 대조):
|
||||
|
||||
| 부위 | 기존 L16 강화 후 PS | 가챠 | 가챠 PS | 판정 |
|
||||
|---|---|---|---|---|
|
||||
| Weapon | id2 42.0 (54,720G) | id12 G4 | 75.0 | 1.79배 |
|
||||
| **Hat** | **id6 50.25 (56,928G)** | **id10 G3** | **45.0** | **역전 −10.4%** |
|
||||
| Ring | id8 60.0 | id15 G6 | 205.0 | 3.42배 |
|
||||
| Boots | id5 30.0 | id11 G3 | 55.0 | 1.83배 |
|
||||
| Armor | id3 67.5 | id13 G4 | 85.0 | 1.26배 |
|
||||
| Charm | id9 120.0 (75,520G) | id14 G5 | 130.0 | **1.08배 박빙** |
|
||||
|
||||
id10 = Pool2 최다 빈출(28.05%)인데 강화 id6 대비 다운그레이드·강화 제외 가드로 회복 경로 없음. 원인 = PowerScore 목표를 등급별로만 설정·슬롯별 베이스라인 편차(30.0~120.0, 4배 폭) 미반영 — M-2·M-3 독립 결정·교차 미검증. **조치**: §4-4 목표를 슬롯별 기존 강화 후 베이스라인 대비 배수로 재설정(최소 id10 > 50.25·id14 마진 재검토).
|
||||
|
||||
### N-3. 시작 젬 300 + 13젬 단가 = 골드 획득 이전 74% 확률 Grade5+ 확보 【PD 결정 영역】
|
||||
`PlayerManager.cs:75` 신규 계정 젬 300 실측. v1(20젬): 15뽑기→P(Grade5+)=55.4% / **v2(13젬): 23뽑기→73.9%** — M-4 인하가 시작 젬 구매력 53% 증대. 파급: Grade6 Ring(205PS)은 타 경로 도달 불가 수치(기존 최고 id9 만렙 120PS)·R-B5 역할 분리 계정 생성 시점 무효화·B1/B2/B4 성장 곡선 출발점 붕괴.
|
||||
**정직 고지(C5)**: v1에도 존재(55.4%)·v1 감사가 놓침 — v2가 만든 게 아니라 **악화**시킴. §7 세그먼트 표에 시작 젬 300 미언급.
|
||||
**처리**: **§13 9번 등재 → PD 택일**: (1) 시작 젬 유지+가챠 접근 게이트(스테이지·레벨 조건) (2) 젬가 하한 (3) 시작 젬 조정((3)은 기존 상점 경제 변경 — designer 재량 밖).
|
||||
|
||||
---
|
||||
|
||||
## 4. Major 1 · Minor 4
|
||||
|
||||
- **N-4 (Major)**: 젬 단가 원작 이탈(20→13·÷32 재도출)이 §13 미등재 — M-6 자체 원칙("원작과 다른 지점 PD 확인 등재") 불일치. 과금 가격 변경이라 PD 관련성 최상. §13 4번째 이탈로 등재.
|
||||
- **N-5 (Minor)**: I-3 유보 사유("층간 지표 이질")가 B2에는 부적용 — B2·B3 동일 지표(PowerScore). 실측: B2 만렙 510,496G/297.0pt=**1,718.8 G/pt** vs B3 완주 36,000G/595.0pt=**60.5 G/pt** — **28.4배**. §12에 B2 대조 행 1줄 추가로 해소.
|
||||
- **N-6 (Minor)**: M-2 가드 UI 서술 불일치 — `SurvivalLobbyController.EquipUpgrade.cs:185-224` 실측: 강화 패널은 장착품 그대로 표시(카탈로그 순회 아님) → "강화 UI 진입 차단" 불성립. 실동작: Lv 0/16 표시·버튼 "MAX"·클릭 시 "강화가 최대입니다" Toast = **Lv 0에 거짓 표시**(가드레일이 막으려던 "실체 없는 어포던스" 계열). 부수: `itemId < 10` 매직넘버(→ `Grade >= 3` 또는 플래그 권고·C22)·**§4-4 id10~15 `SecondaryStatKey` 컬럼 영구 0 반환·UI "방어 +0.0%" 노출**(v1 M-2 귀결 #1 미해소 — 삭제 또는 미사용 명시)·"원천 차단" 표현 proxy 자기모순 정정 권고.
|
||||
- **N-7 (Minor)**: §8-3 표 헤더 5열·데이터 4값 열 밀림(수치는 전부 정확).
|
||||
- **N-8 (Minor)**: v1에 대체 배너 부재 — v1 헤더 "유일 산출물" 잔존·v2 참조 없음. v2가 다수 절을 "v1 승계·재게재 생략" 처리해 v1 필독 구조인데 v1에 폐기 확정값(§4-4 구 스탯·§7 구 젬가·§10-3 `2,4,2,5`·§8-2 철회 주장) 잔존 — 구현자 오독 위험. v1 상단 "🔴 v2로 대체 — §4-4·§7·§10-3·§8-2 폐기" 배너 1줄(C14-5 예외 허용).
|
||||
|
||||
---
|
||||
|
||||
## 5. 회송 처리 우선순위
|
||||
|
||||
| 순위 | 항목 | 주체 | 조치 |
|
||||
|---|---|---|---|
|
||||
| 1 | N-1 | **PD 결정** | §13-8 등재 — 옵션 raw값(2/4/8/16%) 이식 시 승산항 +1.08 vs 예산 0.64·골드효율 36.6배. 원작 유지 / 재계수화 택일 |
|
||||
| 2 | N-3 | **PD 결정** | §13-9 등재 — 시작 젬 300÷13젬=23뽑기·P(G5+)=73.9%. 게이트 / 젬가 하한 / 시작 젬 조정 택일 + §7 신규유저 행 |
|
||||
| 3 | N-2 | designer | §4-4 슬롯별 강화 후 베이스라인 대비 배수 재설정 |
|
||||
| 4 | N-4 | designer | §13 젬 단가 이탈 등재 |
|
||||
| 5 | N-5 | designer | §12 B2 대조 행(1,718.8 vs 60.5 G/pt) |
|
||||
| 6 | N-6 | designer | UI 실측 동작 정정+표시 규약·매직넘버·SecondaryStatKey 컬럼 처리 |
|
||||
| 7 | N-7·N-8 | designer | 표 열 정정·v1 대체 배너 |
|
||||
|
||||
## 6. 인계 적격 판정
|
||||
|
||||
**현 시점 부적격** — 구현 가능성 문제가 아니라(§10 CSV·§9 터치포인트는 실측 통과) **구현 결과가 day-one 경제 역전**(N-1 완주 시점 승산항 붕괴·N-3 계정 생성 시점 장비 붕괴). 경로 = §13 등재 → PM 취합 → **PD 상신 → 결정 반영** → 3~7 반영 v3 → 인계 적격 전환.
|
||||
|
||||
**v2 자체 평가**: 회피·왜곡·산술 오류 0건·근본 원인 정확 교체. 신규 결함 3건은 전부 "수정한 축은 맞게 고쳤으나 그 축이 다른 층과 만나는 지점 미재검증" 동일 패턴 — v3에서 반영 항목별 **층간 교차 영향 1문항** 자체 체크리스트 권고.
|
||||
|
|
@ -438,3 +438,48 @@
|
|||
- **pm-auditor 사전 감사(C35): 조건부 통과** — S1 매니페스트 등록(`2026-08-22_230748`) 해소. M1 PD 로그 P3-C 산출물 stale(v1 미구현 표기→v2·`d7519eb` 완료) / M2 사후조치 컬럼 stale(구 대기 "스케일 재조정" 해소·"P1 착수" 무효·gitignore/INDEX 완료 — PD 결정 대기 4건 현행화: XOR 키 보존·penetrate/ele·Stage55+·가챠 IAP) / m3 산출물 컬럼 재추출 4종·인수인계서 등재 — 마일스톤 append와 단일 편집 동시 정정 집행
|
||||
- **M3 천장 기각안 복원(C32)**: 재추출 §7-2는 히어로 표준(소프트10/하드30) vs 열쇠형(4/40) 2지 제시 — PM 위임 시 10/30 단일화로 기각안 소멸 지적. **PM 1차 선택 = 히어로 표준 10/30**(drawtype 102 libid 실측 확정치)·**기각안 = 열쇠형 4/40**(GodDem 가챠 결과물=장비/옵션 성격상 재평가 여지·balance-designer 판단 교체 허용). balance-designer에게 후속 전달·설계 문서 비교 판단 명기 지시
|
||||
- **감사관 자기 개정 상신**: pm-auditor 정의 "대화로그 3종 고정 태그" 체크 사문화(조직 전역 0건·P24→C32 흡수로 근거 소멸) — false positive 차단 위해 `.claude/agents/pm-auditor.md` 갱신 별건 안건
|
||||
|
||||
## 62. B3 가챠 설계 완료 — 열쇠형 천장 채택 + Grade3~6 신규 도입 (balance-designer, GodDem 수정 0건)
|
||||
|
||||
- **PD 원문(2026-08-22, 재추출v1 인용)**: "기존 원작의 로직을 살펴보고 동일하게 맞춰. 인게임 내 뽑기는 일반 골드를 쓰며 특정 시점에만 유료 재화를 쓰는 구조야. 제대로 실측해서 구현해야 해."
|
||||
- **선행 실측(C39)**: 재추출v1(가챠 SOT)·메타v1 §1-4·§5·B1/B2/B4/C 4종(골드 경제 앵커) 전문 Read + GodDem 코드 실측(`Constant.cs` GOLD_ID/GEM_ID·`SurvivalItemCatalog.cs`·`SurvivalShopCatalog.cs`·`SurvivalMeta.cs`·`SurvivalStatCatalog.cs`·`SurvivalUpgrade.cs`).
|
||||
- **PM 보강 지시(중도 수령) 처리**: §61 M3가 남긴 "천장 기각안 소멸" 지적(pm-auditor 감사) — PM 1차 권고(히어로 표준 10/30)를 단일 채택안이 아니라 **3안(히어로 표준·열쇠형·장비형) 비교 후 balance-designer 재량으로 재확정**하도록 지시받음. 3안을 결과물 유형·결제구조·P30 재미근거 3축으로 비교한 결과 **열쇠형(소프트4·하드40) 채택, 히어로 표준·장비형 기각**(사유는 아래 기각안 참조) — PM 1차 권고와 다른 결론이므로 §13 PD 확인 대기 항목에 재확인 권고로 명시.
|
||||
- **결정 요지**:
|
||||
1. 재화 = 골드(1차, 기존 GOLD_ID) + 젬(2차 대체, 기존 GEM_ID 재사용, 신규 재화 도입 없음)
|
||||
2. 천장 = 열쇠형(소프트4회·하드40회) — 원작 `dj_7011`(보물열쇠)이 "장비 뽑기 티켓"으로 명시 라벨링된 데이터 근거
|
||||
3. 등급 = Grade3~6 신규 도입(기존 Grade1~2=상점 전용과 역할 분리, B2 §8 forging 사다리 q2→q6과 정합)
|
||||
4. 단가 = 400골드/20젬(원작 젬단가 20젬을 그대로 포팅 + GodDem 자체 골드/젬 상점 교환비 20:1로 교차 도출)
|
||||
5. 옵션 4종(hit/stun/retaliate/combo) 값 = 원작 B-템플릿 raw값(200/400/800/1600) 그대로, GodDem 기존 `BasisPoint` 컨버전 재사용(재계수화 불요)
|
||||
- **실측 중 신규 발견(C39·C3, 은폐 없음)**: `hit_rate`·`stun_rate`·`retaliate_rate`·`combo_rate` 4종이 `SurvivalStatCatalog.cs` 정의부 외 코드베이스 전체에 소비처 0건 — B4가 발견한 `ele_*` 미소비 문제와 같은 계열이나, 이번은 상태이상·카운터·추가타 등 "전투에 아예 없는 신규 이벤트"라 잠정 배선할 기존 항조차 없음. 획득·저장까지만 본 설계로 완결, 전투 발동 로직 신설은 개발팀 후속 범위로 명시(설계 문서 §13-3·R-H1).
|
||||
- **기각안(C32 필수 필드, 공란 금지)**:
|
||||
1. 천장 = 히어로 표준(10/30) 채택 — 기각. 사유: 이 스케줄의 원작 결과물은 히어로 조각(수집형)인데 GodDem은 히어로 1명 구조라 결과물 유형이 대응하지 않음. 단 이 계열이 원작에서 유일하게 풀 가중치가 전량 실측된 데이터라 가중치 "형태"(등급별 상대 비중)만 열쇠형 카덴스에 재정합해 부분 차용(🟡 표기).
|
||||
2. 천장 = 장비형(62/100) 채택 — 기각. 사유: 결제구조가 젬 단일(골드/티켓 경로 없음)이라 PD "일반은 골드" 지시의 이원결제 조건 자체를 충족 못 함.
|
||||
3. Grade1~2 기존 상점 아이템을 가챠 풀에도 포함(상점·가챠 완전 공유) — 기각. 사유: 메타v1 R-B5가 이미 지적한 "가챠·상점 중복 판매 시 상점 가치 희석" 리스크 재현.
|
||||
4. forging/reforging(B2 §8 골격)을 본 문서에서 완전히 활성화 — 기각. 사유: forging의 "재료" 자원이 미정의라 신규 자원 도입이라는 별도 결정이 선행돼야 함(C50 범위 통제 + C10 중복 작업 방지, B2가 이미 가격을 매긴 부분).
|
||||
5. 옵션 4종 값을 B4의 "한계단가 균일화" 방식처럼 GodDem 자체 재계수화 — 기각. 사유: 옵션은 4종 모두 동일 확률로 추첨되는 "가챠" 성격이라 B4식 "구매 선택 균일화"가 적용될 지배 전략 문제 자체가 없음 — 원작 raw값을 그대로 쓰는 편이 더 정직·단순(C44).
|
||||
- **산출물**: `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v1.md`(전체 17절 — 재화매핑·천장 3안 비교·등급체계·공식·풀확률표·CSV 3종 스키마·경제시뮬레이션·검증시나리오·밸런싱제안표·PD확인4건·리스크5건·기각안8건·변경이력·후속조치7건)
|
||||
- **후속**: plan-auditor 모드A 검증(C35 의무 호출 대상, 부서 간 산출물 공유) → 개발팀장 구현(미커밋) → PM push = **원작 아키텍처 이식 5층 완성** → 전체 플레이테스트·PD 밸런싱 확인. PD 확인 대기 4건(젬 IAP 가격·천장 스케줄 재확인·옵션4종 전투로직 신설 여부·forging 활성화 여부)은 §13에 명시, PM 취합 후 PD 상신 필요.
|
||||
|
||||
## 63. B3 가챠 설계 v1 — plan-auditor 차단·balance-designer 회송 (2026-08-22)
|
||||
|
||||
- **plan-auditor 모드A 판정: 차단(회송)** — 구조·SOT 정합·기각안·천장 판단 교체(열쇠형 4/40, feedback 항목5 모범 준수)·R-H1 재현·경제 산술은 통과. 차단 = 수치·CSV·경제 주장 계층 5개 절(§4-4·§6-1·§8-2·§9·§10-3)
|
||||
- **Critical 3**: C-1 미소비 스탯(옵션 4종) 유료 판매 = `ValidateUpgradeCoverage()` 가드레일 정면 위반 + "배선 불가" 과잉 일반화(실측: retaliate/combo/hit 3종은 B4 선례 잠정 배선 가능·stun만 신규 로직) / C-2 등급-파워 역전(PowerScore: G6 55.0 < G4 92.5 < G5 100.0 — 등급별 상이 앵커·배수로 비교 가능성 미확보) / C-3 "인플레이션 흡수 이중화" 자기 인증(실계산: 가챠 생애 흡수 ~36,000G = 1회성 수집 컨텐츠·한계 효용 0)
|
||||
- **Major 7**: M-1 Pity CSV 2행 오기(GradeFloor 5→0) / M-2 EquipUpgrade id10~15 미커버(비용 0 무한 강화 루프·SecondaryStatKey 무효) / M-3 부위 배치(2종 즉시 사장·Hat/Boots 미커버) / M-4 젬 직결제 지배전략 소멸(gold_48000 32:1) / M-5 하드천장 라벨 리셋 규칙 모순 / M-6 원작 이탈 3건 PD 확인 미표기(Pool1 티어 3.8배 관대화 등) / M-7 상점 가격축 지배(R-B5)
|
||||
- **감사 전문 전재**: `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v1_감사결과.md`(Minor 5·Improvement 3·처리 우선순위 포함)
|
||||
- **PM 회송 지시**: v2 신규(v1 병존·B2/C 선례)·전 항목 반영(이견은 반박 필드 명기)·재량 결정 3건(M-2 커버리지 택1/M-4 젬 라인 택1·상점 수정 필요 시 PD 확인 등재/C-3 주장 철회 기본·풀 확장은 C50상 제안만)·C-1 잠정 배선 3종+stun PD 확인 분리·C-2 PowerScore 단일 지표 재도출+M-3 부위 재배정·M-6 3건 §13 등재
|
||||
|
||||
## 64. B3 가챠 설계 v2 완료 — 감사 18항목 전 반영·재량 결정 3건 확정 (balance-designer, GodDem 수정 0건)
|
||||
|
||||
- **선행**: 감사 전문(`_감사결과.md`) 전문 Read 완료. Critical 3건·Major 7건 핵심 수치(8.9%·22.8%·17.1회·3.8배 관대화·32:1 환율 등)를 전부 **독립 재계산으로 재확인** — 감사 판정과 이견 없음, 반박 필드 불요(v2 §0에 명시).
|
||||
- **재량 결정 3건**:
|
||||
1. **M-2 Layer③ 커버리지 = 강화 제외 가드 채택**(EquipUpgrade 행 신설 기각). `CanUpgradeEquip()`에 `itemId<10` 조건 1개로 비용0 무한 루프 원천 차단. 신설안은 §8 전체 재시뮬레이션을 요구하는 대형 스코프이자 "가챠=완성형 패키지" 정체성과 상충해 기각.
|
||||
2. **M-4 젬 라인 = 할인율 차등(젬가 재도출) 채택**(직결제 삭제·상점 32:1 조정 기각). 젬가=골드가÷32(상점 최고효율 환율 그대로 채용)로 재도출 — 단차 20→13·10연 200→125·100연 1,800→1,125젬. 기존 상점 무변경이라 PD 확인 불요(PM 지시 조건 미해당). 직결제 삭제는 PD "특정 시점 유료" 지시 위반 소지로 기각, 상점 환율 조정은 범위 초과로 기각.
|
||||
3. **C-3 처리 = 흡수 창구 주장 철회 + 정직 재기재**(풀 확장 미집행, C50). "인플레이션 흡수 이중화"를 "완주선(75~90회≈30,000~36,000G) 뚜렷한 유한 수집형 컨텐츠"로 정정 — B1·B2·B4와 동일한 "유한 목표형" 유형이었다는 재평가. 풀 확장(컨텐츠 깊이)은 §17 후속 옵션으로만 제안.
|
||||
- **C-1 재작성**: retaliate/combo/hit 3종 = B4 `MasteryAttackRatio()` 선례 그대로 `GachaAttackRatio()` 신설 배선(공격 비율 항 합산). stun_rate 1종만 상태이상 시스템 부재로 미배선·PD 확인 잔존(§13-3).
|
||||
- **C-2 재도출**: PowerScore(Attack+Hp/4) 단일지표로 6종 전면 재설계, G3(45·55)<G4(75·85)<G5(130)<G6(205) 단조 증가 확보. M-3 동시 해결 — id10→Hat·id11→Boots 재배정으로 6부위(Weapon·Hat·Ring·Boots·Armor·Charm) 1:1 커버, 동일부위 중복 사장 해소.
|
||||
- **M-1·m-1~5·I-1~3 전량 반영**: Pity CSV GuaranteedGradeFloor 5→0 정정 / `/10000f` 변환 책임을 `SurvivalGachaTable` 자체로 명시 / 217=5회 각주 정밀화 / 필드 개명 근거 명기 / hit_rate 대칭배선 대신 GachaAttackRatio 통합 / `GachaOptionSlots` 미사용 필드 제거 / ValueTuple→`[Serializable] GachaOptionRoll` 클래스 전환(AOT 리스크 회피) / 10·100연 배치 회차별 순차 재평가 명시 / B3 자체 G/PowerScore 단가(60.5G/pt) 산출.
|
||||
- **M-6 PD 확인 3건 신규 등재(§13)**: ① Pool1 구성이 원작 대비 약 3.8배 관대화(q3+q4 26.3%→100% 재정규화) ② 10연 상품이 열쇠형(1301/217) 원 데이터가 아니라 기각한 장비형(212) 계열 구조 차용 ③ 원작 212(10연)는 천장 미적용 고정형인데 본 설계는 전 상품 통일 천장 적용 — 3건 모두 의도된 설계 선택이나 PD 인지·승인 필요.
|
||||
- **M-7**: R-H4(젬 경제 이중 소모처) "낮음~중"→"중~높음" 상향. M-4 해소로 단차 젬가가 더 낮아져(20→13) 상점 대비 가격격차가 2.5배→3.85배로 오히려 확대된 부작용을 투명 인지.
|
||||
- **기각안(C32 필수 필드, v1 8건 승계 + v2 신규 6건 — 상세는 설계 문서 §15)**: EquipUpgrade 신설안·젬 직결제 삭제안·상점 환율 조정안·PowerScore에 옵션가치 통합산입안·본 v2 내 풀 즉시확장안·상점가 상향안 — 전부 사유와 함께 기각(스코프 초과·PD지시 위반소지·감사 준거지표 이탈·PM 명시 미집행지정 등).
|
||||
- **산출물**: `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v2.md`(신규, v1과 병존, 17절, 감사 18항목 전 매핑표 §0)
|
||||
- **후속**: plan-auditor 모드A 재검증(C35 의무, 본 v2가 신규 감사 대상) → 통과 시 개발팀장 구현(미커밋) → PM push = 5층 완성. PD 확인 대기 7건(젬IAP가격·천장재확인·stun로직·forging활성화·M-6 3건) §13에 집약, PM 취합 후 PD 상신 필요.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
# GodDem 대화로그 — 2026-08-23
|
||||
|
||||
> §번호는 프로젝트 누적 연속 (2026-08-22.md §64에서 이어짐)
|
||||
|
||||
## 65. B3 v2 재검증 차단 — 신규 Critical 2건 PD 결정 영역 상신 (2026-08-23)
|
||||
|
||||
- **plan-auditor v2 재검증: 차단(회송)·구현 인계 부적격** — v1 지적 18항목은 실질 반영(가짜 반영·산술 오류 0건·C-1 배선 코드 실측 동작 확인·회귀 훼손 없음). 차단 = **수정이 낳은 신규 결함**: 전부 "고친 축이 다른 층과 만나는 지점 미재검증" 패턴
|
||||
- **N-1 【PD 결정】**: 옵션 4종 원작 raw값(슬롯당 2/4/8/16%) 이식 시 가챠 승산항 **+1.08** vs 기존 예산 0.64(승급 0.22+마스터리 0.42) = 1.7배·골드 효율 36.6배(36,000G vs 780,098G). 임의 재계수화는 feedback_pd_directive_altered_to_rescale 금지 영역 → PD 택일(원작 유지/재계수화)
|
||||
- **N-3 【PD 결정】**: 신규 계정 시작 젬 300(PlayerManager 실측)÷젬가 13 = 23뽑기 → **골드 1G 벌기 전 P(Grade5+)=73.9%**(v1 20젬 기준으로도 55.4% — v1 감사 누락 정직 고지·M-4 인하가 악화). Grade6 Ring 205PS는 타 경로 도달 불가·B1/B2/B4 출발점 붕괴 → PD 택일(접근 게이트/젬가 하한/시작 젬 조정)
|
||||
- **designer 재량 5건**: N-2 슬롯 단위 역전(Hat: 가챠 id10 45.0 < 강화 id6 50.25·Charm 박빙 1.08배 — 슬롯별 베이스라인 대비 재설정) / N-4 젬 단가 이탈(20→13) §13 미등재 / N-5 B2 대조(1,718.8 vs 60.5 G/pt = 28.4배) / N-6 강화 UI 실측 불일치(Lv0에 "MAX" 거짓 표시·SecondaryStatKey 영구 0 잔존·매직넘버) / N-7·N-8(표 열·v1 대체 배너)
|
||||
- **감사 전문 전재**: `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v2_감사결과.md`
|
||||
- **PM 조치**: ①balance-designer v3 착수(재량 5건 + §13에 N-1·N-3·N-4 등재 + N-1 재계수화 제안치 사전 산출 — PD 택일 즉시 확정 가능하게) ②PD 상신 2건(AskUserQuestion) — PM 권고: N-1 재계수화((A) 형태 이식 방침 정합 — 절대치 재산정 승인 선례·B1/B2/B4/C 일관)·N-3 접근 게이트(원작도 heroconst hero_sys_unlock_level=3 시스템 언락 게이트 실측 존재·기존 경제 무변경·유일하게 v1 55.4% 문제까지 근본 해소) ③v1·v2·감사 2종 커밋·push
|
||||
Loading…
Reference in New Issue