Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9RWGMKV7n3K1mdy8T
La Leggenda del Regolo
Un'avventura grafica punta-e-clicca, nello spirito delle avventure anni '90, ambientata a San Piero a Sieve (Mugello) nella settimana del Palio della Fortezza del 2007. Il palio, il quadro dipinto dai ragazzi delle medie, è sparito: Andrea, un ragazzo del paese, deve ritrovarlo prima della festa, fra vecchietti che litigano sulle due leggende del Regolo, il serpente della Fortezza, e un paese disegnato dalle fotografie vere.
Al Lele, che mi ha fatto conoscere Monkey Island.
Si gioca online su https://50037.manzolo.it (50037 è il CAP di San Piero), nel browser, anche dal telefono. È gratuito e non commerciale.
Cosa c'è
- Il primo capitolo, dal pomeriggio alla sera: 38 scene, i dialoghi a scelte, l'inventario, la mappa del paese, il taccuino, il salvataggio automatico (e su file, per portarlo su un altro dispositivo).
- Le voci di tutti i personaggi, in toscano, e le musiche.
- I giochi del paese: la briscola, il tressette ai 21 e la scopa all'oratorio (con le carte toscane o le napoletane), le bocce al pallaio e il biliardo a cinque birilli al circolo, ognuno con tre livelli e un video «Come si gioca».
- Il paese vero: gli sfondi sono disegnati dalle fotografie di San Piero; i personaggi, con il loro consenso, da persone vere.
Giocare in locale
Il gioco si scarica da https://git.manzolo.it/manzolo/leggenda-del-regolo: nella pagina dei tag c'è lo zip di ogni versione (l'ultima è quella online). Niente da installare e niente da compilare: HTML, CSS e moduli JavaScript ES. Dentro la cartella scompattata:
python3 -m http.server 8000 # poi http://localhost:8000
Oppure make up (Docker, su http://localhost:8080). Non aprire index.html con file://: i moduli vogliono HTTP.
Come è fatto
src/engine/: il motore (camminata con i percorsi, verbi e clic intelligente, dialoghi, inventario, salvataggi, musica, voci, suoni d'ambiente sintetizzati, effetti animati) e i minigiochi (bocce.js,biliardo.js,briscola.js,tressette.js,scopa.js, ognuno col suo*-render.js).src/story/: la storia è dati, non codice: scene, oggetti, personaggi, dialoghi, soluzione (solution.js).assets/: sfondi, sprite, musiche, voci, carattere, video.tools/: gli strumenti (sprite dai fogli, voci con XTTS, musiche sintetizzate, favicon, taratura dei minigiochi).tests/:npm test(unità: regole, storia coerente, voci, salvataggi) enpm run browser(Playwright: percorre tutta la soluzione dell'avventura, su desktop e telefono, in tre processi paralleli;--parte=per una sola);npm run browser:briscola,:tressette,:scopa,:biliardo,:effectsper le parti singole.video/: i copioni dei video «Come si gioca» e della demo, girati in una macchina virtuale.docs/:PROGETTO.md(l'idea, i personaggi, la mappa) eSTATO.md(dove siamo, cosa manca).
make verify # sintassi, test, prova nel browser: quello che gira prima di ogni versione
make voci # le voci delle battute nuove (XTTS-v2 su GPU)
make bump # nuova versione: verifica, commit e tag
make deploy # pubblica la versione: immagine sul registry di Gitea, il server la scarica
Chi ha fatto cosa
Un gioco di Andrea Manzi (Manzolo). Idee, ricordi, foto e volti: gli amici di San Piero, nei Ringraziamenti del gioco. Programmazione con Claude e Codex; sfondi dalle fotografie di Andrea con gli strumenti di generazione di immagini; musiche di Andrea con Suno e, per i giochi, sintetizzate da script; voci con XTTS-v2; carattere Press Start 2P.
Licenze
Il codice è MIT; storia, grafica e musiche sintetizzate sono Creative Commons BY-NC-SA 4.0; le persone vere
ritratte, la foto del palio, le musiche di Suno e le voci XTTS (solo uso non commerciale) hanno le loro
condizioni. Tutto in LICENSE.