Fighting Game · Guides & deep dives

Calliope Commentator Personas

A guides & deep dives document in the Fighting Game library.

0sections1 minread

On this page

V2 launch commentators are authored as @calliope/persona-live AI artists in V2/ue/Content/V2/Audio/Commentary/commentator-personas.json and validated by @v2/calliope-commentator-personas.

Each persona must carry:

  • cleared @iris/voice voice clone metadata with watermarking and abuse monitoring;
  • Calliope brand metadata: booth role, tone pillars, ruleset expertise, approved catchphrases, prohibited claims, sponsor boundaries, and AI disclosure label;
  • talent signoff covering V2 commentary, voice clone, brand metadata, likeness, and fallback-bank scopes;
  • deterministic fallback bank metadata keyed by (cueKind,ruleset,commentatorId,seed);
  • gameplayInert: true and output channels limited to audio and subtitle.

V2Audio consumes the same launch roster through BuildDefaultCommentaryPersonas() and rejects personas whose voice clone, brand metadata, talent signoff, or fallback bank metadata are incomplete. V2Services registers the calliope-persona-live adapter as a Calliope domain service that stays outside rollback and does not run on dedicated servers.

The four launch banks are source-controlled under V2/ue/Content/V2/Audio/Commentary/FallbackBanks/, with 24 authored lines per persona and at least two choices for every supported cue kind. The TypeScript cook boundary and Python CI checker recompute SHA-256 over exact file bytes, reject repeated-character placeholders, verify bank identity and coverage, and require the manifest and Unreal defaults to carry the same hash and line count. Runtime fallback choice is a deterministic SHA-256 selection over the full (cueKind,ruleset,commentatorId,seed) identity. These banks are presentation-only and are not rollback simulation state.

CI runs V2/ue/Tools/check-v2-calliope-commentator-personas.py to verify the Calliope schema, V2 manifest, TypeScript package, Unreal audio consumer, service adapter, docs, and checklist state.