analog-town / VIDEO_SCRIPT.md
thangvip's picture
Add Creative Mode + browser TTS + multi-day timeline + emotion heatmap + 3 new towns
ed19734 verified
|
Raw
History Blame Contribute Delete
9.93 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade

Analog Town β€” Demo Video Script (v2, with TTS / Heatmap / Timeline / Creative Mode)

Target length: 3 min (hard cap 3 min 30 sec) Tone: Calm, slightly conspiratorial β€” like you really are operating a radio van. Don't oversell. Let the interface do the work. Recording tip: Use OBS or QuickTime. Capture system audio so the static loop and the spoken monologues are audible. Set browser zoom to 110% so the CRT panel reads on mobile playback.


Pre-Recording Checklist

  • App is running and loaded once in this browser session β€” TTS unlocks on first click, ambient audio unlocks on first interaction. Click anywhere before recording.
  • Browser window sized 1440Γ—900, zoom 110%, DevTools closed
  • System volume on, headphones recommended so you can hear the static fade and voice ducking
  • Pick the town: Port Whisper (best demo because the wind-farm conflict has clear sides and the heatmap is dramatic)
  • Pre-write the broadcasts in a notes window β€” you'll paste them in:
    • Day 1: "The state energy department has approved the construction of a 40-turbine offshore wind array, 5 miles off the Port Whisper coast."
    • Day 2: "The state has scheduled a public hearing at the harbor next Friday and is offering union-scale jobs in turbine maintenance."
    • Day 3 (optional): "Protesters blocked the harbor entrance at dawn. Two arrested. The mayor calls for calm."
  • Pre-write the Creative Mode concept for the closing demo: "A haunted seaside lighthouse where the keeper has vanished. The village is split on whether to investigate or burn it to the ground."
  • Close all other tabs / Slack / notifications
  • Mic check β€” say a sentence, play it back, then start

Scene 1 β€” Hook (0:00 – 0:15)

On screen: Land on the app with the dial idling between stations. You can hear the static loop softly. Hold for 2 beats before speaking.

You say:

"This is Analog Town. It's a shortwave radio that picks up the inside of fictional people's heads. You drop a piece of news into a town β€” and you tune the dial to hear what each resident is privately thinking about it. Listen."

Action: Slowly drag the frequency slider 1–2 ticks while talking. Let the static crackle change pitch. Don't land on a station yet.


Scene 2 β€” Meet the Town (0:15 – 0:35)

On screen: Open the TOWN dropdown. Pause on it just long enough that the nine options are readable. Pick Port Whisper.

You say:

"We ship nine towns, each with a built-in conflict. A coastal village debating a wind farm, a polar research station picking up a strange signal, a near-future vertical city where a municipal AI just filed for mayor. I'll load Port Whisper."

Action: Click Port Whisper. Wait for the isometric map to load with the four pixel-art character tokens placed on it. The dossier accordion shows below the map.


Scene 3 β€” Day 1 Broadcast (0:35 – 1:05)

On screen: The broadcast field has pre-filled with the default scenario. Move to it.

You say:

"Day 1. A wind farm is approved off the coast. I broadcast it into the town."

Action: Press TRANSMIT. While the progress bar runs in the status panel:

You say (~10 seconds of cover narration):

"Behind the scenes, this is Qwen 2.5 7B through the Hugging Face Inference API. Each resident is processed as a typed state transition β€” not roleplay β€” so the model produces structured JSON: what the character noticed, which memory got triggered, which value got bruised, and how their emotional state shifted."

On screen: Simulation completes. The four sprites visibly tint by emotion β€” red on Captain Arthur, amber on Mayor Sarah, blue on Chloe, etc. A pulsing πŸ“’ anomaly badge appears on at least one sprite. A DAY 1 pill appears in the timeline strip and a DAY 1 badge in the corner of the map.

You say:

"The map just tinted. Red means anger, amber is hope, green is trust, blue is curiosity. That badge β€” the megaphone β€” means this character's emotional state shifted by more than 60 percent on at least one axis. Big reaction. Worth tuning in to."


Scene 4 β€” Tune the Dial, Hear the Voice (1:05 – 1:35)

On screen: Move the cursor to the frequency slider.

You say:

"Now I tune the dial."

Action: Slowly drag the dial up toward Captain Arthur Vance (around 89.1 MHz). As you approach, the signal-strength bar climbs and the static audibly fades. Land on his station. The dossier loads. His monologue appears in the CRT panel.

Important: Don't read the monologue aloud yourself. Wait. The browser TTS will speak it in a distinct voice over the (now-quiet) static. Stay silent for the ~6 seconds it takes.

On screen: The πŸ”Š voice LED next to the VOICE button flashes green while the voice plays. Static ducks under the voice.

After it finishes, you say:

"Different voice for every character. The static ducks under them. And under every monologue is the structured trace β€” the emotion deltas, the activated memory, the value conflict β€” so writers and game masters don't just get prose, they get a mechanical readout of why this character reacted this way."

Action: Click directly on a different sprite on the map (e.g., Chloe Chen, the marine biologist). The dial snaps to her frequency, the dossier swaps, her voice β€” distinctly different from Arthur's β€” speaks her monologue.

You say (while her voice plays):

"Same broadcast. Different mind."


Scene 5 β€” Day 2 Drift (1:35 – 2:20)

On screen: Move to the broadcast text box. Clear the existing content. Paste Day 2's broadcast.

You say:

"Now the second day. Same town. Different beat."

Action: Press TRANSMIT. While it runs:

You say:

"The agents don't reset. Their Day 1 emotional state becomes the seed for Day 2 β€” the simulator carries the drift forward. And I'm telling the model explicitly: do not echo what they said yesterday."

On screen: Simulation completes. The map sprites re-tint. Watch for changes β€” Captain Arthur may shift from red to amber, Mayor Sarah may go greener. A DAY 2 pill joins the timeline strip; the day badge updates.

You say:

"Watch the map. The town just drifted."

Action: Tune back to Captain Arthur. His Day 2 voice comes through with clearly different prose from Day 1. Wait for the voice to finish.

You say:

"Day 1 he said they're putting iron in my ocean. Day 2 he heard about jobs and a hearing. Listen to what's softened."


Scene 6 β€” Time Travel (2:20 – 2:40)

On screen: Hover the timeline strip below the broadcast bar.

You say:

"And I can time-travel."

Action: Click the DAY 1 pill. The map snaps back to Day 1's heatmap, the day badge says DAY 1, Captain Arthur is red again. Tune back to him β€” his Day 1 voice returns.

You say:

"Day 1's snapshot, intact. Click Day 2 again β€” back to the present."

Action: Click the DAY 2 pill. Map returns to Day 2 state.


Scene 7 β€” Creative Mode (2:40 – 3:10)

On screen: Open the 🎨 CREATIVE MODE accordion above the map.

You say:

"And you can design your own town. Type a concept."

Action: Paste into the concept field:

A haunted seaside lighthouse where the keeper has vanished. The village is split on whether to investigate or burn it to the ground.

Set agent count to 4. Click πŸͺ„ GENERATE WITH AI.

You say (while it generates):

"The same Qwen model that runs the simulator drafts a complete town: residents, frequencies, fears, hopes, relationships, even a default broadcast event. All in valid JSON. All editable."

On screen: Generated JSON appears in the editable field below.

Action: Click πŸ’Ύ SAVE & LOAD. The dropdown refreshes; the new town loads. The map shows the new agents.

You say:

"Saved, loaded, and ready to broadcast."


Scene 8 β€” Close (3:10 – 3:25)

On screen: Pull back to a wide shot of the full interface β€” map with the new town, dial, monologue panel, timeline strip ready to start.

You say:

"Analog Town. A 7B model, a typed state machine, a radio dial, and a town that remembers. Built small, on purpose. Tune in on Hugging Face Spaces."

Action: Hold on the wide shot for 2 beats. Cut.


Backup Lines (in case something breaks)

  • If TTS doesn't play on a sprite click: "On some browsers the speech engine needs a moment to wake up β€” there's a TEST button right here that confirms voice is ready." (Click TEST button to demo voice independently.)
  • If the model is slow: "While that's computing β€” every state transition is one model call, four characters means four small calls. That's the trade we made: small model, tight schema, no chat."
  • If a Day 2 monologue is too similar to Day 1: "Notice the model isn't being dramatic β€” that's deliberate. The system prompt tells it to favor plausible and grounded over interesting."
  • If the static doesn't fade audibly on recording: "The static you can't quite hear right now is fading out because the signal strength just climbed β€” it's a client-side audio effect tied to the dial."

What NOT to Say

  • Don't call it "AI characters" or "chatbots" β€” the whole point is that it isn't.
  • Don't promise it predicts real people. The safety framing is part of the design.
  • Don't read JSON fields out loud word-for-word β€” paraphrase.
  • Don't apologize for the small model. Frame the smallness as the design choice it is.
  • Don't talk over the TTS voices β€” let them play. They're the demo.

One-Line Elevator Pitch (for thumbnail / caption)

"A shortwave radio for fictional minds. Drop news into a town. Tune the dial. Hear each resident, in their own voice, over multiple days."