Define the Approved Interactive Game Moment

A game voice asset serves an already approved character, scene, and line. First identify the playable slice where it appears, who speaks, what player action triggers it, and where the same information remains readable when audio is muted. Speech can strengthen presence and pacing, but it must not be the sole carrier of a quest hint, control instruction, choice consequence, or completion condition.

This page owns interactive game character voice assets: per-line IDs, player triggers, canonical subtitles, audio settings, and failure fallbacks. Adjacent work keeps separate deliverables:

  • Linear drama or video voice production owns casting, narration, and final-cut audio; its production workflow remains separate from interactive trigger acceptance.
  • Live player voice chat owns real-time calls, moderation, recording uploads, and network voice, with its own product and safety requirements.
  • Whole-game acceptance owns launch, input, the core loop, outcomes, and restart. The checks here cover only whether the voice layer preserves understanding and completion.

If character speech has not entered the approved art or product direction, stop at organizing the dialogue instead of generating audio. Treat build-time local assets as the default. Any runtime network synthesis needs a separate product decision covering external text processing, cost, privacy, and failure behavior. This page does not recommend a provider or determine whether a voice or source is legally cleared. The author records the source and permission basis the project actually has and leaves unresolved items unresolved.

The contract permits self-recorded, authorized human, authorized public, or synthetically designed voices, requiring explicit permission for a real-person clone. This article records actual sources and unresolved items rather than deciding permission for the author. A fictional character does not establish an authorized voice source.

Bind Text, Trigger, and Output in an Editable Line Sheet

Use one row for each spoken line. The line_id is the stable join across the line sheet, subtitle, audio file, and scene trigger; do not substitute a disconnected filename such as “final.wav” for the identifier. Copy the blank table below and enter only dialogue the author has approved.

LineRecord
____speaker: ____; trigger: ____; exact_text: ____; language / pronunciation: ____; voice_direction: ____; subtitle_key: ____; provenance / rights record: ____; output: ____; fallback: ____; status: ____

Each field answers a different question:

  • line_id: The fixed identifier shared by the sheet, filename, and trigger location.
  • speaker: The approved speaker; do not let a generation tool swap speakers or add a character.
  • trigger: The reproducible player action, entry, or choice that plays the line—not “when appropriate.”
  • exact_text: The exact words allowed to be spoken. A punctuation or wording edit invalidates the old audio and sends the line back through production.
  • language / pronunciation: Language plus only the necessary reading of names, abbreviations, numbers, or easily misread words.
  • voice_direction: Approved pace, attitude, and sense of distance. Give playable direction without independently choosing imitation or cloning of a real person.
  • subtitle_key: A key that resolves to exactly the same approved line used by the audio. Interface wrapping or presentation may differ, but this key must not contain alternate wording.
  • provenance / rights record: The voice or recording source, the location of the project's permission record, and open questions. This is a production record, not a legal conclusion.
  • output: The planned or actual file path. Label an ungenerated path as planned rather than making it look like evidence.
  • fallback: Show the same approved line when audio does not play. If the project genuinely needs a different readable alternative, record and approve it separately rather than hiding it under the subtitle_key.
  • status: For example, awaiting author approval, awaiting source confirmation, awaiting generation, integrated, or runtime-checked. Do not turn naturalness, charm, or voice preference into a machine PASS.

Do not send a whole novel, complete design document, or unrelated private material with this sheet. If an external tool is used, provide only the approved line and pronunciation needed for that line.

For mobile reading, the second column holds every field of the same line. This is an editorial view of the single ledger, not another production protocol. Keep the contract’s eleven fields distinct in the project and expand them into columns for export when useful, preserving planned paths and ungenerated status.

Test a Small Batch Across Different Triggers Before Expanding

Do not turn an entire chapter into audio in the first pass. An optional small pilot can use a limited set of lines spanning different triggers such as entering a scene, inspecting an object, making a choice, or returning to a location. It can include a project name or easily misread term and a line that exposes subtitle alignment and the post-skip state. Let project needs determine the pilot size instead of applying a fixed line count.

Proceed in this order:

  1. The author approves the speaker, exact_text, trigger, and whether the moment needs speech at all.
  2. Assign a line_id and subtitle_key, and write the readable fallback.
  3. Record the voice or recording source and the permission basis currently held by the project. Do not generate while that source is unresolved.
  4. Add only necessary pronunciation and performance direction, checking that neither quietly changes the line's meaning.
  5. Generate or record a candidate file and write its actual output location back to the same row.
  6. Integrate the candidate at the real trigger. A standalone media-player listen is not a substitute for the scene check.
  7. If the line changes at all, mark the old audio invalid. Reconcile the subtitle, audio task, and fallback against the latest exact_text.

The batch exposes missing fields, wrong triggers, mispronounced names, subtitle drift, and failure paths that stall play; its conclusion covers only these candidates. A project may record subjective listening preferences, while naturalness, charm, and voice preference remain non-automated notes.

Original Illustrative Example: Two Notes in a Botanical Archive

The material below is an original paper example created for this article. Its current state is paper-only: no game was built, no audio was generated or listened to, and no runtime test or rights determination was made. In the fictional interactive story *The Vein Register*, Duan Li, a paper conservator in a small botanical archive, briefly comments on two routine paper-conservation and collection-care tasks. Specimen names, handling steps, and player choices remain visible in text; these spoken lines add character presence only.

LineRecord
1line_id: BA_REPAIR_001; speaker: Duan Li; trigger: The player inspects the sensitive-plant specimen folder for the first time in this run; exact_text: The backing paper under this sensitive-plant specimen has buckled. Do not press the cover sheet down yet.; language / pronunciation: en; keep “sensitive-plant specimen” distinct; voice_direction: Calm and clear, spoken to a nearby coworker; do not independently choose imitation or cloning of a real person; subtitle_key: sub.BA_REPAIR_001; provenance / rights record: VOICE-SOURCE-TBD; the author has not recorded a source or permission basis, so generation is blocked; output: planned: audio/en/BA_REPAIR_001.ogg; fallback: Show the same approved line; keep the handling instruction beside the specimen folder; status: Source unresolved; not generated; not tested
2line_id: BA_REPAIR_002; speaker: Duan Li; trigger: After the player confirms the humidity-card reading and logs it in today's record; exact_text: The humidity reading is logged in today's record.; language / pronunciation: en; keep “humidity reading” distinct; voice_direction: A brief confirmation, calm and clear; subtitle_key: sub.BA_REPAIR_002; provenance / rights record: VOICE-SOURCE-TBD; the author has not recorded a source or permission basis, so generation is blocked; output: planned: audio/en/BA_REPAIR_002.ogg; fallback: Show the same approved line; keep the humidity entry visible in the record panel; status: Source unresolved; not generated; not tested

The example deliberately retains a blocking status. A planned path records future intent, and a fictional character does not automatically provide an authorized voice source. The author records the project's selected source and permission basis before deciding whether to produce a candidate. If “Do not press the cover sheet down yet” changes to “Replace the backing paper first,” the old BA_REPAIR_001 audio immediately becomes invalid. Its subtitle key must resolve to the newly approved canonical line, and the audio task and same-text fallback must be updated. If a shorter readable alternative is genuinely needed, record and approve it as separate text rather than placing it under the same subtitle_key.

The two lines use different triggers so a check can reveal a mix-up between the first specimen-folder inspection and logging the humidity reading. Specimen names, handling steps, and the humidity entry also remain persistently readable in the interface, so the player can understand the scene and continue when audio is absent.

Check the Real Trigger, Subtitle, and Four Degraded States

Choose a representative path that reaches the sample lines and begin from a defined initial state. Record the candidate version, runtime environment, input sequence, and observed result. “The file plays” is not scene evidence.

  • Trigger: The line appears only after the action or state named in the sheet, without playing early, crossing into another trigger, or repeating without cause.
  • Speaker and exact text: The character, audio content, and latest exact_text agree; no audio from an older draft is present.
  • Subtitle pairing: The correct subtitle_key and audio both resolve to the latest approved canonical line. Only wrapping or presentation may differ; alternate wording must not appear under the same key.
  • Pronunciation and direction: Use the project's selected pronunciation-check method for the named terms, numbers, and pauses in the row, and record that method and its limits. Naturalness, charm, and voice preference remain non-automated subjective notes.
  • Skip: Skipping reaches the next state the line should lead to, while required task information or choice consequences remain readable.
  • Mute: With audio muted, no sound leaks through, the subtitle or author-approved text alternative still appears, and play continues.
  • Missing audio: With the candidate file temporarily removed or unavailable, the line does not stall the game. The text fallback appears, and the player can understand and complete the path.
  • Restart: After returning to the defined initial state, first-play and repeat behavior follow the sheet rather than inheriting transient playback state from the prior run.

When a check fails, return to the affected row, repair its text, trigger, output, or fallback, and replay the impacted path. Stop when this representative batch passes the voice-specific checks in the recorded environment, failure still preserves understanding and completion, and untested platforms and subjective voice opinions remain explicit limitations. This result does not mean the whole game has passed general gameplay, accessibility, localization, performance, or release acceptance.

The same contract also covers autoplay restrictions and corrupt files. Trigger the restriction or use a candidate that cannot decode in the actual runtime, checking that the canonical text or approved fallback remains readable and the flow continues. A missing-file check does not establish corrupt-file handling. Leave unperformed checks untested rather than expanding the evidence scope.

Copyable Prompt: Organize Author-Approved Lines Only

Replace the brackets with real project material. This prompt produces only a draft line sheet and a gap list. It does not generate audio, select a voice for the author, or make a rights determination.

You are organizing a voice-asset sheet for a small text or adventure game. Work only with the author-approved lines below. Do not add, continue, rewrite, or merge dialogue. Do not add plot facts, independently choose imitation or cloning of a real person, or infer that any source has permission.

Approved scene and purpose: [scene, approved experience served by this batch, information that must not be carried by audio alone]

Approved lines: [for each line, provide line_id if one exists, speaker, trigger, exact_text, and language]

Existing pronunciation and performance direction: [author decisions only]

Subtitle record: [subtitle_key and approved text; mark missing fields]

Source and permission record: [voice/recording source, project record location, open questions; omit unrelated private material]

Output and fallback agreement: [planned path, text shown on mute or missing audio, state after skip]

Runtime path: [input sequence from a defined initial state to each real trigger]

Return a table with these columns: line_id | speaker | trigger | exact_text | language/pronunciation | voice_direction | subtitle_key | provenance/rights record | output | fallback | status. Copy approved dialogue exactly. If one line_id has conflicting text, subtitle, or output versions, mark it blocked instead of choosing one. Separately list missing IDs, triggers, pronunciation, subtitles, fallbacks, source records, and runtime paths. End with a check order limited to this batch: real trigger, speaker and exact text, subtitle, named pronunciation, skip, mute, missing audio, and restart. Do not generate media, recommend a provider, or announce that naturalness, permission, accessibility, or the whole game has passed.

The author confirms every final line, speaker, performance direction, source record, and production decision. An AI-organized sheet remains a draft. Record a runtime result only for a candidate that was actually generated, integrated, and exercised in the scene.

FAQ

Can the Subtitle Differ from the Spoken Line?

The subtitle key must resolve to the same approved canonical line used by the audio. The interface may change wrapping or presentation, but it must not place alternate wording under the same subtitle_key. If the project genuinely needs a different readable fallback, record it separately and obtain author approval. Any change to the canonical dialogue invalidates the old audio, and both subtitle and audio tasks must be reconciled with the new version.

Is a File Tested After Listening to It in a Media Player?

No. A standalone listen can reveal an obvious pronunciation or file problem, but it cannot establish the real trigger, speaker/subtitle pairing, skip, mute, missing-audio, or restart behavior. Record those runtime results only after integrating the candidate and exercising the documented scene path.

Can a Critical Hint Be Spoken Once with a Brief Subtitle?

Do not make a one-time clip the sole carrier of a critical hint. Keep hints, rules, choice consequences, and completion conditions in a readable place the player can revisit and still reach after mute, skip, or missing audio. Speech can strengthen delivery, but it must not determine whether the player can understand and complete the game.

Do it with the skill

After PRODUCT_BRIEF, GAME_DESIGN, and the production ART_DIRECTION approve speech, use /game-build ($game-build in Codex) with its voice-production contract. Process approved dialogue only, maintaining a stable ID, trigger, subtitle, source record, output, and fallback for every line, then integrate a small candidate batch at its real scene triggers. A line edit invalidates old audio, and readable information plus a completion path remain available after missing audio, mute, or skip. Do not let the build stage add plot, independently select imitation or cloning of a real person, or make permission decisions for the author.

Read the method: Voice ledger, sources, and runtime checks

About Novel to GameThe game-build skill on GitHub

All guides