# StatArena 게임 설명 · How it plays

**Audience:** ops / sales / partners (PDF later)  
**Also:** marketing page [`/guide`](https://arena-soft.com/guide) · alias `/how-it-plays`  
**KO primary** · EN sections below each block

---

## 한 줄로

끝난 공식 투구·슛을 **짧은 라운드(~30초)** 로 다시 펼쳐 보는 B2B 마이크로 마켓.  
진행 중 생중계가 아닙니다. 커밋–리빌로 결과를 먼저 잠그고, 익명 → 스킬 등급 → 리빌 순으로 공개합니다.

**EN:** Historical pitches/shots in short commit–reveal rounds — not a live game in progress. Anonymous board + season skill grades while open; identity and result reveal together after lock.

---

## 리플레이란

| KO | EN |
|----|----|
| 이미 끝난 공식 플레이바이플레이 풀에서 라운드를 뽑아요. | Rounds come from finished official play-by-play history. |
| 각 라운드는 실제로 있었던 투구 또는 슛입니다. | Each deal is a real pitch or shot that already happened. |
| 지금 하는 경기를 스트리밍하지 않습니다. | We do not stream an in-progress broadcast. |
| 오프시즌·라이브 공백에도 보드를 열 수 있어요. | Board stays bettable in the off-season and between live windows. |

---

## 공정성: 커밋 → 베팅 → 리빌

1. **커밋** — 베팅이 열리기 전에 서버가 결과를 커밋으로 잠급니다.  
   **EN:** Outcome is committed before betting opens — not invented after you pick.
2. **익명 보드** — 라운드 오픈 중에는 이름 대신 플레이스홀더 (타자 A / 투수 B, 슈터 / 수비).  
   **EN:** Placeholders only while open (Batter A / Pitcher B, Shooter / Defense).
3. **스킬 등급** — 시즌 성적 기반 Bronze / Silver / Gold (표본 부족 시 N/A).  
   **EN:** Season-stat tiers — signal without leaking identity.
4. **리빌** — 락 이후 이름·팀·결과·검증 경로가 한 번에 공개.  
   **EN:** After lock, names, teams, result, and verify path land together.

상세 제품 규칙: [REPLAY-UX.md](./REPLAY-UX.md) · 사이클: [ROUND-CYCLE.md](./ROUND-CYCLE.md)

---

## 라운드 사이클 (~30초)

| 구간 | 기본 | 플레이어가 보는 것 |
|------|------|-------------------|
| 베팅 | ~15초 (`BET_WINDOW_MS`) | 선택 · 칩 스테이크 · 확정. 슬립 활성. |
| 결과 | ~15초 (`RESULT_WINDOW_MS`) | 슬립 잠김 → 짧은 리빌 → 정산 → 다음 익명 매치업 |

**EN:** ~15s bet window + ~15s result window ≈ 30s full cycle. Slip blurs at lock; next deal only after `cycleEndsAt`.

---

## MLB 마켓

야구 마켓 **10종** 전부. `/guide` MLB 섹션 카드와 동일.

### Core

| mode | KO | EN | 선택 코드 |
|------|----|----|-----------|
| `three_way` | 3웨이 투구 — 다음 투구 → 스트라이크 / 볼 / 인플레이 | 3-WAY Pitch — next pitch → Strike / Ball / In-play | `S` · `B` · `IP` |
| `four_way` | 4웨이 투구 — 파울을 스트라이크와 분리 | 4-WAY Pitch — Foul is its own bucket | `S` · `B` · `F` · `IP` |
| `atbat` | 타석 결과 — 삼진 / 인플레이아웃 / 출루 | At-Bat — plate appearance → SO / IPO / OB | `SO` · `IPO` · `OB` |

### Advanced

| mode | KO | EN | 선택 코드 |
|------|----|----|-----------|
| `pitch_group` | 구종 그룹 — 패스트볼 vs 오프스피드 | Pitch Group — Fastball (FB) vs Offspeed/Breaking (OS) | `FB` · `OS` |
| `velo_ou` | 구속 오버/언더 93 — 93mph (~150km/h) 기준 | Velocity O/U 93 mph | `O` · `U` |
| `count_special` | 초구 (0-0) 4웨이 — 0-0 초구만 | First Pitch (0-0) 4-WAY | `S` · `B` · `F` · `IP` |
| `two_strike` | 투스트라이크 투구 — 2S 상황 다음 투구 | Two-Strike Pitch 3-WAY | `S` · `B` · `IP` |
| `swing_miss` | 헛스윙 vs 그 외 | Whiff vs Not | `WHIFF` · `NOT` |
| `late_inning_three_way` | 후반 이닝 3웨이 — 7회+ 투구 | Late Inning 3-WAY (inn≥7) | `S` · `B` · `IP` |
| `atbat_ob_type` | 출루 유형 — 볼넷 / 안타 / 기타 | OB Type — Walk / Hit / Other | `BB` · `HIT` · `OTHER` |

**EN:** All 10 baseball modes are listed as cards on `/guide`. Advanced modes need pool fields (count, inning, pitch type, velocity, OB events).

---

## NBA 마켓

| mode | KO | EN | 선택 코드 |
|------|----|----|-----------|
| `basket_shot` | 자유투 성공/실패 | Free throw make/miss | `MADE` · `MISS` |
| `is_three` | 3점 시도 여부 (성공 여부 무관) | Is the attempt a 3PT? | `Y` · `N` |
| `three_make` | 3점 시도만 → 성공/실패 | 3PT attempts only → make/miss | `MADE` · `MISS` |
| `clutch_shot` | 4쿼터 슛 → 성공/실패 | 4th-quarter shot → make/miss | `MADE` · `MISS` |

---

## 칩 · 비드 · 공식 기록

- **칩** — 탭으로 스테이크 설정 (초기화 / ½ / 2×). 기본 탭은 스테이크 교체.  
  **EN:** Chip taps set stake; clear / half / double available.
- **비드 히스토리** — 로드형 비드 플레이트. 라운드 사이 최근 결과 스캔.  
  **EN:** Road-style bead plate between rounds.
- **공식 기록** — 리빌 후 검증 URL이 있으면 원본 플레이로 이동.  
  **EN:** Official record button opens the source play when available.

---

---

## 경험 비율 · 로드 연속 (empirical base rates)

배당/샘플링은 **풀에서 관측된 비율**을 따릅니다. Asia/LIVE 가짜 데이터를 넣지 않습니다.

| mode | 대략적 풀 비율 (엔진 fallback / 스캔) | 짧은 로드에서 보이는 현상 |
|------|--------------------------------------|---------------------------|
| `swing_miss` | WHIFF ≈ 12% · NOT ≈ 88% | NOT 연속(maxRun 十几)이 자연스럽게 자주 보임 — 시드 모노 버그 아님 |
| `velo_ou` | U/O 는 93mph 라인 주변; 샘플창에서 U 쪽 살짝 많을 수 있음 | n=50에서  Mild imbalance 가능 |
| `is_three` | N(비-3점) 비중 > Y | N-heavy 짧은 창 |
| `three_make` | 3PT 시도만; MISS > MADE (리그 3P% 반영) | MISS-heavy 짧은 창 |

**EN:** Odds use empirical pool scans (fail-closed if pool empty). Short bead roads for rare outcomes (esp. `swing_miss` WHIFF) look streaky by Bernoulli math — not a frozen-seed bug (cycle material `:c…` present). We do **not** invent Asia rows to “balance” boards. Long-run EV tracks pool rates; optional short-window stratified sampling was **not** applied (would distort short-run feel vs posted odds).

검증: `GET /api/v1/rounds/history?mode=swing_miss&limit=50` 분포 ≈ 풀 비율; seedHint에 `:c` 버킷.

UI: Play 화면 **공정성 확인 / Fairness check** 폴드에 동일 one-liner 표시 (홈 `fairnessOpsNote`도 동일 취지). **가짜 Asia/풀 데이터 없음.**

---

## 지금 열려 있는 것

| 항목 | 상태 |
|------|------|
| MLB Replay · NBA Replay | 이벤트 풀 라이브 (스테이징) |
| Asia (KBO / NPB / KBL 등) | **Coming soon** — 선수 행을 가짜로 채우지 않음 |
| LIVE 탭 | **SIM only** — 히스토리 투구 + 인공 지연, 워터마크. 실방송 피드 아님 |

**EN:** Only MLB/NBA pools are live today. Asia unlocks with licensed data. LIVE = SIM watermark — not a live broadcast.

---

## 데모 · 링크

- 마케팅 가이드: `/guide` (alias `/how-it-plays`)
- 데모 로비: `/lobby`
- MLB / NBA 플레이: `/play/mlb` · `/play/nba`
- 세일즈 원페이지: [SALES-ONEPAGER.md](./SALES-ONEPAGER.md)
- 파트너 런치: [PARTNER-LAUNCH.md](./PARTNER-LAUNCH.md)

스테이징 예: `https://arena-soft.com/guide`
