Files
leggenda-del-regolo/video/SCALETTA.md
T

90 lines
6.2 KiB
Markdown

# 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`):
```zsh
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.py` sono brevi, non usare trascinamenti.
- Il salvataggio sta nel `localStorage` del profilo della VM: il `setup` del 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:
```zsh
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.py` rimonta la colonna
sonora dai file del gioco: musica bassa (`VOLUME_SOTTO`), voci piene. Il fruscio della pagina non c'è.
- **Il ritaglio** (`TAGLIO` in `monta.py`) va rimisurato quando cambia l'impaginazione: `convert -trim` su una
schermata della prova a vuoto.
- **Per Telegram** (50 MB al massimo): due passate x264 `-tune animation` a 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'è).
La extended rifatta il 30 ottobre (circa 4 min 15 s), su richiesta di Andrea: non deve mai far capire che il Regolo è
in Fortezza. Quindi niente impronte e niente fessura: «la notte prima del Palio» è la piazza scurita con le finestre
accese, il finale ha due occhi gialli nel nero, e il titolo sta sopra il panorama, perché l'illustrazione del titolo ha
il Regolo fra le mura. In più ci sono Condor, campana, pesca, basket e pokerino: a ogni fotogramma gioca da solo
un giocatore automatico (`gioca(…)`).
- 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 `pointermove` ogni 10 s.
- Una camminata lascia `game.task` in 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).