Compare commits

..
66 Commits
Author SHA1 Message Date
manzolo 8a2e49036d Versione 0.1.17 2026-10-26 23:44:06 +01:00
manzoloandClaude Opus 5.5 1e5f66c2b6 Cartello: finché il browser aspetta il tocco per il suono, le scritte restano ferme e si vede solo «Tocca per cominciare» (prima era invisibile); al tocco partono insieme alla musichetta, e «(Poca)» cade sul suo rumorino (Andrea: «era carino che il suono comparisse appena si vedeva»)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 23:38:57 +01:00
manzolo b1640f1f12 Versione 0.1.16 2026-10-26 23:35:55 +01:00
manzoloandClaude Opus 5.5 0e7a50493c Il cartello d'apertura: online, su un sito mai visitato, il browser bloccava la musichetta senza un gesto (in locale no, ci si gioca da giorni); ora in quel caso il cartello aspetta un tocco («Tocca per cominciare») e poi parte coi suoi tempi. La Ghiacciomobile non ripete più le battute due volte (la scelta la dice già Andrea). Licenza (codice MIT, storia e grafica CC BY-NC-SA, eccezioni per persone vere, palio, Suno, voci XTTS con la CPML, font OFL, Wikipedia), README riscritto, scripts/check-public.sh e make check-public dentro make verify. Prove nel browser con l'autoplay permesso, più una per il caso bloccato
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 23:30:48 +01:00
manzoloandClaude Fable 5.1 c2cb9b0194 A Campomigliaio, accanto all'Arcu, il Betino (motorino verde e crema con la scritta sul serbatoio) e la Ghiacciomobile (la Corsa nera): sprite di Codex dalle foto di riferimento di Andrea, battute di Andrea (guardandoli, e parlando alla macchina che non risponde), voci; «Ghiacciomòbile» nella pronuncia
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 23:06:19 +01:00
manzoloandClaude Fable 5.1 5392f042b3 nginx: tipo MIME per jpg e mp4 (la foto del palio e i video arrivavano come application/octet-stream), cache lunga anche per loro e per il favicon; test che ogni estensione servita abbia il suo tipo
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 22:47:32 +01:00
manzolo ca3035e33f Versione 0.1.15 2026-10-26 22:42:15 +01:00
manzoloandClaude Fable 5.1 22be1c306e I cinque video «Come si gioca» dentro il gioco: pulsante «Guarda il video» nell'aiuto di briscola, tressette, scopa, bocce e biliardo, player a tutto schermo con l'audio (il gioco e la musica si fermano, Esc torna al tavolo). video/pubblica.py li taglia dall'arrivo nel posto, li comprime per il web (~4,5 MB l'uno) e fa la copertina. Il favicon e i video copiati anche nell'immagine Docker (il Regolino online dava 404); test che ogni cartella di assets usata dal gioco sia nel Dockerfile
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 22:37:19 +01:00
manzolo add5a5fe77 Versione 0.1.14 2026-10-26 22:03:12 +01:00
manzoloandClaude Opus 5.5 3019a6e32f Bocce: il clic fissa la mira come al biliardo, così andando verso la forza o «Lancia» il puntatore non la sposta più (scoperto girando il video: la boccia partiva a due passi). Copioni dei video «Come si gioca» di scopa, tressette, bocce e biliardo, e video/sovrapposte.py per controllare che il narratore non parli sopra i personaggi
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 21:23:23 +01:00
manzoloandClaude Opus 5.5 111b892916 Il favicon: un Regolino in pixel art con la corona (Codex, tools/favicon.py), da 16 a 512 pixel e per l'iPhone
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 18:51:11 +01:00
manzoloandClaude Opus 5.5 f1781afea8 Scelte dei dialoghi: i numeri non escono più a sinistra del pannello (il rientro segue il carattere pixel, largo tre caratteri e mezzo per «1. »; Andrea, schermata)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 18:50:48 +01:00
manzoloandClaude Opus 5.5 b44eeffd2a Fra Peppino da Gricignano passa dal sagrato della Pieve al Bosco ai Frati, davanti al convento dei francescani (Andrea); la polka del pallaio per le bocce (tools/polka_bocce.py: clarinetto, fisarmonica a contrattempo, basso um-pa)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 18:43:07 +01:00
manzolo 89ebdd40bb Versione 0.1.13 2026-10-26 18:34:08 +01:00
manzoloandClaude Opus 5.5 538bf6cedb Carte che volano: dalla mano al tavolo e, finita la presa, sul mucchietto di chi ha preso (briscola, tressette, scopa; Andrea: «non si capisce quando vengono buttate le carte»). Il valzer della balera ai tavoli da carte (tools/valzer_carte.py: fisarmonica musette, basso, melodia di mandolino col tremolo), musica per primo piano; video «Come si gioca»: cache del Chromium della VM spenta, narratore e personaggi a turno, musica di sottofondo, pronunce del narratore
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 18:17:23 +01:00
manzoloandClaude Opus 5.5 7e1e6f6144 Giochi di carte dopo la revisione di Codex sui tre insieme; player dei video «Come si gioca» e primo copione
Esito che vale e si salva appena deciso, per tutti i minigiochi (anche tornando al titolo dalla schermata del risultato); briscola: uscire durante il conteggio non perde più la vittoria; tressette: si esce ai 21 col primo evento che ci porta, accusa compresa (prima vinceva sempre Andrea se ci arrivavano tutte e due), il carico che fa vincere si dà anche se è il 2, accuse che non escono dal tavolo, convenzioni scritte nell'aiuto; scopa: primiera valutata per quel che migliora, finale esatto a mazzo finito, presa sulla tavola al rilascio con scelta e conferma, frecce e Invio sempre sulla presa scelta. Tastiera: Invio e Spazio giocano sempre la carta scelta. Tavola descritta a parole. Classi CSS comuni ai tre giochi.
Video: player nel gioco (pulsante «Guarda il video» nel «Come si gioca», compare quando il video esiste), video/narra.py per la voce del narratore, pezzi comuni dei copioni e il copione della briscola; scaletta in video/SCALETTA-CARTE.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 16:39:22 +01:00
manzoloandClaude Opus 5.5 30e324d7e2 Scopa agli 11 all'oratorio, e il tressette rivisto dopo la revisione critica di Codex
Scopa: toscane o napoletane (mattoni o denari), presa obbligatoria, la carta uguale prima delle somme, scelta fra più prese toccando la tavola, coi pulsanti o con frecce e Invio; scope (non all'ultima carta), carte, mattoni, settebello, primiera; tre livelli tarati (92, 64, 52%); test e prova nel browser.
Tressette: fuori ai 21 presa per presa, vittoria subito definitiva (Esc non la cancella più), accuse dette al proprio turno e col seme che manca del tris, striscio e busso meno rigidi, il socio risponde al busso, tiene il 3 e il 2, non esce d'Asso scoperto, legge il volo; tastiera col fuoco sulla carta scelta, tavola descritta a parole, riepilogo che aspetta Andrea. Stesso Esc corretto anche nella scopa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 15:59:10 +01:00
manzoloandClaude Opus 5.5 e8152563d8 Tressette ai 21 all'oratorio: in quattro a coppie, Andrea e il socio contro il giocatore di carte e l'altro. Obbligo di seme, punti in terzi e ultima presa, accuse (napoletana, tre o quattro Assi, 2 o 3), segni onesti di chi esce (busso, striscio, volo) coi loro suoni, si va ai 21 smazzata dopo smazzata. Avversari «Alla bona», «Seria» (gioca a regola ma non conta) e «A fassi male» (conta, legge semi finiti, accuse e busso del socio). Tavolo a quattro, pulsanti dei segni e della mano, tastiera B/S/V; test, taratura e prova nel browser
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 15:14:46 +01:00
manzolo fef236dc54 Versione 0.1.12 2026-10-26 14:34:08 +01:00
manzoloandClaude Opus 5.5 c82bef70b2 Oratorio: il libro della Storia infinita passa sulla prima tavolata, a sinistra del palo, lontano dal giocatore di carte (Andrea: «troppo vicini, non riesco a interagire»); test che li distingue
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 14:28:21 +01:00
manzolo e9907e3e66 Versione 0.1.11 2026-10-26 14:01:26 +01:00
manzoloandClaude Opus 5.5 92e7a289be Briscola all'oratorio: alle tavolate il giocatore di carte (segnaposto, sprite di Codex) sfida Andrea a briscola in due. Si sceglie il mazzo, toscane (cuori, mattoni, fiori, picche; gobbo, donna e regio) o napoletane, e il livello: «Alla bona», «Seria», «A fassi male» (conta le carte uscite, finale perfetto a mazzo finito, mai la mano altrui). Regole fedeli, conteggio delle prese a fine partita, rivincita, suoni di carte, comandi con mouse, tocco e tastiera. Carte e dorso col Regolo serpentello disegnati da Codex; motore e prove nel browser rivisti da Claude
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1dxvtsZx8NE9fwjXUNDBr
2026-10-26 13:56:39 +01:00
manzolo 2362fc7741 Versione 0.1.10 2026-10-26 00:19:14 +01:00
manzoloandClaude Opus 5.5 2dd4257fd4 Piazza: la Torre dello Scoronconcolo, con l'aneddoto di Michele del Tavolaccino (Lorenzino de' Medici, il duca Alessandro, le galere contro i Turchi), trovato da Andrea su Wikipedia
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-26 00:14:20 +01:00
manzolo d51f5e56ea Versione 0.1.9 2026-10-26 00:03:14 +01:00
manzoloandClaude Opus 5.5 7b7e0031d1 Biliardo: immagini e suoni insieme. Durante la steccata aspetta la fisica, non il disegno: la biglia parte quando la stecca la tocca, col suo suono, e si disegnano sempre le posizioni vere (segnalato da Codex: urti che sembravano senza contatto e suoni in anticipo di 180 ms)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 23:55:31 +01:00
manzoloandClaude Opus 5.5 94e9da4009 Difficoltà alle bocce e al biliardo, scelta nel dialogo con l'avversario: «Alla bona», «Seria», «A fassi male». Tarata con partite simulate contro un giocatore attento: al biliardo vince 9 su 12, circa 4 su 10 e quasi mai; alle bocce 72%, 50% e 35% delle mani. Battute nuove per Mariano e l'Ingegnere, test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 23:46:46 +01:00
manzoloandClaude Opus 5.5 bd66ea45ad Biliardo più bello (Codex): tavolo in pixel art visto dall'alto con cornice a fasce e diamanti, sala in penombra e luce delle lampade sul panno, segnapunti a cifre rosse, steccata e birilli che cadono animati, biglie in pixel, l'Ing. Tozzi a bordo tavolo che dà il gesso, esulta o allarga le braccia. Più: scritte a 8 punti (a 6 la B sembrava una D) e la stecca che torna a seguire il mouse finché un clic non fissa la mira (Andrea: «non riesco più a girare la stecca»)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 23:36:23 +01:00
manzoloandClaude Opus 5.5 9eabd5c6e1 Biliardo più preciso (revisione di Codex): urti calcolati nel punto esatto di contatto, anche nei colpi di taglio e veloci; la guida simula il tiro vero e mostra le due biglie dopo l'urto e i falli; la mira resta ferma andando sui comandi; frecce e Maiusc per la mira fine; comandi che non coprono il tavolo; test nel browser con mouse, touch e telefono. Più un tetto agli urti per passo, così due biglie a contatto non possono bloccare il gioco
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 23:12:46 +01:00
manzoloandClaude Opus 5.5 ddc877a2d1 Sala dei biliardi: trio jazz da circolo sintetizzato da zero (tools/jazz_biliardo.py: contrabbasso, piano elettrico, spazzole, vibrafono, swing in si bemolle) e un sottofondo con gli altri tavoli e il bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 22:59:43 +01:00
manzoloandClaude Opus 5.5 14a1e6e5b8 L'Ing. Tozzi nella sala dei biliardi (sprite di Codex dalla foto di Andrea): la sfida parte parlandogli, come con Mariano, con la rivincita dopo una vittoria; la sala in scala più alta, Andrea non sta più sotto il tavolo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 22:56:55 +01:00
manzolo 49bdfb313a Versione 0.1.8 2026-10-25 22:46:40 +01:00
manzoloandClaude Fable 5.1 416b9d46ef Sala dei biliardi: Andrea in proporzione col tavolo (la profondità era la metà: sembrava una formica)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 22:41:34 +01:00
manzoloandClaude Fable 5.1 7476c84b76 Il portone del Circolo 4 Maggio: «Apri» fa entrare (prima rispondeva «Non si apre»)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 22:36:20 +01:00
manzoloandClaude Fable 5.1 053728a086 Circolo 4 Maggio: dal portone in piazza si entra nella sala dei biliardi (sfondo in stile Lucas fatto da Andrea con Codex) e al primo tavolo si gioca a biliardo coi cinque birilli contro l'Ing. Tozzi (battute provvisorie, sprite da fare). Motore nuovo: fisica delle biglie e delle sponde, birilli che cadono, regole e falli del gioco italiano, avversario che prova i colpi a vuoto un po' per fotogramma; disegno dall'alto con stecca, linea di mira e biglia fantasma; stessi comandi delle bocce (pannello, tastiera, pressione); suoni; test; nelle idee la foto per i rigori
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 22:34:19 +01:00
manzoloandClaude Opus 5.5 394e8bdde3 Musica su iPhone e iPad: il volume lì è di sola lettura, la dissolvenza non arrivava mai a zero e il brano vecchio restava sotto quello nuovo (organo e paese insieme nella Pieve). Il livello si tiene a parte e lo zero diventa muto; test che simula iOS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 21:49:16 +01:00
manzoloandClaude Opus 5.5 ca56a9df17 L'Arcu: «S'ha andà a fallo!?!?» – «Gnamo! Ma prima mi fo una segarettina...»; al Trebbio Andrea ci sale a piedi e ha trovato la sua strada (lui che non sa cosa fare da grande); voci e test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 21:44:20 +01:00
manzoloandClaude Opus 5.5 b0b2fc0ed3 Ponte sulla Sieve: il tabernacolo custodisce la copia dell'Annunciazione di Antonio Berti (originale del 1947), con voci nuove
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 21:29:13 +01:00
manzoloandClaude Opus 5.5 f56c9b5358 Idee: altri minigiochi come le bocce (passamano, carrette, bandierine, caccia al tesoro, briscola, rigori)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 20:12:42 +01:00
manzoloandClaude Opus 5.5 70f328c56d Telefono in verticale: la Pausa prende tutto lo schermo, la versione e la spiegazione non finiscono più sopra i verbi
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 20:06:48 +01:00
manzolo 0a0bb7eea4 Versione 0.1.7 2026-10-25 19:59:06 +01:00
manzoloandClaude Opus 5.5 16759006b1 Fra Peppino da Gricignano sul sagrato della Pieve (battute provvisorie); al campo secondario, chi vuole giocare a padel trova una macchina del tempo senza plutonio (Alvarino?)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 19:49:17 +01:00
manzolo 7c49c3e260 Versione 0.1.6 2026-10-25 19:30:39 +01:00
manzoloandClaude Opus 5.5 817cfbd7fd Gli sprite di Fra Peppino da Gricignano (Codex, dalla foto di Andrea): pronti, ancora da mettere sul sagrato
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 19:26:23 +01:00
manzoloandClaude Opus 5.5 44485cff52 Bocce più vere (lavoro di Codex): mira libera sul campo o nel dettaglio del pallino, forza regolabile senza tempismo, urti fra masse diverse, tira chi non ha il punto, distanze in centimetri, suoni di rotolamento e urto, comandi anche a pulsanti e tastiera; test aggiornati alle nuove regole
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 19:26:23 +01:00
manzoloandClaude Opus 5.5 a0201fea18 Organo della Pieve: anche la melodia sull'organo (registro principale), senza il flauto che sembrava un theremin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 19:02:24 +01:00
manzoloandClaude Opus 5.5 c4bac08c02 Le bocce al pallaio contro Mariano: si tiene premuto per la forza, tre bocce a testa, vince il più vicino al pallino; se vinci, «Hai vinto, ti ci porto!» a Brento Sanico (sfondo e Mariano di Codex dalle foto di Andrea)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 18:59:09 +01:00
manzoloandClaude Opus 5.5 7f0584f0fc Dentro la Pieve un organo soave (tools/organo.py); il Federer del Tozzino si è fermato a Pratolino a mettere le catene
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 18:37:04 +01:00
manzolo 447c150974 Versione 0.1.5 2026-10-25 18:26:34 +01:00
manzoloandClaude Opus 5.5 95e7777dbc La vecchietta: «Secondo me va in Fortezza solo per farsi le canne»
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 18:22:47 +01:00
manzoloandClaude Opus 5.5 26697cd9c2 Il vecchietto nuovo, dalla foto di Andrea: giacca blu, camicia azzurra e cravatta, stesse otto pose (Codex)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 18:21:42 +01:00
manzoloandClaude Opus 5.5 de303c5825 Suoni d'ambiente sintetizzati (vento, acqua, uccelli, grilli, campane) col loro volume in Pausa; la fessura in primo piano: si cerca col fascio della torcia il quadro e gli occhi (lavoro di Codex). La foto del palio leggibile da nginx, e un test che lo controlla per tutti i file serviti
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 18:17:01 +01:00
manzoloandClaude Opus 5.5 1fabb6e543 Video della partita completa (pomeriggio → sera) con voci e musiche rimontate dal registro audio del copione; inventario: nomi lunghi su due righe dentro il pulsante
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 17:36:06 +01:00
manzoloandClaude Opus 5.5 32a3d8a7c5 Risposte su misura ai tentativi sbagliati (squama, torcia, ghiacciolo, libro a vecchietti, leone, San Pietro, Tosca, torre, amici); il pettegolezzo che cambia con le scoperte (vecchietti, Arcu, Tosca); l'Arcu senza memoria; le altre idee di Codex in IDEE.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 14:56:02 +01:00
manzolo 4bda52d9ac Versione 0.1.4 2026-10-25 14:28:24 +01:00
manzoloandClaude Opus 5.5 ec008b5ea1 Salutando l'Arcu: «Ci si becca da i' Trappola, ai' Barrettino!»
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 14:24:53 +01:00
manzoloandClaude Opus 5.5 73f3418bab Il cancello dell'oratorio: «se chiudo gli occhi vedo ancora l'A. Bettini», letto «Abbettini»
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 14:14:37 +01:00
manzoloandClaude Opus 5.5 ce4e47a2ed Chiudendo il libro: il «Nulla» viaggia troppo velocemente nell'animo umano
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 14:13:00 +01:00
manzoloandClaude Opus 5.5 f6fd2fdfdc Il libro dell'oratorio in primo piano: copertina, frontespizio, una pagina che gira col fruscio e «FINE» (immagini di Codex, testi disegnati dal codice); l'Arcu a scelte (Borgo e la Casa dell'Armando); il cancello dell'oratorio e l'A. Bettini
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 14:06:12 +01:00
manzoloandClaude Opus 5.5 9d9dc81bcb Idee: le mutande del Barone e la racchetta del Tozzino
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 13:21:59 +01:00
manzolo bc19d6be53 Versione 0.1.3 2026-10-25 13:15:45 +01:00
manzoloandClaude Opus 5.5 c54023083a Il Tozzino con una voce da ragazzo (Xavier Hayasaka, più alta)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 12:46:01 +01:00
manzoloandClaude Opus 5.5 af6861350d Mappa: filtrando, i posti trovati si vedono (la mappa non resta lunga e scorsa in fondo); il Barone e le sue due donne e due jack; prove nel browser su una porta libera (con la 8080 giravano sul container)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 12:40:48 +01:00
manzolo 53da1e48f8 Versione 0.1.2 2026-10-25 11:38:04 +01:00
manzoloandClaude Opus 5.5 019c3110f9 L'Arcu davanti al circolino («E chi lo sposta???»), il Tozzino al cancello del tennis che aspetta Federer, il BaronDeDuke alla polisportiva senza mutande: sprite di Codex, voci e test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 11:27:24 +01:00
manzoloandClaude Opus 5.5 17a4a01f6d make deploy: in locale tiene solo latest e l'immagine appena pubblicata
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
2026-10-25 10:55:45 +01:00
344 changed files with 10167 additions and 260 deletions
+3
View File
@@ -12,6 +12,9 @@ COPY assets/fonts /usr/share/nginx/html/assets/fonts
COPY assets/voices /usr/share/nginx/html/assets/voices
COPY assets/credits /usr/share/nginx/html/assets/credits
COPY assets/effects /usr/share/nginx/html/assets/effects
COPY assets/closeups /usr/share/nginx/html/assets/closeups
COPY assets/favicon /usr/share/nginx/html/assets/favicon
COPY assets/video /usr/share/nginx/html/assets/video
# Le immagini e i font citati da index.html e style.css prendono ?v=<versione>, come quelli caricati dal codice.
RUN cd /usr/share/nginx/html \
+71
View File
@@ -0,0 +1,71 @@
Licenze de «La Leggenda del Regolo»
Il progetto è un gioco gratuito e non commerciale. Ha due parti con licenze diverse: il codice, e tutto il resto.
================================================================================
1. IL CODICE: licenza MIT
================================================================================
Vale per tutto ciò che sta fuori dalle cartelle assets/, docs/ e video/: i sorgenti in src/, i test, gli strumenti
in tools/, gli script, index.html, style.css, i file di configurazione.
MIT License
Copyright (c) 2026 Andrea Manzi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of
the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================================================
2. LA STORIA, LA GRAFICA, LA MUSICA: Creative Commons BY-NC-SA 4.0
================================================================================
Vale per la storia e i dialoghi (src/story/), i documenti in docs/, gli sfondi, i primi piani, le icone e gli sprite
dei personaggi inventati (assets/scenes, assets/closeups, assets/icons, assets/effects, assets/favicon, e in
assets/characters quelli che non ritraggono persone vere), le musiche composte e sintetizzate dagli script in tools/
(assets/audio/biliardo.mp3, carte.mp3, bocce.mp3, pieve.mp3, cartello.mp3) e i video «Come si gioca» (assets/video).
© 2026 Andrea Manzi. Si possono copiare, ridistribuire e rielaborare citando l'autore, per scopi non commerciali,
e distribuendo le opere derivate con la stessa licenza. Testo completo: https://creativecommons.org/licenses/by-nc-sa/4.0/
Gli sfondi sono stati disegnati con strumenti di generazione di immagini (OpenAI) a partire da fotografie di San
Piero a Sieve, quasi tutte di Andrea Manzi; la provenienza di ognuno è registrata in docs/IMMAGINI.md (la foto
dell'interno della Pieve è di Mariano Mirannalti, citato nei Ringraziamenti).
================================================================================
3. ECCEZIONI: cose che NON si possono riusare, o che hanno una licenza propria
================================================================================
a) Le persone vere. I ritratti in pixel nei Ringraziamenti (assets/credits/) e gli sprite dei personaggi ispirati a
persone vere (vecchietti, Mariano, l'Ing. Tozzi, il Tozzino, il BaronDeDuke, l'Arcu, Fra Peppino e gli altri
indicati nei commenti di src/story/story.js) sono pubblicati con il consenso delle persone ritratte, SOLO per
questo gioco: tutti i diritti riservati, non si possono riusare altrove. Lo stesso vale per i nomi e i ricordi
delle persone del paese che compaiono nella storia.
b) La fotografia del palio del 2007 (assets/closeups/palio-2007.jpg) ritrae il quadro dipinto dai ragazzi delle
scuole medie di San Piero a Sieve: tutti i diritti riservati agli autori, pubblicata qui per il gioco.
c) Le musiche di Andrea Manzi generate con Suno (assets/audio/titolo.mp3, paese.mp3, sera.mp3, fortezza.mp3,
ricordi.mp3) si usano alle condizioni d'uso di Suno e non sono coperte dalla licenza Creative Commons.
d) Le voci dei personaggi (assets/voices/) e la voce narrante dei video (assets/video/) sono sintetizzate con
XTTS-v2 di Coqui, distribuito con la Coqui Public Model License (https://coqui.ai/cpml, testo in
docs/LICENZA-CPML.txt): i file audio che ne derivano si possono usare SOLO per scopi non commerciali.
e) Il carattere Press Start 2P di CodeMan38 (assets/fonts/) è distribuito con la SIL Open Font License 1.1: il testo
della licenza è in assets/fonts/OFL-press-start-2p.txt.
f) L'aneddoto della Torre dello Scoronconcolo riprende, riformulati, i fatti della voce «Michele del Tavolaccino»
di Wikipedia in italiano (CC BY-SA 4.0): https://it.wikipedia.org/wiki/Michele_del_Tavolaccino
Monkey Island e La storia infinita sono citati come ricordi: i marchi e le opere restano dei rispettivi titolari.
+8 -2
View File
@@ -23,7 +23,7 @@ DST ?= assets/scenes/$(notdir $(SRC))
CROP ?=
COLORS ?= 64
.PHONY: help serve open test browser verify bump voci voci-elenco sfondi sfondi-genera sfondi-confronto background character \
.PHONY: help serve open test browser verify check-public bump voci voci-elenco sfondi sfondi-genera sfondi-confronto background character \
build up down restart logs ps shell image-size deploy deploy-logs clean distclean
## ------------------------------------------------------------ sviluppo
@@ -50,7 +50,10 @@ test: ## Test della logica, della storia, della soluzione completa e del generat
browser: ## Partita completa nel browser con Playwright
$(NODE) tests/browser.mjs
verify: test browser ## Tutti i controlli
verify: test browser check-public ## Tutti i controlli
check-public: ## Prima di pubblicare: niente prompt, fogli grezzi, segreti o nomi della rete di casa (tutta la storia)
bash scripts/check-public.sh
bump: ## Nuova versione (PARTE=patch|minor|major): verifica, commit e tag v<versione>; poi make deploy
scripts/bump.sh $(or $(PARTE),patch)
@@ -143,6 +146,9 @@ deploy: ## Pubblica l'ultimo commit: test, immagine costruita e provata qui, spe
scp -q $(DEPLOY_TMP)/docker-compose.homeserver.yml $(DEPLOY_HOST):$(DEPLOY_DIR)/docker-compose.yml
docker save $(IMAGE):latest | gzip | ssh $(DEPLOY_HOST) 'gunzip | docker load -q && cd $(DEPLOY_DIR) && docker compose up -d && docker image prune -f >/dev/null'
rm -rf $(DEPLOY_TMP)
@# Sul server il prune toglie l'immagine vecchia; qui restano solo latest e quella appena pubblicata.
@docker image ls $(IMAGE) --format '{{.Tag}}' | grep -v -x -e latest -e $$(git rev-parse --short HEAD) | \
xargs -r -I{} docker image rm -f $(IMAGE):{} >/dev/null
@echo "→ $(DEPLOY_URL) ($$(git log -1 --format='%h %s'))"
deploy-logs: ## Log del container sul server di deploy
+46 -48
View File
@@ -1,68 +1,66 @@
# La Leggenda del Regolo
Avventura grafica punta-e-clicca ambientata a San Piero a Sieve, nella settimana del Palio della Fortezza del 2007.
Il palio, il quadro dipinto dai ragazzi delle medie, è sparito: un ragazzo del paese deve ritrovarlo prima della festa.
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.*
Progetto in fase di ideazione: il documento di progetto è in [`docs/PROGETTO.md`](docs/PROGETTO.md).
Per ora c'è un prototipo del motore con due scene di prova e grafica provvisoria.
Si gioca online su **https://50037.manzolo.it** (50037 è il CAP di San Piero), nel browser, anche dal telefono.
È gratuito e non commerciale.
## Generare sfondi dalle fotografie
## Cosa c'è
Il generatore Python è `tools/genera.py`; istruzioni e prompt delle due nuove vedute
sono descritti in [`docs/GENERAZIONE_SFONDI.md`](docs/GENERAZIONE_SFONDI.md).
Lavora sulle foto di **San Piero a Sieve**, conserva i master a 1536×864 e permette
di prepararne copie a 640×360 per il gioco.
```zsh
python3 tools/genera.py --dry-run # elenco delle foto, nessuna API e nessun file scritto
```
## Voci dei personaggi
Ogni battuta ha la sua voce, generata con XTTS-v2 sulla GPU (licenza solo non commerciale): un mp3 per battuta in
`assets/voices/`, la voce di ogni personaggio in `tools/voci.json` (castello e leone con altezza ed eco proprie).
```zsh
make voci # solo le battute nuove o cambiate; i file che non servono più si tolgono
make voci RIFAI='Ci sei?' # ritenta una battuta storpiata (XTTS è casuale: di solito il secondo tentativo va)
make voci-elenco # cosa manca, senza generare
```
Il test `tests/voices.test.mjs` fallisce se una battuta non ha la sua voce: dopo aver cambiato un testo, `make voci`.
- **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
```zsh
python3 -m http.server 8000 # poi http://localhost:8000
```
Clic = azione più sensata (parla, guarda, vai); clic destro o pressione lunga = guarda; un verbo scelto vale per il
clic successivo. Spazio salta la battuta, i numeri scelgono nel dialogo, Esc annulla il verbo.
## In Docker
Niente da installare e niente da compilare: HTML, CSS e moduli JavaScript ES.
```zsh
make up # http://localhost:8080 (DOCKER_PORT=… per cambiarla)
make down
python3 -m http.server 8000 # poi http://localhost:8000
```
## Struttura
Oppure `make up` (Docker, su http://localhost:8080). Non aprire `index.html` con `file://`: i moduli vogliono HTTP.
- `src/engine/`: motore senza storia (`game.js` logica e coda delle azioni, `geometry.js` area calpestabile e
percorsi, `command.js` verbi e clic, `render.js` disegno, `storage.js` salvataggio);
- `src/story/`: la storia come dati (`story.js`) e la sua soluzione completa (`solution.js`);
- `src/main.js`: collega tutto alla pagina;
- `assets/scenes/`: sfondi a 640×360, preparati con `tools/prepare_background.py` dagli originali in `assets/raw/`.
- `assets/characters/`: fogli dei personaggi, tagliati con `tools/slice_sprites.py` e allineati con
`tools/prepare_character.py` (istruzioni in testa al file).
## Come è fatto
## Test
- `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) e `npm run browser` (Playwright: percorre
tutta la soluzione dell'avventura, su desktop e telefono); `npm run browser:briscola`, `:tressette`, `:scopa`,
`:biliardo`, `:effects` per 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) e `STATO.md` (dove siamo, cosa manca).
```zsh
npm test # logica, storia coerente, soluzione percorsa dall'inizio alla fine
npm install && npx playwright install chromium-headless-shell
npm run browser # partita completa con clic veri in Chromium, salvataggio, telefono
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 l'ultimo commit (immagine Docker spedita al server)
```
## 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`](LICENSE).
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+70
View File
@@ -0,0 +1,70 @@
{
"image": "arcu.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 42,
"h": 120,
"ax": 20.9,
"ay": 120
},
"blink": {
"x": 44,
"y": 0,
"w": 42,
"h": 120,
"ax": 20.3,
"ay": 120
},
"talk": {
"x": 88,
"y": 0,
"w": 42,
"h": 120,
"ax": 20.9,
"ay": 120
},
"explain": {
"x": 132,
"y": 0,
"w": 66,
"h": 120,
"ax": 24.3,
"ay": 120
},
"laugh": {
"x": 200,
"y": 0,
"w": 46,
"h": 121,
"ax": 17.8,
"ay": 121
},
"point": {
"x": 248,
"y": 0,
"w": 65,
"h": 121,
"ax": 24.9,
"ay": 121
},
"shrug": {
"x": 315,
"y": 0,
"w": 78,
"h": 121,
"ax": 36.9,
"ay": 121
},
"arms_crossed": {
"x": 395,
"y": 0,
"w": 43,
"h": 121,
"ax": 19.4,
"ay": 121
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

+70
View File
@@ -0,0 +1,70 @@
{
"image": "barondeduke.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 47,
"h": 120,
"ax": 21.7,
"ay": 120
},
"blink": {
"x": 49,
"y": 0,
"w": 47,
"h": 120,
"ax": 21.5,
"ay": 120
},
"talk": {
"x": 98,
"y": 0,
"w": 48,
"h": 120,
"ax": 21.8,
"ay": 120
},
"explain": {
"x": 148,
"y": 0,
"w": 61,
"h": 120,
"ax": 23.9,
"ay": 120
},
"laugh": {
"x": 211,
"y": 0,
"w": 53,
"h": 117,
"ax": 26.6,
"ay": 117
},
"cards": {
"x": 266,
"y": 0,
"w": 56,
"h": 118,
"ax": 24.1,
"ay": 118
},
"shrug": {
"x": 324,
"y": 0,
"w": 73,
"h": 117,
"ax": 35.7,
"ay": 117
},
"facepalm": {
"x": 399,
"y": 0,
"w": 53,
"h": 117,
"ax": 27.3,
"ay": 117
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

+14
View File
@@ -0,0 +1,14 @@
{
"image": "betino.png",
"height": 104,
"frames": {
"idle": {
"x": 0,
"y": 0,
"w": 161,
"h": 104,
"ax": 80.5,
"ay": 104
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

+70
View File
@@ -0,0 +1,70 @@
{
"image": "fra-peppino.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 50,
"h": 120,
"ax": 24.0,
"ay": 120
},
"blink": {
"x": 52,
"y": 0,
"w": 50,
"h": 120,
"ax": 23.9,
"ay": 120
},
"talk": {
"x": 104,
"y": 0,
"w": 50,
"h": 120,
"ax": 23.7,
"ay": 120
},
"explain": {
"x": 156,
"y": 0,
"w": 61,
"h": 121,
"ax": 27.6,
"ay": 121
},
"laugh": {
"x": 219,
"y": 0,
"w": 54,
"h": 119,
"ax": 24.3,
"ay": 119
},
"bless": {
"x": 275,
"y": 0,
"w": 58,
"h": 119,
"ax": 27.6,
"ay": 119
},
"shrug": {
"x": 335,
"y": 0,
"w": 91,
"h": 119,
"ax": 43.3,
"ay": 119
},
"point": {
"x": 428,
"y": 0,
"w": 76,
"h": 119,
"ax": 31.2,
"ay": 119
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

+14
View File
@@ -0,0 +1,14 @@
{
"image": "ghiacciomobile.png",
"height": 144,
"frames": {
"idle": {
"x": 0,
"y": 0,
"w": 324,
"h": 144,
"ax": 162,
"ay": 144
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

+38
View File
@@ -0,0 +1,38 @@
{
"image": "giocatore-carte.png",
"height": 100,
"frames": {
"sit": {
"x": 0,
"y": 0,
"w": 67,
"h": 100,
"ax": 25.7,
"ay": 100
},
"talk": {
"x": 69,
"y": 0,
"w": 68,
"h": 100,
"ax": 27.6,
"ay": 100
},
"laugh": {
"x": 139,
"y": 0,
"w": 72,
"h": 99,
"ax": 19.3,
"ay": 99
},
"shuffle": {
"x": 213,
"y": 0,
"w": 67,
"h": 97,
"ax": 25.2,
"ay": 97
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

+70
View File
@@ -0,0 +1,70 @@
{
"image": "ing-tozzi.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 53,
"h": 120,
"ax": 27.9,
"ay": 120
},
"blink": {
"x": 55,
"y": 0,
"w": 54,
"h": 120,
"ax": 27.8,
"ay": 120
},
"talk": {
"x": 111,
"y": 0,
"w": 77,
"h": 119,
"ax": 29.9,
"ay": 119
},
"explain": {
"x": 190,
"y": 0,
"w": 58,
"h": 119,
"ax": 30.8,
"ay": 119
},
"laugh": {
"x": 250,
"y": 0,
"w": 53,
"h": 119,
"ax": 28.2,
"ay": 119
},
"chalk": {
"x": 305,
"y": 0,
"w": 52,
"h": 119,
"ax": 24.1,
"ay": 119
},
"shrug": {
"x": 359,
"y": 0,
"w": 87,
"h": 120,
"ax": 43.9,
"ay": 120
},
"cheer": {
"x": 448,
"y": 0,
"w": 56,
"h": 123,
"ax": 30.9,
"ay": 123
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

+22
View File
@@ -0,0 +1,22 @@
{
"image": "macchina-tempo.png",
"height": 158,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 361,
"h": 158,
"ax": 180,
"ay": 152
},
"talk": {
"x": 0,
"y": 0,
"w": 361,
"h": 158,
"ax": 180,
"ay": 152
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

+70
View File
@@ -0,0 +1,70 @@
{
"image": "mariano.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 40,
"h": 120,
"ax": 17.8,
"ay": 120
},
"blink": {
"x": 42,
"y": 0,
"w": 40,
"h": 120,
"ax": 17.9,
"ay": 120
},
"talk": {
"x": 84,
"y": 0,
"w": 40,
"h": 120,
"ax": 17.9,
"ay": 120
},
"explain": {
"x": 126,
"y": 0,
"w": 60,
"h": 120,
"ax": 20.9,
"ay": 120
},
"throw": {
"x": 188,
"y": 0,
"w": 80,
"h": 102,
"ax": 51.5,
"ay": 102
},
"laugh": {
"x": 270,
"y": 0,
"w": 41,
"h": 119,
"ax": 16.9,
"ay": 119
},
"measure": {
"x": 313,
"y": 0,
"w": 72,
"h": 91,
"ax": 38.0,
"ay": 91
},
"cheer": {
"x": 387,
"y": 0,
"w": 63,
"h": 118,
"ax": 27.5,
"ay": 118
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

+70
View File
@@ -0,0 +1,70 @@
{
"image": "tozzino.png",
"height": 120,
"frames": {
"stand": {
"x": 0,
"y": 0,
"w": 40,
"h": 120,
"ax": 20.6,
"ay": 120
},
"blink": {
"x": 42,
"y": 0,
"w": 41,
"h": 120,
"ax": 20.5,
"ay": 120
},
"talk": {
"x": 85,
"y": 0,
"w": 41,
"h": 120,
"ax": 20.6,
"ay": 120
},
"explain": {
"x": 128,
"y": 0,
"w": 65,
"h": 120,
"ax": 24.4,
"ay": 120
},
"laugh": {
"x": 195,
"y": 0,
"w": 40,
"h": 120,
"ax": 20.1,
"ay": 120
},
"watch": {
"x": 237,
"y": 0,
"w": 51,
"h": 119,
"ax": 25.5,
"ay": 119
},
"look_far": {
"x": 290,
"y": 0,
"w": 56,
"h": 120,
"ax": 27.9,
"ay": 120
},
"bounce": {
"x": 348,
"y": 0,
"w": 67,
"h": 117,
"ax": 21.1,
"ay": 117
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

+25 -25
View File
@@ -5,65 +5,65 @@
"sit": {
"x": 0,
"y": 0,
"w": 76,
"w": 77,
"h": 96,
"ax": 31.4,
"ax": 32.9,
"ay": 96
},
"doze": {
"x": 78,
"x": 79,
"y": 0,
"w": 76,
"w": 77,
"h": 96,
"ax": 31.5,
"ax": 33.0,
"ay": 96
},
"talk": {
"x": 156,
"x": 158,
"y": 0,
"w": 67,
"w": 68,
"h": 96,
"ax": 25.1,
"ax": 26.3,
"ay": 96
},
"explain": {
"x": 225,
"x": 228,
"y": 0,
"w": 62,
"w": 68,
"h": 96,
"ax": 27.4,
"ax": 29.9,
"ay": 96
},
"point": {
"x": 289,
"x": 298,
"y": 0,
"w": 74,
"w": 78,
"h": 97,
"ax": 31.5,
"ax": 33.3,
"ay": 97
},
"laugh": {
"x": 365,
"x": 378,
"y": 0,
"w": 70,
"w": 71,
"h": 97,
"ax": 23.2,
"ax": 22.8,
"ay": 97
},
"cat": {
"x": 437,
"x": 451,
"y": 0,
"w": 67,
"h": 95,
"ax": 24.1,
"ay": 95
"w": 68,
"h": 96,
"ax": 26.1,
"ay": 96
},
"shrug": {
"x": 506,
"x": 521,
"y": 0,
"w": 81,
"w": 83,
"h": 97,
"ax": 38.9,
"ax": 40.2,
"ay": 97
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More