Text speed and voice beeps
Lives in: game.json → typing
How dialogue letters appear, and the optional voice beep while they type. Mid-line pauses and speed tags stay in the script — Pacing. A panel preset can override most of these keys for one surface — Panel.
Letters per second
"typing": {
"cps": 28,
"cps_fast": 100
}
| Key | Effect |
|---|---|
cps | Letters per second (0 = whole line at once) |
cps_fast | Speed while the reader holds advance / fast-forward |
instant | Always show whole lines (true wins over a positive cps) |
speed_scale | Overall multiplier (readers can change this in Settings) |
auto_advance_default | Seconds after a line before moving on; 0 = wait for a click |
If you omit cps, the player can use delay / delay_fast (seconds per letter) instead. speed_scale and auto_advance_default are Settings-owned — they cannot be set on a panel preset.
How letters look
"typing": {
"cps": 28,
"reveal": "typewriter"
}
reveal | Look |
|---|---|
typewriter | Each letter snaps on (default) |
soft | Letters fade in |
fade_line | The current clause fades as a whole |
pop / rise | Fade plus a small scale or lift |
Optional extras (pending_alpha, reveal_soft, caret mark, …) are on the game.json map.
Voice beep
"typing": {
"beep": {
"sample": "typing_beep",
"volume": 0.5,
"pitch_min": 0.9,
"pitch_max": 1.1
}
}
| Key | Effect |
|---|---|
enabled | Play the beep (false silences this surface / the project default) |
sample | Sound id under audio/sfx/ |
volume | 0–1, multiplied by master × SFX |
pitch_min / pitch_max | Random pitch range |
Ids point at files in your audio folders — Pictures, sound, and folders. Readers can turn the beep off in Settings (sounds.defaults.typing_enabled seeds the first launch). Script [typing_sfx …] overrides the sample until reset — typing_sfx.
Line start / end sounds
Optional one-shots when a whole line begins or finishes typing. Useful for phone chat (“incoming message”) without writing [sfx] on every node. Not fired on {@w} pauses, and not on Back / load restore. Uses the SFX bus (master × SFX × volume) — the Typing Sound toggle does not mute these.
"typing": {
"start_sfx": { "sample": "msg_in", "volume": 0.6 },
"end_sfx": { "sample": "msg_done", "volume": 0.3 }
}
Same objects work on a panel preset — Typing per preset.
Mouth motion while typing is a character pack feature, not a typing key — Talking and focus. Script (silent) turns it off for a speaker — Lines and speakers.
Usually you need
| Want | Write |
|---|---|
| Comfortable speed | "typing": { "cps": 28 } |
| Instant lines | "typing": { "cps": 0 } or "instant": true |
| Soft fade | "reveal": "soft" |
| Beep sample | "typing": { "beep": { "sample": "…" } } |
| Incoming message ping | "typing": { "start_sfx": { "sample": "msg_in" } } |