Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9KMfjthRUnujCGSzZ
5.7 KiB
Video dimostrativo del prototipo — scaletta
Prima ripresa: 23 ottobre 2026, sul gioco com'era quel giorno (37 test verdi, scene fino al Trebbio).
Si rifà ogni volta che il prototipo cresce: si aggiorna il copione video/demo-prototipo.mjs, poi gli stessi comandi.
Cosa si vede (durata attesa 7-8 minuti, tetto 10)
Solo sottotitoli in italiano in alto (le battute del gioco sono già nei fumetti) e la colonna sonora del gioco rimontata sopra il video (la VM registra lo schermo, non l'audio).
| # | Capitolo | Cosa fa l'omino | Didascalia |
|---|---|---|---|
| 1 | Titolo | schermata del titolo con la dedica, musica del titolo | titolo del gioco, «demo del prototipo» |
| 2 | Introduzione | le quattro righe sopra il panorama, un clic per riga | — |
| 3 | Piazza Colonna | arriva, guarda la colonna e il manifesto, prova ad andare al Fiocco di Neve | come si gioca: clic = azione più sensata, i verbi a destra |
| 4 | I vecchietti | dialogo: le due leggende del Regolo, il Palio di quest'anno, «niente di strano stanotte?» | i dialoghi a scelte |
| 5 | La squama | guarda sotto la panchina, prende la squama, la guarda, la offre ai vecchietti | l'inventario, «dai… a» |
| 6 | Campeggio e Bosco ai Frati | due scene di passaggio, bandierine e tiglio | il paese a gradini |
| 7 | Pieve e oratorio | chiesa, campanile, statua; palco e tavolate dell'oratorio | — |
| 8 | Villa Adami e la salita | la villa, il leone di terracotta, la strada della scuola | — |
| 9 | Fortezza | bastione, porta incatenata, le impronte | — |
| 10 | Trebbio | viale dei cipressi, la torre fa da psicologo e dà l'indizio | gli aiuti del castello |
| 11 | Il finale | torna alla Fortezza, usa la squama sulle impronte, schermata di fine | fine del prototipo, dedica |
Come si rigira
Dalla cartella ~/Workspaces/qemu/qemu-iso-lab (la catena del «cameraman», gemello 30_Note/video-dimostrativi.md):
virsh --connect qemu:///system start lubuntu-studio
IP=$(virsh --connect qemu:///system domifaddr lubuntu-studio --source lease | awk '/ipv4/{sub("/.*","",$4); print $4}')
TOUR_VM=manzolo@$IP tools/tour/session.sh
# copia del gioco nella VM e server su 127.0.0.1:8000 (SRC= per girare su una copia ferma)
~/Workspaces/misc/LeggendaDelRegolo/video/prepara-ripresa.sh manzolo@$IP
PW=$(ls -d ~/.npm/_npx/*/node_modules/playwright | head -1)/index.mjs
TOUR_VM=manzolo@$IP PLAYWRIGHT_MODULE=$PW node tools/tour/rec.mjs ~/Workspaces/misc/LeggendaDelRegolo/video/demo-prototipo.mjs --dry # prova a vuoto
~/Workspaces/misc/LeggendaDelRegolo/video/prepara-ripresa.sh manzolo@$IP # azzera prima della ripresa vera
TOUR_VM=manzolo@$IP PLAYWRIGHT_MODULE=$PW node tools/tour/rec.mjs ~/Workspaces/misc/LeggendaDelRegolo/video/demo-prototipo.mjs
python3 ~/Workspaces/misc/LeggendaDelRegolo/video/monta.py artifacts/tour/out/demo-prototipo
virsh --connect qemu:///system shutdown lubuntu-studio
monta.py accorcia le didascalie, lancia build.py, rimonta la musica dai cambi registrati in musica.json
e scrive video/out/demo-prototipo.mp4 (escluso da git).
Trappole
- Il gioco va servito dentro la VM (
prepara-ripresa.sh): niente rete fra host e VM da sistemare. - Le battute del gioco durano
sayTime(circa 18 caratteri al secondo): il copione non le salta, aspetta che finiscano. - Una pressione più lunga di 450 ms sulla scena vale «guarda»: i clic di
mv.pysono brevi, non usare trascinamenti. - Il salvataggio sta nel
localStoragedel profilo della VM: ilsetupdel copione lo svuota, sennò compare «Continua».
La partita completa (25 ottobre 2026)
Copione video/partita-completa.mjs: il primo capitolo intero, dal pomeriggio alla sera (circa 10 minuti e mezzo),
seguendo src/story/solution.js capitolo per capitolo, più il libro dell'oratorio in primo piano e i vecchietti
che a sera sparlano di Andrea. Si gira con gli stessi comandi della demo (mbot studio up, mbot studio session,
prepara-ripresa.sh, rec.mjs … --dry, di nuovo prepara-ripresa.sh, rec.mjs …), poi:
python3 video/monta.py ~/Workspaces/qemu/qemu-iso-lab/artifacts/tour/out/partita-completa
- L'audio: la VM registra solo lo schermo. Il copione annota dentro la pagina ogni cambio di musica e ogni voce
che parte (con l'orologio della VM) in
video/out/partita-completa-audio.json;monta.pyrimonta la colonna sonora dai file del gioco: musica bassa (VOLUME_SOTTO), voci piene. Il fruscio della pagina non c'è. - Il ritaglio (
TAGLIOinmonta.py) va rimisurato quando cambia l'impaginazione:convert -trimsu una schermata della prova a vuoto. - Per Telegram (50 MB al massimo): due passate x264
-tune animationa 470 kbit/s → circa 45 MB.
Il trailer e la extended (29 ottobre 2026)
Copioni video/trailer.mjs (circa 1 min 30 s) e video/trailer-extended.mjs (circa 3 min 25 s, col giro completo
del paese e i giochi giocati da soli). Niente clic: la scena è a tutto schermo, le scritte e gli stacchi al nero
sono elementi aggiunti nella pagina, e la musica la sceglie il copione (out/<clip>-audio.json). Nel finale si
cercano solo gli occhi gialli: il palio non si mostra (Andrea: si capirebbe dov'è).
- Prova locale, senza VM:
OUT=/tmp/prova COPIONE=./trailer.mjs node video/prova-locale.mjs(una schermata per battuta, e i tempi). - Ripresa: come la partita completa, poi
python3 video/monta.py <cartella> --trailer. - Il gioco va in pausa da solo dopo un minuto senza tocchi: il copione manda un finto
pointermoveogni 10 s. - Una camminata lascia
game.taskin sospeso, e cambiando scena di colpo il gioco non si ferma più: si azzera. - Le battute saltate lasciano spezzoni di voce nel registro: prima di montare si tolgono quelli sotto il mezzo secondo (attenzione a «Let it be.», che dura un secondo ed è giusta).