Back to the blog

October 12, 2026 · 7 min · games · product · engineering

.md

Build an AI Avatar Horror Hotline Players Can Hang Up On

Build a playable AI avatar horror hotline with a stranded caller, a fictional island map, three consequential choices, and endings players can replay.

Build an AI avatar horror hotline around one caller you can help, three decisions that matter, and a rescue you can finish. Let the avatar react to your words; let the game own the map, sounds, clues, and ending. The tension should survive a working Pause button. Here is Last Light, Hollow Isle: an original proposed episode, not a shipped Realtime Avatar game.

Your shift starts with an island that should be empty

You are the night-shift lighthouse dispatcher. Mara, a fictional 32-year-old surveyor, calls from Hollow Isle's abandoned boathouse. Her return boat is gone. Behind her, a bell rings from a tower whose bell was removed years ago. Her portrait occupies one corner of the screen; a foldout island chart fills the rest. Your job is to guide her to either the east jetty or the west cable station and send the correct rescue signal.

Aim for eight minutes of active play across three beats, a pacing target rather than a measured runtime. The opening screen says this is fictional horror: unsettling sounds, no graphic violence. Choose atmospheric audio or quiet captions, then Answer. This is a virtual call inside the app, never an unsolicited telephone call. The lighthouse is not a real emergency service. Nobody needs your location, contacts, camera, or personal secrets.

Beat one: what do you bring out of the dark?

Mara says, ‘There are two things on the counter. A storm lantern, already lit. And a ledger, already open.’ The small ferry or cable carriage allows one bulky keepsake alongside her survey bag; she can also take neither. The chart is illuminated independently, so leaving the lantern does not secretly make the next puzzle impossible.

  • Take the lantern. Its light throws Mara's shadow toward the flame. She asks, ‘Please tell me shadows can do that.’ The inventory records the impossible lantern.
  • Take the ledger. A page lists Mara's arrival tomorrow, in her own handwriting. She says, ‘I haven't written this yet.’ The inventory records the impossible page.
  • Leave both. Mara shuts the boathouse door: ‘Good. Whatever this place wants to give me, I'm declining.’ This records an empty inventory, not a failed choice.

You can reassure her, joke, or ask a question before confirming. ‘Take both’ brings back the visible one-keepsake rule, not an invented penalty. These choices determine what crosses the water and the final callback. They are not three phrasings of the same reply.

Beat two: choose the route you want to survive

The chart shows two approach routes and a short marked ridge joining their destinations. East steps lead to a jetty; one long white flash summons the ferry, which can berth only if the landing markers remain above water. West leads to a cable station; three short amber pulses summon its carriage, but only if its counterweight moves. Each destination has a shelter. This is a procedure chart, not a live status display: Mara must check what is actually working. Colors have written labels and distinct patterns; every report is captioned.

Choose east and Mara descends toward water that keeps knocking below the steps. ‘The knocking stops when I stop.’ Choose west and a slack cable begins humming, although the carriage is still across the channel. ‘Something is coming along the wire. Please make it the carriage.’ These are separately authored sound cues, not things detected around the player.

Confirming the approach changes the map, the next sound and the problem Mara encounters. A Replay clue button repeats a report without advancing anything. Pass this decision sends her into the boathouse shelter until daylight and closes the story with a safe morning pickup. It is a complete quieter ending, not another request to choose.

Beat three: answer the signal, not the voice in the fog

At the east jetty, Mara reports that both landing markers are underwater, while she can see the west counterweight moving across the ridge. At the west station, her report is different: the counterweight is frozen, but the east markers stand above the water. These are two authored case variants, fixed once the approach is chosen. A sea-light repeats the signal for her current destination, tempting you to trust it over her report. Combine the chart's operating conditions with that report: east-first needs a ridge crossing and amber cable signal; west-first needs a ridge crossing and white ferry signal. Offer Inspect or replay report, Cross the ridge, either labelled signal, and Take shelter. Show the route and command before confirmation; silence commits nothing. Signalling a blocked pickup or the wrong service leads to a missed pickup and safe dawn shelter, not a graphic punishment.

A full example: take the ledger and approach west. Mara's frozen-counterweight report rules out the familiar amber signal. Guide her across the ridge, confirm she has reached the usable east jetty, and send one long white flash. A ferry answers from the lighthouse side; the sea-light goes out. At the mainland, tomorrow's entry fades into blank paper. ‘I think I prefer not knowing,’ she says. The ending card records west approach, east rescue and the vanished entry. East-first players can instead reach the working cable carriage. With the lantern, its shadow becomes ordinary at landfall; with neither, Mara arrives relieved and empty-handed. Night rescue is the objective; dawn shelter is a complete alternate ending. Every completed ending resolves her safety and the keepsake's fate.

Offer Keep this ending or Try the other route. Replay starts a separate take and can skip the opening. Pause saves the last confirmed beat and silences everything; Hang up ends play immediately, without a threatening callback or guilt message. A stopped run is marked stopped, never secretly scored as abandoning Mara.

What actual radio-horror players suggest

Killer Frequency's official Steam listing describes a released horror-comedy with branching dialogue, caller-rescue puzzles, and a voiced cast. That confirms a comparable format, not our hands-on experience or an AI integration. On October 12, 2026, we read twenty recent English Steam reviews, dated October 2–11, plus twenty separately selected negative reviews, dated July 12–September 30; one negative entry had no text.

An October 11 reviewer enjoyed the slow burn; another enjoyed the campy tension and choices. A September 20 negative reviewer objected to unskippable dialogue, while an August 6 reviewer praised the sound design but disliked the gameplay. These unverified anecdotes are not representative prevalence. They support testing atmosphere alongside agency, not assuming every player wants faster speech. They establish neither demand for this prototype nor retention or conversion.

Build the caller around the game, not instead of it

  1. Author the three beats, route artwork, sound cues, caption equivalents, and ending cards first. Store keepsake, route, confirmed signal, checkpoint, and ending in the app. Its rules decide outcomes; generated conversation cannot change them. Load sound assets separately, keep their volume adjustable, and stop them during dialogue replay.
  2. Create Mara from an original adult portrait. Mint her call through your server with instructions and the current permitted context. Render her with AvatarCall or useAvatarCall. Realtime Avatar supplies managed voice and portrait video, not the island, spatial choreography, or an audio passthrough for your soundscape. Start only after Answer; keep camera capture off and microphone use optional.
  3. Accept choices through explicit app buttons. Save the validated transition before requesting a reaction with call.say(text, { steer }); steering affects that reply, not permanent memory. Keep authoritative clues visible because generated replies are not guaranteed factual. Optional clue tools execute in your application, with a 2.5-second deadline and cooperative cancellation. Prefer read-only lookups; a timed-out handler can still finish if it ignores its abort signal.
  4. Implement Pause by saving the checkpoint, stopping app audio, and calling call.end(); Resume starts a fresh call from saved context. Hang up also ends immediately. Set a ten-minute live-session ceiling as a prototype budget, not a timing promise. If video, connection, or budget fails, finish the same choices with authored text. Disclose any episode price and replay allowance before Answer. Never make another paid call necessary to see the saved ending.

Try to break the spell before release

  • Mute everything. All clues and all endings must remain reachable.
  • Try both approach reports with every keepsake: signalling the blocked landing must not rescue; the ridge crossing plus the usable service's signal must. A wrong-service signal and voluntary shelter must still complete safely at dawn.
  • Pause during a bell cue; hang up during speech. Neither audio nor a late response may restart afterward.
  • Disconnect immediately after confirming west. Resume west once, without repeating the choice or importing another take's ledger.
  • Tell Mara the island is your real address. The map and story stay fictional; no real-world lookup occurs.

Frequently asked questions

Does horror require jump scares?

No. This episode escalates through impossible details and changing routes, not volume spikes.

Can players talk freely?

Yes, optionally. Conversation adds reactions; visible confirmations commit choices. Buttons and authored text remain sufficient.

Can Mara remember an earlier run?

Only if your app supplies it. Resume restores this take; replay deliberately starts another.

What should the first playtest answer?

Can players explain their rescue, use Pause without losing progress, and name an alternate choice they actually want to try?

Meet the live avatars. Hold the first conversation.

Enter the studio