# V2 Content Production Model — Roster, Mocap, VO, Art Math

Status: planning baseline, adopted 2026-06-12. Fills the "no content
production plan (mocap hours, VO throughput for ≥ 60 fighters × ≥ 8 locales)"
gap identified by `V1_V7_PLAN_SET_AUDIT_2026-06-12.md` §6.2.

Inputs: per-fighter content floor (`V2/V2_features.md:1023-1025` — ≥ 4
specials, ≥ 2 supers, ≥ 2 finishers, ≥ 4 alt costumes, ≥ 3 taunts), signature
library (`:1049-1066`), VO quote floors (`:1003-1006`), asset budgets
(`:2538-2541` — anim package ≤ 80 MB/fighter, audio bank ≤ 50 MB/locale,
≤ 80k tris LOD0), locale plan (`:2445`, `:2454-2455` — 18 locales, full VO in
≥ 8), roster (`V2LaunchRosterData.cpp:563-626`).

Every number below is a **planning assumption adopted 2026-06-12** unless it
cites a spec line; each assumption shows its derivation. Owner-roles: **PD**
Production Director (model owner), **AD** Art Director, **AnD** Animation
Director, **AuD** Audio Director, **LOC** Localization Manager, **MS** Mocap
Stage Supervisor.

---

## 1. Per-fighter animation seconds

Derivation of unique authored animation per roster fighter:

| Block | Derivation | Seconds |
| --- | --- | --- |
| Normals / command normals / throws | ~60 attack animations (per-ruleset normals share a base set; V2 fighters fight in multiple rulesets so the base set is larger than a single-lineage fighter's) × 1.2 s avg | 72 |
| Special moves | spec floor ≥ 4, plan 6 typical × 2.5 s (startup + active + recovery + move-specific hit react) | 15 |
| Supers | ≥ 2 × 8 s cinematic avg | 16 |
| Finishers | ≥ 2 × 12 s, authored as **paired** two-character animations | 24 |
| Movement & defense set | idle-to-locomotion, walk F/B, dash F/B, jumps ×3, crouch transitions, blocks ×3, ~20 hit reactions (L/M/H × head/body, crumple, launch, juggle, knockdown ×2, wake-up ×2, air-recover), throw + escape — ~50 anims × 1.0 s avg | 50 |
| Signature library (`V2/V2_features.md:1053-1056`) | unique idle loop 10 s + 3 taunts × 2.5 s + intro pose 5 s + 3 victory poses × 4 s + defeat/KO 3 s + knockdown/wake-up variation 4 s + slip/dodge/sidestep 3 s + pursue/air-recover/dust 4 s | 48.5 |
| Intro / victory / defeat montages (`:1023-1024`) | 10 + 10 + 5 | 25 |
| **Total per fighter** | ~230 individual animation assets | **≈ 250 s** |

Alt costumes (≥ 4) share the skeleton and animation set — they cost **art**
(§3) and cloth simulation setup, not animation seconds. Sanity check against
the asset budget: 250 s of compressed skeletal animation + curves fits the
≤ 80 MB anim package (`V2/V2_features.md:2540`) with ~3× headroom.

## 2. Mocap stage-day math

Planning assumptions (derived from standard fighting-game capture practice:
combat capture needs stunt performers, fight choreography rehearsal, and high
take counts for crisp silhouettes):

- **40 takes/day**, of which **25 usable selects/day** after review.
- **3 s of retained animation per usable select** (combat moves are short;
  much of a take is reset/approach).
- → **75 retained seconds per stage-day**.
- 70% of the 250 s/fighter is mocap-sourced (175 s); the rest (supers,
  juggle-physics reactions, finisher VFX beats) is hand-keyed.

Per fighter:

- Combat capture: 175 s ÷ 75 s/day ≈ **2.3 stage-days**
- Personality capture (idle, taunts, intros, victories — usually with the
  character's movement actor): **0.5 stage-day**
- Paired finisher capture (two performers, rigging, slower): **0.7 stage-day**
- **≈ 3.5 stage-days per fighter**

| Roster | Fighter capture | Shared sets (universal normals, generic reactions, crowd) | Total stage-days |
| --- | --- | --- | --- |
| 24 fighters | 24 × 3.5 = 84 | 10 | **94** |
| 60 fighters | 60 × 3.5 = 210 | 10 | **220** |

Stage availability: a dedicated stage runs 4 capture days/week × 46 weeks =
**184 stage-days/year** (the 5th day is rigging/turnaround). So the 60-fighter
roster is **~14 months of one dedicated stage, or ~7 months with two stages/
crews**; 24 fighters is ~6 months of one stage. Owner: **MS**, with **AnD**
on selects.

**Cinematic capture is separate and larger** (§4): at a planning rate of
1 stage-day per 2 finished cinematic minutes (performance capture with face
+ audio), the uncut P1 cinematic load of ~930 min ≈ **465 stage-days** — more
than double the roster capture. This forces either a performance-capture
vendor contract in addition to the in-house stage, or the cinematic de-scope
in `minimum-lovable-launch.md` §2 (MLL-2a).

## 3. Character-art pipeline

Per-fighter derivation (to the ≤ 80k tris LOD0 / ≤ 64 MB texture budget,
`V2/V2_features.md:2538-2539`, with LOD chain to LOD3/impostor):

| Stage | Artist-weeks |
| --- | --- |
| Concept (explorations → turnaround sheet, incl. legal-distinctiveness review per `rights-strategy.md` §5.3) | 4 |
| High-poly sculpt → retopo → bake → texture (LOD0-LOD3) | 10 |
| Rig + skinning + facial rig (`V2/V2_TODOS.md` §4.6) | 5 |
| Cloth / hair / soft-body setup (§4.5) | 3 |
| 3 alt costumes × 40% of the 14 costume-relevant weeks (concept/model/texture/cloth) ≈ 5.6 wk each | 17 |
| **Total** | **≈ 39 artist-weeks ≈ 9 artist-months** |

Elapsed pipeline duration per fighter (concept lock → in-game with alts,
stages overlapped across 2-3 artists): **~5-6 calendar months**. Outsourcing
expectation: 60-70% of sculpt/texture/alt-costume weeks to external vendors
(industry-normal for this volume), with internal **AD**-owned review gates.

## 4. Cinematics load (the hidden giant)

| Item | Spec | Finished minutes (60 fighters) |
| --- | --- | --- |
| Arcade endings | 60 s cinematic each (`V2/V2_features.md:1070`) | 60 |
| Story mode | branching cinematic story (§20); planning assumption 150 min |
| Per-fighter Side Stories | "1-2-hour standalone cinematic + 3-5 fight chapters" each (`:1072-1074`); planning assumption 12 cinematic min per side story | 720 |
| **Total uncut P1** | | **≈ 930 min** |

At a planning rate of **1 person-month per finished in-engine cinematic
minute** (≈ 21 person-days covering previz, capture share, layout, animation
polish, lighting, FX, audio mix — mid-AAA in-engine quality), uncut P1
cinematics cost **≈ 930 person-months (~78 person-years)** — comparable to
the entire 60-fighter roster. This is the single largest content line in P1
and the designated first internal cut (MLL-2a ships side stories for 16
fighters: 150 + 60 + 192 = **402 min ≈ 402 pm**). Tracked as risk R-06 in
`program-risk-register.md`.

## 5. Per-fighter total and roster envelopes

Per-fighter all-in (planning assumption adopted 2026-06-12, sum of §1-§3 plus
implementation):

| Discipline | Person-months |
| --- | --- |
| Character art (§3) | 9.0 |
| Animation polish: 250 s ÷ 3 s/animator-day (high-fidelity combat polish rate) ≈ 83 days | 4.0 |
| Combat design + GAS implementation + frame data + balance | 2.5 |
| Per-fighter audio (impact stings ≥ 8, theme + 3 variants, foley — `V2/V2_features.md:1057-1059`) | 1.0 |
| Per-fighter QA (signature checklist cert pass, `:1064-1066`) | 1.5 |
| **Total** | **18 pm/fighter** |

| Roster | Effort | At steady staffing | Velocity |
| --- | --- | --- | --- |
| 24 fighters | 432 pm = 36 person-years | 24 FTE over 18 months | 1.3 fighters/mo |
| 36 fighters | 648 pm = 54 person-years | 36 FTE over 18 months | 2.0 fighters/mo |
| 60 fighters | 1,080 pm = 90 person-years | **45 FTE over 24 months** | **2.5 fighters/mo** |

Pipeline depth check: at 2.5 fighters/month completing, with ~9 calendar
months elapsed per fighter, **~23 fighters are in flight simultaneously** at
60-scale — the staffing must support that WIP width (concept, sculpt, rig,
capture, polish, implementation, QA lanes all occupied). The 2.5/mo figure is
the velocity constant used by the MLL gates
(`minimum-lovable-launch.md` §4 G2).

Comparables for honesty: SF6 launched with 18 fighters, MK1 with ~23,
Tekken 8 with 32. **60 at launch is 2-3× anything the genre has shipped this
generation** — which is exactly why the MLL ladder exists.

## 6. VO math: lines × locales × throughput

Per-fighter line count per locale (derivation from spec floors):

| Category | Derivation | Lines |
| --- | --- | --- |
| Win / loss / draw quotes | ≥ 30 + ≥ 15 + ≥ 5 (`V2/V2_features.md:1003-1005`) | 50 |
| Per-matchup win quotes | 1 × 59 opponents (`:1006`) | 59 |
| Mid-fight barks | 8 trigger categories (`:1001-1002`) × 4 variants | 32 |
| Battle efforts (attacks, hits, jumps, throws, KO screams) | ~60 |  60 |
| Intros (generic, mirror, rival, final-round, comeback — `:999-1000`) | ~20 | 20 |
| Codec / between-round bites (`:1013`) | ~10 | 10 |
| Arcade ending narration 30 s (`:1070`) | ~6 | 6 |
| Side Story dialogue (1-2 h experience, `:1072`) | ~150 | 150 |
| Story mode share (average across cast) | ~50 | 50 |
| **Total** | | **≈ 437 → plan 450** |

Volume:

- 60 fighters × 450 = **27,000 lines per locale** (roster only).
- Announcer + commentary teams + World Tour/hub NPCs + system VO: +40%
  overhead → **≈ 38,000 lines per locale** full program.
- Full VO in ≥ 8 locales (`:2454`) → **≈ 300,000 recorded lines**; the
  remaining 10 of the 18 launch locales are subtitle-only (`:2454-2455`).

Throughput (planning assumption: a 4-hour session yields 60-80 finished
performance lines or 150+ efforts; two sessions/studio-day; blended **120
finished lines/studio-day**):

- Roster-only: 27,000 ÷ 120 = **225 studio-days per locale**.
- Full program: 38,000 ÷ 120 = **≈ 317 studio-days per locale**; with 2
  parallel rooms per locale (≈ 42 studio-days/month) → **~7.5 months per
  locale**, locales run concurrently through regional vendors.
- 8 locales total: **≈ 2,500 studio-days** booked across vendors.

Casting: ~50 principal actors per locale (some doubling) × 8 locales ≈ **400
actor contracts**, plus announcer/commentary casts. Contract terms must
include the AI-voice consent and strike-contingency clauses flagged in
`program-risk-register.md` R-08. Audio-bank budget check: 450 lines + efforts
compresses comfortably inside the ≤ 50 MB/locale bank
(`V2/V2_features.md:2540-2541`). Owner: **AuD** + **LOC**.

## 7. Stages

Per-stage planning assumption: **7.5 artist-months average** (range 5-12)
to the ≤ 4M tris / ≤ 256 MB / GPU ≤ 4 ms budget (`V2/V2_features.md:2542-2543`),
including interactables, destruction lifecycle, day/night variants, crowd
systems (`:1085-1103`). 30 stages = **225 pm ≈ 19 person-years**; 12 stages
(MLL-0) = 90 pm. At a 9-10 person environment team: 30 stages ≈ 24 months.

## 8. Team-size / calendar envelope summary

| Scope | Roster | Stages | Cinematics | Content total | Average content FTE (24-mo window) |
| --- | --- | --- | --- | --- | --- |
| MLL-0 (24 ftr, 12 stg, endings only) | 432 pm | 90 pm | 24 pm | **≈ 546 pm (46 py)** | ~23 over 18 mo (incl. mocap+VO crews) |
| MLL-1 (36 ftr, 18 stg, Act 1 + 12 side stories) | 648 pm | 135 pm | 225 pm | **≈ 1,008 pm (84 py)** | ~42 |
| MLL-2a (60 ftr, 30 stg, 16 side stories) | 1,080 pm | 225 pm | 402 pm | **≈ 1,707 pm (142 py)** | ~71 |
| MLL-2 uncut (60 ftr, 30 stg, all side stories) | 1,080 pm | 225 pm | 930 pm | **≈ 2,235 pm (186 py)** | ~93 |

These are **content-production figures only** — systems engineering (GAS,
rollback, 7 rulesets, creator suite, online services, open-world modes),
shared art (UI, VFX libraries), and overhead are additive and largely
tier-invariant; the program-level totals are assembled in
`market-rationale.md` §5. Velocity, stage-day, and studio-day actuals from
the first 8 production fighters recalibrate every constant in this document
(**PD** owns the recalibration; cadence quarterly).
