Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9RWGMKV7n3K1mdy8T
58 KiB
Stato dei lavori
Ultimo aggiornamento: 25 ottobre 2026. Da leggere insieme a PROGETTO.md all'inizio di ogni sessione.
Da riprendere (chiusura del 25 ottobre, notte)
Online su 50037.manzolo.it tutto fino agli effetti ambientali di Codex. Aperto, da decidere con Andrea:
- Chi racconta: Andrea vive il 2007 o lo racconta da adulto? Al bar c'è ancora il segnaposto «Questo lo sa solo Andrea»; le battute sul futuro (padel, Locura) dipendono da questa scelta.
- Il furto: un piccolo colpo di scena durante l'indagine (testimonianza, contraddizione); reazioni del paese.
- Enigmi con gli spiriti (scrivano del Trebbio, leone, San Pietro: lo stile per altri spiriti c'è) e aneddoti segnaposto da far sostituire a Francesco Bacci e agli amici.
- Frasi che promettono enigmi inesistenti (soldi per il bar, moduli al Comune, porte «interessanti»): da togliere.
- Consensi delle persone vere nominate o ritratte (Gianna, Pappia, i sette ritratti dei Ringraziamenti).
- Secondo capitolo: le gare (passamano, carrette, caccia al tesoro, bandierine/lavanderine) e forse lì la scelta del rione; musica delle gare.
- Il leone fantasma somiglia un po' ai leoni dei cartoni: Andrea non l'ha ancora commentato.
Dove siamo arrivati
-
La folla dell'Ingorgo che salta (31 ottobre): nelle cinque scene della festa la gente dipinta nello sfondo va su e giù a tempo (effetto
crowdin render.js: la fascia della folla tagliata in strisce verticali, ognuna sobbalza sul battito con una fase sua; due fasce per scena, dietro piano e davanti forte, albpmdelle luci della scena). -
Il risveglio senza arretrati (31 ottobre): le palpebre si disegnano nette su una tela 128×72 e si allargano con l'interpolazione (bordo morbido senza filtri né passate), tutto sulla tela principale, una versione sola. Con la grafica software delle prove (swiftshader) ogni lavoro grafico si paga alla prima lettura dei pixel: dopo il risveglio l'arretrato era di 24 s (filtro) o 14 s (sedici passate), ora un decimo di secondo; la 0.1.62 stava a 2,5. Da ricordare per gli effetti futuri: niente
ctx.filtere niente riempimenti trasparenti a tutto schermo ripetuti. -
La Smarronata del 1993 (31 ottobre): la festa delle castagne degli alpini di San Piero, sotto il ponte sulla Sieve fra il fiume e la strada del campo. Al Ponte sulla Sieve, sul lampione di destra, un vecchio cartello: si apre ingrandito (primo piano
manifesto_smarronata, Codex dal manifesto vero, senza lo sponsor), e toccandolo i ricordi di Andrea (l'attesa, gli alpini che sfilavano suonando, i ricci disegnati a scuola) e la macchina del tempo. Il cruscotto (17/10/1993), la partenza sulla strada del ponte, e la festa (smarronata_1993: il bruciatore delle bruciate, i sacchi, la legna, gli stand della polenta e del vino, il cartellone, il ponte) e dentro il tendone giallo (smarronata_tendone, le tavolate). Sfondi di Codex dai fotogrammi del video del 1993 (assets/raw/smarronata/). «Torna al 2007» o la scaletta riportano al ponte, e la macchina sparisce. Dalle scene del viaggio (anche il Barrettino) la mappa non porta più via. Test instory.test.mjs, provanpm run browser:smarronata. Il tendone col tetto a botte e la fascia tricolore (come nel video), i cartelli dipinti della polenta e del vino gratis da guardare nel tendone, il fuoco vivo sotto il cilindro (effettofire) col fumo. La gente (sprite di gruppo di Codex, inventati, vestiti come nel video): i volontari della Misericordia alle bruciate («Che Iddio ve ne renda merito!! A voi e agli alpini!»), la fanfara degli alpini, gli alpini della polenta e del vino, la gente coi cartocci (anche nel tendone), le coppie del liscio che girano (flourishcontinuo). La musica di Andrea (Suno): il liscio fuori, più forte vicino alle coppie (stages), la mazurca nel tendone. [DA ANDREA] le battute. -
Il minigioco delle bruciate (31 ottobre): dai volontari della Misericordia («Vi do una mano alla manovella?»), o usando il cilindro, si sceglie il livello e si gira la manovella a mano (
src/engine/bruciate.js, disegno inbruciate-render.js, sfondo di Codexassets/closeups/smarronata-bruciatore.png). Il gesto: tenendo premuto si fanno giri, grandi o piccoli e dovunque (conta quanto gira la direzione del dito); Spazio, frecce: una spinta a colpo. Troppo piano le castagne di sotto si carbonizzano e quelle di sopra restano crude, troppo forte volano nel fuoco; quando son cotte, «Rovescia nel sacco». Contano le buone su 18 (alla bona 10, seria 15, a fassi male 16); vincendo, il flagbruciate_fatte. Test inbruciate.test.mjs, provanpm run browser:bruciate. [DA ANDREA] le battute dei volontari; un premio (un cartoccio da portare via?). -
Il flipper del River / Il Regolo (31 ottobre): «Usa» o «Apri» il River in Via Provinciale, livello e partita. Motore
src/engine/flipper.js, disegnoflipper-render.js. Tavolo rifatto in lacca scura, metallo, rampe con ombre e luci ciano/ambra/viola, riflessi sulle palline e plastiche in rilievo; scena a 1280×720 con coordinate logiche 640×360, gli altri ambienti restano in pixel art. Fondale di Codex conservato nel riquadro illustrato del backglass; niente pannelli sopra il Trebbio. Superfici e bagliori in cache, senza disegnare la strada nascosta sotto il flipper. Pannello a destra con progressione, timer, moltiplicatore e prossimo obiettivo. Alleggerito (1 novembre): il mobile statico sta sullo sfondo CSS della tela (cabinetBehind), la tela si pulisce e basta; estremità e giunti arrotondati solo nei livelli in cache. Arretrato grafico da 4,2 s a 0,03 s per 150 fotogrammi (regole e misure nella memoria «effetti leggeri»).- Rampe FORTEZZA e TREBBIO: imbocchi centrali da 36 pixel, 27 utili alla pallina, salite accessibili con colpi medi, 15.000 punti. Tre passaggi sulla stessa rampa entro 20 secondi dal primo: LOCK e nuova pallina gratis. Un'altra rampa completata o il tempo esaurito interrompono la serie. Dopo il primo LOCK, primo passaggio nell'altra rampa SPECIAL: jackpot da 100.000; tre passaggi ravvicinati fanno il secondo LOCK.
- Due LOCK alzano la rampa centrale SUPER SPECIAL: 250.000 punti (× moltiplicatore), una pallina extra in riserva e, dal 1 novembre, Il Regolo del futuro. Un botto sintetico grave, lampo, onde d'urto, schegge colorate e scossa del mobile precedono l'apertura in due metà del piano classico. Trasformazione di 3,2 s: le tre palline restano protette, poi vengono servite sfalsate di 0,55 s verso le palette. Prima della SUPER, perdere la sostitutiva recupera l'ultimo lock senza scalare vite.
- Secondo campo vero, disegnato in codice: niente corsie dei rioni o banchi classici; altri respingenti, raccordi, tre percorsi sopraelevati e Regolo mobile sopra le palette. ORBITA DEL SERPENTE (loop esterno, 35.000 a giro), PONTE DELLA FORTEZZA (ponte incrociato, 50.000), SPIRA AL NEON (spirale più ripida, 65.000). Imbocchi dal basso, salita con perdita d'energia, quota e uscita nelle corsie interne; un tiro debole ricade senza punti. Tabellone digitale, circuiti e bastioni immaginari, luci ciano/viola/rosa, pulsazione musicale originale sintetizzata con Web Audio. È fantasia del mobile, nessun fatto nuovo sul paese.
- Tre sigilli: completare due volte ciascun percorso, in qualsiasi ordine e senza scadenza, poi colpire il Regolo mobile: +500.000 e ritorno al classico con pallina sulla molla, senza consumare vite. Anche perdendo l'ultima pallina si torna al classico, consumando una sola vita; il punteggio rimane. La SUPER si può riaprire. Durante il multiball perdere una delle altre palline non scala la riserva.
- Completare una serie di bersagli alza il moltiplicatore jackpot fino a ×3, azzerato alla perdita di una vita. Restano PONTI (+50.000 alternando le rampe entro 12 secondi), PALIO (+30.000), respingenti, bersagli e Regolo. Traguardi 60.000/120.000/200.000: una pallina premio una sola volta, vittoria acquisita anche uscendo prima.
- Uscite laterali da 14/12 pixel, corsie di ritorno alle palette più ampie. Il canale di 10 pixel dietro la Pieve, che portava la pallina dritta nell'uscita sinistra, è chiuso da due raccordi inclinati (1 novembre). Valvola inclinata alla corsia di lancio: il lancio passa, i ritorni dal campo vengono deviati a sinistra. Ogni pallina ha contatti, scia e anti-incastro propri; urti fra palline, palette mosse una sola volta per passo. Pausa ferma anche i timer.
- Luci che scorrono sulle rampe attive, frecce e spie 1/3–2/3–LOCK, rampa SUPER che si alza, fasci luminosi, scintille, particelle e fanfare distinte per jackpot, apertura SUPER e multiball; la pallina resta leggibile. Comandi: mouse, due dita, tasto destro, frecce, Spazio e pulsanti; istruzioni in «Come si gioca».
- Test
flipper.test.mjs: sequenze a tutti i livelli e in entrambi gli ordini, trasformazione protetta, rilascio sfalsato, fisica e punteggi dei nuovi percorsi, tiri reali dalla paletta, Regolo mobile, finale, ritorno e nuova SUPER, ball save, stato serializzabile e disegno senza mutazioni. I salvataggi dell'avventura continuano a usare il checkpoint prima del minigioco, come gli altri primi piani; la pausa mantiene il campo in corso e rilascia i comandi senza avanzare il tempo.npm test: 326 test verdi. node scripts/verify.mjs flipper: desktop e touch, comandi e pausa nel futuro, percorso fino al finale; schermate di esplosione, apertura, futuro, sigilli e ritorno in/tmp/regolo-flipper, guardate e corrette. Arretrato grafico misurato separatamente su 150 fotogrammi classici, esplosione/apertura e futuro, con lettura dei pixel prima e dopo. Fondali sullo sfondo CSS, binari e pannelli in cache, onde e schegge leggere; niente filtri o tratti arrotondati nel disegno dinamico. Soglia per ogni misura: 1,5 s. Verifica finale (1 novembre):REGOLO_GPU=0, SwiftShader, classico/esplosione/futuro 31/56/26 ms desktop e 27/22/22 ms touch. Anche il comando senza variabili passa, selezionando SwiftShader.REGOLO_GPU=1: 30/17/25 ms desktop e 23/18/20 ms touch, ma il renderer effettivo èANGLE (Mesa, llvmpipe (LLVM 21.1.8 256 bits), OpenGL ES 3.2): ancora software. In questo ambiente non sono esposti dispositivi GPU; la misura su scheda video fisica resta da fare su un host che la esponga. Schermate del secondo backend in/tmp/regolo-flipper/llvmpipe. [DA ANDREA] battute, premio nell'avventura (flipper_vinto), record persistente per livello.
-
Dedica allo zio Mario (31 ottobre): nei Ringraziamenti, sotto quella al Lele e più piccola: «Al mio caro zio Mario, che mi ha fatto vivere tante avventure più belle della fantasia.»
-
Il Taglia (31 ottobre): tolte le battute sulla sua altezza (Baldoria: non gli fa piacere).
-
Il Muro del Sanpierino sul telefonino del Barone (31 ottobre): il Barone ora ha un dialogo a scelte (le mutande, oppure «Hai visto cosa c'era sul muro del Sanpierino?»). Col muro tira fuori il telefonino, che sale dal basso come il libro (primo piano
muro_sanpierino,src/engine/telefono.js, telefonino di Codex); nello schermo la home di sanpiero50037.it dalla Wayback Machine (31 dicembre 2007, senza la data in alto); un tocco la porta a tutto schermo, e il mattone «Nuovo muro del Sanpierino» apre il muro: una pagina vera sopra la scena (assets/muro, iframe#muro), rifatta datools/muro.pydal muro riesumato (~/Workspaces/misc/spswall): stesso markup e CSS, i 24 messaggi veri del dump di novembre 2007 (Andrea: «quelli veri»; senza email né IP). I 654 ritrovati nella Wayback Machine (2004-2012) restano solo nel muro riesumato in locale, separati dal gioco (Andrea, 31 ottobre). In cima quelli del gioco (messagesdel primo piano, ognuno col suowhen). «Scrivi» spento, niente email (Andrea); «Aggiorna» ricarica e fa comparire i messaggi arrivati con la storia; «Home» torna alla home sul telefonino. Test instory.test.mjs, provanpm run browser:telefono. [DA ANDREA] battute e messaggi del gioco, le cose del 2007-2008 sulla home (Ingorgo Sottozero, dicembre), e i consensi di chi ha scritto sul muro (i soprannomi dei 24 messaggi; per i 654 dell'archivio, se mai entrassero nel gioco: togliere cognomi e messaggi pesanti, e un modo per chiedere di toglierli). -
Il risveglio sulla panchina (31 ottobre): la partita non comincia più con Andrea in piedi in piazza ma col risveglio dopo una notte brava (primo piano
risveglio,src/engine/risveglio.js): visto da dentro gli occhi, le palpebre si aprono a fatica e ricascano due volte, la piazza è sfocata e doppia e ondeggia, poi si schiarisce; si è sulla panchina dei vecchietti, che danno la notizia del palio sparito. Il pulsante «Salta» lo salta. Testrisveglio.test.mjs, provanpm run browser:risveglio. [DA ANDREA] le battute, e l'ultima riga dell'introduzione. -
L'Ingorgo Sonoro (30 ottobre, extra): in piazza il vecchio manifesto dell'Ingorgo (
manifesto_ingorgo); guardandolo si apre ingrandito (primo pianoposter,manifesto-ingorgo.png: Codex dal manifesto vero del 2014, senza sponsor né data); toccandolo, «Quanto darei per essere all'Ingorgo stasera?!?», poi l'effetto speciale (primo pianoincanto,incanto.js: fasci di luce, cassa che accelera, lampo bianco, coriandoli) e il centro diventa la notte della festa (flagingorgo, faseingorgo, sfondi di notte di Codex inbackdrops). La zona (story.zones): Piazza, Via dell'Antica Posta, Piazzetta del Comune, cima di Via dell'Antica Posta, Piazzetta Cambray Digny; uscendo (a piedi o con la mappa) si torna a maggio. Alla festa si clicca solo per spostarsi (zona conexitsOnly: panchine, porte e statue non rispondono). Le luci da discoteca animate solo alla festa (stagelights,lasers,mirrorball,floorspotsin render.js), rinforzate su richiesta di Andrea: colpo di colore a ogni battuta, strobo a raffica a fine frase, macchie che corrono sulla folla. In cima a Via dell'Antica Posta le luci sono quelle proposte da Codex (pixelbeams,mirrorball,stagechase,pixelspots): Andrea ha tenuto la sua palla a specchi lì, e le nostre «caciarone» altrove. Fasci che spazzano, bagliore a tempo, strobo, laser alla tecno, palla a specchi all'underground. Le console (stagesdelle scene,music.jsmix): più brani insieme, ognuno più forte vicino alla sua console, anche da fuori quadro (la piazza accanto). Generi provvisori: house in Piazza, latino al Comune, underground in cima a Via dell'Antica Posta, tecno a Cambray Digny; i brani sono di Andrea (Suno), portati al volume del gioco. Gli sfondi sono pieni zeppi di gente fino in primo piano (Andrea); la prima versione, con la piazza vuota davanti, inassets/raw/ingorgo-v1/. La voce legge «console» come «consòl» (tools/pronuncia.json). [DA ANDREA] i generi veri per piazza, le battute, i bar a tema; da fare: spillare la birra (minigioco) e bere. Il 31 ottobre: la folla davanti ad Andrea (dalla vita in giù,crowdFrontin render.js), Andrea con la birra alla festa (foglio di Codexandrea-birra: cammina col bicchiere, fermo lo alza a tempo), sotto una console si sente solo quella (mix), in cima a Via dell'Antica Posta si arriva sotto l'underground. Via Calimara entra nella festa (sfondo di Codex, console nel giardino con la palla a specchi) con la musica anni '90 di Andrea (Suno,ingorgo-anni90.mp3); da lontano la house della Piazza e il latino del Comune. Anche l'inizio di Via Cipriani (sfondo di Codex, console sul campo da basket, laser rossi e strobo, folla che poga a 180 battiti) con la hardcore techno di Andrea (Suno,ingorgo-hardcore.mp3). -
Baldoria al campo sportivo (30 ottobre): Yuri Baldi, dei Ringraziamenti, al Campo principale con la maglia blucerchiata e un bandierone della Sampdoria grande come lui, che ogni tanto sventola (
flourishdelle persone). Sprite di Codex (assets/raw/baldoria-sheet.png;make character … FIX=wave=1.2,…perché Codex ha disegnato più piccole le figure col bandierone in alto). Un dialogo breve. [DA ANDREA: le battute; la somiglianza va rivista con una sua foto] -
La campana al campone delle poste (30 ottobre): dal Taglia, «E una partita a campana, Taglia?», poi il livello. Primo piano
campanavisto dall'alto sul vialetto (campone-campana.png, Codex); la campana col gesso la disegna il codice (campana.js,campana-render.js): 1-2-3, coppia 4-5, 6, coppia 7-8 e in cima il mezzo cerchio con scritto CAMPANA (Andrea: non «cielo»), ogni casella tinta tenue col suo gesso. Il sassolino: la mira dà la direzione, tenendo premuto la forza va e torna, si lascia; deve cadere nella casella che tocca senza toccare le righe (alla bona le righe non contano e il puntino giallo mostra dove cade). I salti: la lancetta dell'equilibrio attraversa la barra e si preme nel verde (presto: giù l'altro piede; tardi: pestata la riga); si scavalca la casella col sassolino e tornando lo si raccoglie. Chi ce la fa passa alla casella dopo e ritira, chi sbaglia passa la mano; il Taglia gioca da solo (in simulazione gli servono circa 22, 10 e 6 turni secondo il livello). Vince chi finisce la 8 (flagcampana_vinta). Testcampana.test.mjs, provanpm run browser:campana. [DA ANDREA] le battute. -
La macchina del tempo da fuori (30 ottobre): dopo il cruscotto, la partenza giù per Via Liguri Magelli (primo piano
corsa,src/engine/corsa.js): accelera, il fulmine la prende, il bianco, e restano due sgommate di fuoco che bruciano e si spengono; al ritorno dal 1997 l'arrivo: il fulmine in fondo alla strada, lei viene avanti e ci passa accanto lasciando le strisce. La macchina da dietro e davanti (coi lampi) è di Codex. -
Lo zio Mario negli orti al tramonto (30 ottobre): dal tramonto (
indizio_regolo) non è più davanti alla Ghiacciomobile ma accanto al suo orto (orti_zio_mario), con una battuta provvisoria [DA ANDREA]. -
La Condor al campone delle poste (29 ottobre): la gara col Taglia (Andrea Tagliaferri, consenso dato) con la pistola ad aria compressa coi pallini gialli (
condor.js,condor-render.js, primo pianocondor, sfondo di Codex). Come la cerbottana: il mirino ondeggia col respiro; tenere premuto trattiene il fiato (il mirino si ferma), lasciare spara, troppo e il colpo parte da solo. Il pallino cala con la distanza (alla porta in fondo si mira sopra). Il cartone sull'albero (10/5/2), le lattine sulla panchina (3), le bottigliette sulla traversa (5), il palloncino all'altalena (6), la lattina tirata in aria dal Taglia a seria e a fassi male (8). Si deve battere il punteggio del Taglia (22, 34, 44 secondo il livello, ±3). Il Taglia sta al campone (sprite di Codex dalla sua foto, più alto di Andrea); si gareggia parlandogli. [DA ANDREA] le battute. -
La macchina del tempo e il pokerino del 1997 (29 ottobre): dall'Arcu sotto la tenda del Trappola, «Bei tempi quando qui si faceva i pokerini…»: compare la macchina del tempo in Via Liguri Magelli. Dentro, il cruscotto (Codex) compone 10/07/1997 18:30, poi tremori, lampi e il bianco (primo piano
viaggio,src/engine/viaggio.js, tempi inTRIPdigame.js): si arriva al Barrettino del 1997 (barrettino_1997, scenaviaggio: true: niente mappa né strade; la porta o il pulsante «Torna al 2007»,scene.backegame.goBack(), riportano nel 2007 e la macchina sparisce: per rifare il viaggio si richiede all'Arcu), con l'Arcu che viene a guardare, Vannino (dalla descrizione di Andrea) e Pierino Parigi (consenso del figlio Marco, 29 ottobre), sprite di Codex. Il pokerino (poker.js,poker-render.js): cinque carte col cambio, mazzo corto dal 7 all'asso (colore sopra il full, A-7-8-9-10 scala), invito 2, punto 5, cinque mani. [DA ANDREA] l'interno del Barrettino (è una proposta di Codex) e le battute. -
Nuovi posti dalle foto di Andrea (29 ottobre, sfondi di Codex): Via della Compagnia (fra Via de' Medici, la Pieve e Villa Adami), Via Cafaggio in tre tratti fino alla rotonda, la Provinciale sotto i platani, la passeggiata sulla Carza (cascatella, orti, dietro le poste, sotto il ponte delle poste, gli orti dello zio Mario), la strada fra il bivio della Provinciale e la stazione. Le strade vecchie passano ora da questi posti. Battute provvisorie [DA ANDREA]; foto originali in
assets/raw/foto/. -
La cerbottana (29 ottobre): in piazza, la bottega di Pierin di Frilli sotto la tenda rossa; si compra lo stucco verde e si tira al muro della piazza (
muro-cerbottana.png, Codex). Motorecerbottana.js, disegnocerbottana-render.js: si mira, si tiene premuto per il fiato (giusto al 70%: poco cade sotto, troppo va sopra), il mirino ondeggia col respiro, troppo a fiato pieno si tossisce. Bersaglio di gesso (10/5/2), lattine sul muretto (3), barattolo appeso (8, seria e a fassi male); 12 pallini, servono 30/40/50 punti; i pallini restano sul muro. Test incerbottana.test.mjsenpm run browser:cerbottana. [DA ANDREA] le battute, com'era la bottega, se far comparire Pierino (è scomparso da anni: decide Andrea). -
Il terrazzo di casa a Cardetole (29 ottobre): dalla foto di Andrea dalla finestra (il paese che sale e lassù la Fortezza), Codex l'ha dipinta e ci ha messo davanti il terrazzo (
terrazza-cardetole.png). Ci si sale da «casa di Andrea» a Cardetole; la battuta dell'apparecchiare ora è sulla porta-finestra. Battute provvisorie [DA ANDREA]. Come Cardetole, dice dove abita Andrea: da decidere prima di Pages. -
La Ghiacciomobile nel muro (29 ottobre): non è più al circolino di Campomigliaio. In Via Liguri Magelli, prima del tramonto (
!indizio_regolo), è schiantata dentro il muro giallo coi mattoni rotti e senza targa (via-liguri-magelli-muro.png, ritocco di Codex); dal tramonto il muro è rifatto e c'è la targa. Il motore ha le varianti di sfondo per scena (backdrops, conwhen;game.backdrop()). Lo zio Mario (sprite di Codex dalla foto di Andrea) davanti alla macchina che si gratta la testa; scala della scena rifatta (le persone erano troppo piccole). [DA ANDREA] le battute dello zio (scherzava su tutto, anche sulla morte) e quella dello schianto. -
GP di Fortezza, guida semplice (29 ottobre): alla bona e Seria si tiene premuto per il gas e lasciando si frena; lo sterzo segue la strada da solo (scansa le buche, sorpassa, prende la miscela), ma oltre la velocità che la curva regge il motorino scivola fuori verso la paglia (
SIMPLEingara.js). Ginocchio in terra resta con lo sterzo vero. Il pannello nasconde Sterza, Frena, swipe e sensibilità. Test ingara.test.mjsenpm run browser:gara. Seria più difficile (parere di Codex, simulato): sopra il 110% del limite in curva si esce di sicuro (stun 1,2 s), la curva pulita dà una spinta, rivali a 0,81; CURVA! (preavviso) e LASCIA! sul motorino. In simulazione: chi frena giusto 1° in 46 s, tutto gas 4°-5° in 55-59 s. -
La pista col gesso (29 ottobre, modifiche locali): le Micro Machines sul parcheggio di Cardetole contro il Chiaru (Matteo Chiarusi, sprite di Codex dalla foto di Andrea, accanto alla pista). Motore in
micro.js, disegno inmicro-render.js: pista disegnata a gesso dal codice sopra l'asfalto di Codex (micro-parcheggio.png), un giro, una spinta a testa (mira e carica come al biliardo), le macchinine di Codex (assets/closeups/micro/). Penalità alla francese, per tutte si torna dov'eri: fuori, tagliè (curva presa dalla parte di dentro o erba saltata), cappottè (urto forte), accompagnè (dito tenuto oltre la carica piena). Tre livelli: alla bona la guida mostra dove ci si ferma. Test intests/micro.test.mjse nel browser (npm run browser:micro). Battute del Chiaru provvisorie [DA ANDREA]; il Chiaru ha dato il consenso (29 ottobre). Poi: si sceglie la macchinina (sei, il Chiaru tiene la blu), la forza parte da zero appena si preme e la spinta parte quando si lascia; saluto «Vado a fare un girino alle case rosse» / «Vorrai dire un giochino!» / «Ciao Mattè»; Andrea chiama Bertovo «Fabri». Musica sua:assets/audio/macchinine.mp3(Andrea con Suno). -
Bertovo ora si chiama «Trappizzio Berti» in tutte le scritte (Andrea, 29 ottobre); l'id resta
bertovo. Fabrizio Berti e il suo libro «Memorie di sport e di paese» nei Ringraziamenti; l'idea delle cartoline inIDEE.md. -
I rinquarti di Bertovo (28 ottobre, modifiche locali): variante del biliardo in
rinquarto.jserinquarto-render.js, con fisica, mira, carica e suoni del biliardo. Sei posizioni riproducibili dal seme, diretto coperto da una biglia e almeno una soluzione di sponda verificata consimulateper ciascuna. Un tiro per posizione: punto al primo contatto col bersaglio dopo almeno 1/2/3 sponde (bona/seria/male), senza prima toccare biglie viola o birilli. Guide: fino alla seconda sponda / 65 cm e prima sponda / nessuna; vittoria con 3/3/2 punti su 6. Esito del tiro, contatore delle sponde e riepilogo finale persistente. Integrati primo piano, pannello, aiuto e dialogobertovocon scelta del livello; Bertovo resta senza sprite e senza scena: Andrea decide dove collocarlo. Battute provvisorie segnate[DA ANDREA]. Ripresa verificata connode --test tests/*.test.mjs(22 file, nessun rosso, comprese le voci già presenti) e 14 test mirati intests/rinquarto.test.mjs. Completata l'animazione dei birilli durante l'esito e nel riepilogo finale: anche un urto appena prima dell'arresto termina la caduta senza cambiare punti o risultato. Verifica visiva Playwright/SwiftShader ancora da eseguire: in questa sessione la sandbox impedisce l'avvio del server locale e di Chromium (Operation not permitted). Nessunmake voci, commit o pubblicazione. -
Briscola all'oratorio (26 ottobre): alle tavolate siede «Il giocatore di carte» (segnaposto, [DA ANDREA: chi è], sprite e battute provvisorie di Codex). Parlandoci si sceglie il mazzo (toscane o napoletane) e il livello («Alla bona», «Seria», «A fassi male»), poi briscola a due fedele alle regole, conteggio delle prese a fine partita e rivincita. Facoltativa: nessun flag serve alla soluzione. Motore
src/engine/briscola.js(Claude), disegnobriscola-render.js(Codex), dettagli e taratura indocs/BRISCOLA.md. Prova:npm run browser:briscola. Tressette ai 21 (stesso giocatore, «Un tressette ai 21?»): in quattro a coppie, busso/striscio/volo e accuse, motore e tavolo di Claude, regole e taratura indocs/TRESSETTE.md, provanpm run browser:tressette. Scopa agli 11 («Una scopa?»): carte, mattoni (o denari), settebello, primiera e scope, presa a scelta fra più possibili;docs/SCOPA.md, provanpm run browser:scopa. Con la scopa i giochi di carte sono finiti (decisione di Andrea, 26 ottobre). Tressette rivisto dopo la revisione critica di Codex (indocs/TRESSETTE.md). -
Multimedia (25 ottobre, modifiche locali): il libro sfogliabile già presente conserva immagini, battute e riapertura dall'inventario; il fruscio ora segue il volume degli effetti, non quello delle voci. Nuovi paesaggi sonori sintetizzati con Web Audio (
src/engine/soundscape.js, profili insrc/story/soundscapes.js): vento, acqua, uccelli di giorno e grilli di sera, campane, bicchieri, gocce e scricchiolii distanziati. In Pausa → Ambiente ed effetti si regola il volume, salvato nel browser. Muto, pausa e pagina nascosta fermano anche i suoni già avviati. La torcia nella fessura apre un primo piano: mouse, tocco/trascinamento o frecce spostano la luce; Invio aiuta a cercare il prossimo dettaglio. Pietra → palio → occhi; la musica si abbassa durante la ricerca. «Torna fuori»/Esc permette di riprovare; soltanto dopo gli occhi «Continua» avvia la conclusione. Nessun progresso parziale viene salvato. La tela usa la foto vera del 2007, ritagliata durante il disegno. Controllo mirato:npm run browser -- --media-only; il collaudo normale include anche queste prove. Verificatinpm testenpm run browser: soluzione completa, salvataggi, libro su desktop/telefono, torcia con mouse/tastiera/tocco/trascinamento, pausa e muto, segnale Web Audio senza saturazione. Schermate in/tmp/regolo-shots/media-*.pnge/tmp/regolo-shots/05b-fessura-*.png. I copioni video sono aggiornati ai gesti richiesti dalla torcia; il montaggio audio da file continua a includere solo musica e voci (gli effetti Web Audio non vengono esportati dal copione). -
Ambienti animati (25 ottobre): alle prove già presenti (bandiere del campeggio, fascio di luce nella Pieve, ombre al Bosco ai Frati) si aggiungono 51 dettagli nelle altre 35 scene. Configurazione in
src/story/ambience.js, richiamata dastory.js; nuovi disegni insrc/engine/ambient.js: piccioni in piazza, merli sui prati, gatto nel vicolo, farfalle, libellula sul ponticino, falena alla festa, increspature nelle pozze e nel torrente, gocce della fontanella, tende, passaggi dietro le vetrate, ombre di nuvole sul sentiero e sulle vigne. Riutilizzati anche ombre delle fronde, stoffe, finestre e lampioni. Le ombre delle fronde ora sono piccoli gruppi irregolari, senza gli ovali in fila che sembravano sassi. Tutte le 38 scene hanno almeno un effetto; quelli diurni si spengono di sera e gli animali fanno lunghe pause. Acqua, tende e vetrate usano ritagli locali; nessun asset aggiunto, nessun nuovo hotspot o flag narrativo. Le animazioni complesse di altalene/reti e il movimento isolato di grandi fronde restano da fare con elementi grafici separati: per ora quei luoghi hanno ombre e piccoli animali, senza deformare il fondale. Verificatinpm test,npm run browser(partita completa e telefono),npm run browser:effects(38 scene × 3 fasi × 4 istanti, ritagli, giorno/sera, pause degli animali, salvataggio invariato). Le immagini di controllo sono in/tmp/regolo-effects; si rigenerano connpm run browser:effects.
Si gioca in Docker su http://localhost:8080 (make up; Manzolo Rush è stato fermato per liberare la porta) e,
online dal 2026-10-23, su https://50037.manzolo.it (50037 è il CAP di San Piero), finché non va su GitHub Pages.
Dal 2026-10-31 il sito pubblico è sul VPS Contabo (CNAME 50037 → vps.manzolo.it, NPM del VPS col certificato
Let's Encrypt → container leggenda-regolo); la copia su home-server è stata tolta. Si aggiorna con make deploy:
test, immagine costruita e provata sul PC, spedita al VPS, e il controllo che https://50037.manzolo.it serva la
versione nuova.
-
Motore (
src/engine/): camminata con percorsi su aree concave, profondità, sette verbi + clic intelligente, clic destro / pressione lunga = guarda, inventario con "usa… con" e "dai… a", dialoghi a scelte (anche una tantum), salvataggio automatico con "Continua", fumetti sopra chi parla, impaginazione desktop e telefono. -
Scene con sfondi veri (
assets/scenes/), collegate come il paese a gradini (PROGETTO.md, «La mappa»): Piazza Colonna ↔ Pieve (livello 0) → Villa Adami (livello 1) → salita di Villa Adami con la casa del leone → Fortezza (fuori dalle mura) → sentiero → Castello del Trebbio. -
Altre scene (ottobre 2026, dalle foto di Andrea con Codex): Via de' Medici, Oratorio, Ingresso del campeggio, Bosco ai Frati, viale dei cipressi. Schermata del titolo (Fortezza al tramonto col Regolo) e introduzione a righe sul panorama del Mugello.
-
Musica di Andrea (Suno) in
assets/audio/: titolo e introduzione, paese, ricordi (Trebbio e fine), il GP di Fortezza (gara.mp3); volume e muto. -
Andrea vero dal foglio sprite (
assets/characters/,tools/slice_sprites.py+tools/prepare_character.py): cammina, parla, si china a prendere, di spalle davanti alle porte. -
Storia di prova (
src/story/story.js): il palio è sparito, i vecchietti litigano sulle due leggende, la squama sotto la panchina, le impronte sotto la Fortezza → fine del prototipo. Il Trebbio fa da "psicologo": parlando con la torre si riceve un indizio in base ai progressi. -
Cartello d'apertura «Manzolo (Poca) Art Presents» (5 s, si salta) prima del titolo.
-
Voci (
make voci, XTTS-v2 sulla GeForce): 112 battute, cinque voci (Andrea, vecchietta, vecchietto, castello, leone); il fumetto dura quanto la voce, la musica si abbassa mentre si parla, il muto spegne anche le voci. Controllate tutte con Whisper il 2026-10-23. Il leone ora parla (battute provvisorie). -
Mappa (pulsante in alto a sinistra o tasto P): i posti già visti, con le strade fra loro; un clic ci porta. Un posto nuovo entra con
map: [x, y]nella sua scena (percentuali della pianta, disposta come «il paese a gradini»). -
Crediti dal titolo e dalla fine (
story.credits), dedica al Lele in testa; musichetta a 8 bit del cartello (tools/jingle.py). -
Primo indovinello: la statua di San Pietro alla Pieve chiede quanti bastioni ha la Fortezza (la risposta la dà il bastione stesso); la chiave apre l'oratorio, che da lì resta aperto, e la chiave sparisce. Verbo Butta: solo gli oggetti
droppable(per ora il libro), quelli che servono alla storia no. Pulsante Pausa (o Esc). -
Il libro della storia infinita sulle tavolate dell'oratorio; le idee in attesa in
docs/IDEE.md. -
Test:
make test(29 test, compresa la soluzione completa dasrc/story/solution.js) emake browser(partita completa con clic veri in Chromium, ripresa del salvataggio, telefono). -
Impaginazione (1 novembre, Andrea: «come mai non sfruttiamo tutto lo schermo?»): la scena prende la finestra. La riserva sotto non è più 250 px fissi ma l'altezza vera del pannello, 13,3 unità
--u(un centesimo della larghezza del gioco,cqw, fra 8,75 e 12,8 px:#appè un container). Frase, verbi, inventario, risposte, HUD e fumetti scalano col gioco, non con la finestra: i verbi non si tagliano più nelle finestre piccole. Il pannello è alto sempre uguale (ci stanno quattro risposte; da cinque il carattere cala, da sette ancora) così la scena non si muove nei dialoghi; la frase è una riga sola coi puntini. «Schermo intero» nella Pausa (dove il browser lo permette). A 1040×590 la scena passa da 604 a 842 px di larghezza, a 1366×650 da 711 a 935; sui telefoni niente cambia. Prova inbrowser.mjs. -
Prove a sezioni (1 novembre, idea di Andrea):
scripts/verify.mjsconosce gli ingressi di ogni prova nel browser (i file da cui dipende: i propri, più il motore comune; per la partita intera tutto il gioco tranne i minigiochi a sé) e rifà solo quelle la cui impronta è cambiata dall'ultimo verde, ricordato in.verify-ok.jsonfuori da git. Cosìmake bumpdopo una modifica alla briscola riprova la briscola e basta; dopo una modifica alla storia la partita intera e le scene speciali (ambient, veicoli, ingorgo, smarronata), non la briscola; dopostyle.cssogame.jstutto. Le prove dei minigiochi, che prima non entravano inmake verify, ora ci stanno.make verify-planspiega. Nella pipeline di Gitea (runner sul PC) sui tag, o a mano, girano tutte e venti, una per job nell'immagine di Playwright, prima della release: il primo giro completo (1 novembre, a mano su main) verde in 17 minuti. -
Prove sulla scheda video (1 novembre, Andrea: «prova con la scheda video»): Chromium disegnava con swiftshader, sul processore: una schermata 633 ms. Con la RTX del PC (
--use-angle=gl-egl) 41 ms; micro da 283 a 27 s, briscola da 259 a 29, flipper da 186 a 10; tutte e venti da ~16 minuti (due alla volta) a ~4 (sei alla volta), tutte verdi. Le opzioni stanno intests/chromium.mjs: scheda video se c'è (/dev/dri,/dev/nvidia0), altrimenti swiftshader;REGOLO_GPU=0/1forza. Con 6 o 8 prove insieme il giro dura uguale: il limite è la partita intera (243 s, il tempo del gioco, non della grafica). La pipeline dà la GPU ai job (--gpus all, runtime NVIDIA di Docker); runner a 6 job. -
Schermo intero e flipper (1 novembre sera, Andrea): pulsante ⛶ accanto ai volumi e tasto F; il gioco non si ferma più a 1280 px (fino a 2560: a 1920×1080 la scena è 1553 px e prende tutta l'altezza). Nei minigiochi la scena lascia sotto lo spazio vero dei comandi (
fitControlsin main.js,--below; cresce subito, cala solo oltre 24 px, «Come si gioca» aperto non conta: una frase che va a capo faceva saltare il piano). Al flipper «Solo tavola» nasconde la pulsantiera (ricordato nel browser); sul telefono in orizzontale è nascosta sempre e «Lascia stare» sta in alto. La molla si carica toccando al centro (fascia 256-384), ai lati le palette anche prima del lancio; a pallina ferma la tavola dice «TIENI PREMUTO QUI». Ponti rifatti da Codex (parapetti, portali, luci che seguono la pallina). -
La prova del peso (1 novembre, Andrea: «senza GPU scoprivamo anche gli effetti troppo pesanti»): con la scheda video le prove non vedono più un effetto pesante.
tests/peso.browser.mjsusa sempre swiftshader e, nel gioco vero, in ogni scena nelle tre fasi e in ogni primo piano (il flipper anche in gioco e nel Regolo del futuro) misura fotogrammi al secondo e arretrato grafico: soglie 30 e 400 ms (una scena normale pochi ms; unctx.filterblur a tutto schermo 816, quaranta tratti larghi trasparenti 718). Due trappole trovate: leggere i pixel della tela del gioco la fa passare al processore (Chrome) e la misura cambia ciò che misura, quindi si legge una tela nuova 640×360; la prima visita di una scena paga il caricamento delle immagini, quindi prima si smaltisce. ~5 minuti, in parallelo con le altre; si rifà quando cambia un disegno (watchin verify.mjs), e nella pipeline sempre. -
Flipper da tastiera (1 novembre, Andrea): la freccia giù carica la molla come Spazio, i due Shift comandano le palette (sinistro e destro,
e.codepassato da main.js ai minigiochi). Test unitario e nel browser.
Materiale ricevuto da Andrea (in assets/raw/, escluso da git)
| File | Cosa | Uso previsto |
|---|---|---|
piazza-colonna.png, fortezza-esterno.png, trebbio.png |
sfondi puliti 16:9 | già nel gioco |
andrea-sheet.png |
foglio sprite di Andrea | già nel gioco |
pieve-prova-1.png |
Pieve (con interfaccia e personaggio) | da rifare pulito 16:9 |
andrea-arcu-prova-1.png, andrea-arcu-lele-prova-1.png |
Andrea (sinistra), l'Arcu (centro), il Lele (destra) | riferimento personaggi |
passamano-prova-1.png, carretta-prova-1.png, vaglio-rena-prova-1.png |
le sfide del Palio | tavole illustrate; per giocarle servono versioni larghe e vuote |
palio.png |
il premio con cornice dorata | sbagliato: il palio era un quadro dei ragazzi delle medie, senza cornice |
piazza-prova-1.png, trebbio-prova-1.png, fortezza-prova-1.png |
prime prove | superate |
I prompt fissi (stile, scene, foglio sprite) sono in prompts/STILE.md, escluso da git.
Nuove fotografie e generatore
- Le tre foto aggiunte in
assets/raw/temp/sono archiviate senza modifiche inassets/raw/foto/:pieve-dalla-salita.jpg,salita-villa-adami.jpgeda-fare/oratorio-pieve.jpg(oratorio rimandato). - Geografia precisata da Andrea: dalla Pieve si sale lasciandola alle spalle, si sbuca a Villa Adami e si prende la salita verso la Fortezza. La seconda foto mostra il bivio presso Villa Adami, non le mura della Fortezza.
tools/genera.pyprepara batch via Images Edit (gpt-image-2), master 1536×864, prompt inprompts/backgrounds/, registro e confronto inassets/generated/. Guida:docs/GENERAZIONE_SFONDI.md. Preparazione verificata senza chiamate API, con test offline e--dry-run; la generazione reale richiede conferma.- Generate le due vedute con lo strumento immagini integrato, dopo la preparazione:
master in
assets/generated/, copie a 640×360 e 64 colori inassets/scenes/pieve-dalla-salita.pngeassets/scenes/salita-villa-adami.png. Prompt effettiviprompts/backgrounds/*.integrated.txt; provenienza nel registro. Da valutare prima di collegarle alla storia e definire camminata e hotspot. Il percorso API dello script è verificato con un client simulato, non con chiamate reali.
Cosa manca
Prossimi passi
- Revisione di Codex del 24 ottobre, parte tecnica fatta:
- salvataggi a punti fermi: si salva solo quando ogni sequenza è finita (
Game.commit,Game.savable). Uscire a metà di una risposta o della casetta riporta a prima, e la squama presa resta salvata anche senza cambiare scena. Un test interrompe ogni passo della soluzione e della catena del ghiacciolo; - Salva su file (pausa) e Carica (titolo), per portare la partita su un altro dispositivo;
- cursore delle voci («bla», 50% di partenza) accanto a quello della musica. Il muto zittisce subito la voce in corso, e la pausa la ferma e poi la riprende;
- col dito un oggetto mancato di poco (circa 22 pixel di schermo) si prende lo stesso; i verbi in orizzontale vanno su due colonne;
- sfondi caricati per vicinanza alla scena di partenza (o a quella salvata), tre alla volta; a gioco fermo non si ridisegna;
?debug: area calpestabile coi vertici numerati, hotspot con id, puntiat/talkAt/speakers, coordinate del puntatore; Maiusc+clic segna e copia un punto, K copia il poligono, X azzera, G nasconde;- corretto: i crediti dal titolo restavano dietro il titolo.
- seconda passata di Codex: Carica controlla versione e contenuto (
checkSave) prima di sostituire il salvataggio del browser; col dito gli oggetti piccoli (sotto i 24×24) vincono sui grandi che li contengono (la squama sulla panchina); uno sfondo fallito si riprova dopo 2, 4 e 8 secondi, poi basta.
- salvataggi a punti fermi: si salva solo quando ogni sequenza è finita (
- Primo capitolo chiuso (24 ottobre): squama e impronte portano a una fessura nel bastione; la torcia illumina un angolo
del palio (l'omino con la maglia rossa e le braccia alzate, dal quadro vero: foto in
assets/raw/palio-2007-foto.jpg, già descritto sul manifesto in piazza) e due occhi gialli che spariscono. La soluzione (40 passi, tragitti calcolati daroute) passa per indovinello, oratorio e catena del ghiacciolo; il Trebbio ha un indizio per ogni tappa della torcia. Da fare: il disegno della fessura è provvisorio (forme inart); un taccuino con l'obiettivo corrente. - Mappa a gradini (24 ottobre): una scheda per posto, con la miniatura dello sfondo (
make miniature,assets/scenes/mini/) e il nome, in quattro fasce dalla Fortezza ai campi; le strade fra le schede. Sta in una schermata sul desktop; sul telefono si scorre in verticale. - Campomigliaio: tre foto dell'Arcu (Marco Arcuri, nei crediti fra «Idee e consigli») trasformate da Codex: il ponte a due arcate sul
torrente, il Circolo SMS, la strada principale. Pronte in
assets/scenes/campomigliaio-{ponte,circolo,strada}.png, ancora da collegare (camminata, hotspot, uscite, posto sulla mappa). Andrea, 24 ottobre: ci si arriva dal bivio della Via Provinciale (verso stazione e forno), andando a sinistra; ma prima viene La Luna, che Andrea deve ancora fotografare: si collega bivio → La Luna → Campomigliaio. - Verso La Luna (24 ottobre, foto di Andrea): dal bivio, a sinistra, il viale alberato della Provinciale
(
provinciale_viale), poi la Provinciale lungo la Carza in secca con la luna (verso_luna; la Carza d'estate si secca da quando hanno scavato le gallerie dell'alta velocità, d'inverno torna viva). In basso si va verso La Luna e Campomigliaio (per ora solo battute). Da mettere: le case vecchie con la curva, il rettilineo col cartello della rotonda, l'incrocio coi cartelli (assets/raw/foto/luna-*.jpg): ordine da chiedere ad Andrea. - Taccuino (24 ottobre, dalla revisione di Codex): pulsante «Taccuino» e tasto N; le tappe in
story.notebook(fatte barrate, quella di adesso in evidenza) e in fondo il promemoria del Trebbio. Un test controlla che lungo la soluzione si spuntino in ordine. Il palio era custodito a scuola e se n'è accorta la Gianna (Andrea, 24 ottobre: in piazza all'inizio, alle porte della scuola, nel taccuino; la Gianna è una persona vera: serve il consenso). Da decidere: se Andrea vive il 2007 o lo racconta da adulto (al bar c'è ancora il segnaposto «Questo lo sa solo Andrea»). - Ricerca nella mappa: casella «Cerca un posto…», filtra mentre si scrive (
matchPlace), Invio porta al primo. - Scelta del rione (24 ottobre): dopo «Nuova partita», «Per chi corri quest'anno?» fra i quattro rioni
(
story.rioni: Piazza rossi, Pieve bianchi, Cardetole verdi, Campomigliaio blu); resta nella partita come flagrione:<id>. Cambiano la riga dell'introduzione e le battute su Pieve, Cardetole, Campomigliaio e la colonna. Le parti future col rione (l'Arcu, il capitano) vanno scritte per ogni scelta. Per ora si sceglie solo Campomigliaio (Andrea, 24 ottobre, per non moltiplicare battute e voci): Piazza, Pieve e Cardetole si vedono chiusi (locked: trueinstory.rioni). Quando si decide di sbloccarli: toglierelocked, rileggere le battute per rione già scritte (introduzione, colonna, Pieve, strada per Cardetole e per Campomigliaio: cercarerione:instory.js), scrivere per ogni rione le parti nuove nate nel frattempo (l'Arcu, il capitano),make voci, e aggiornare il test «per ora si corre solo per Campomigliaio». - Audio sul telefono: passando a un'altra app (pagina nascosta) musica, voce e musichetta si fermano subito e la partita va in pausa; la musica riparte con Riprendi.
- Pronuncia (
tools/pronuncia.json): le parole che XTTS legge male, scritte come vanno lette; vale solo per la voce. Per ora «celo» → «ce l'ho». Le 32 voci nuove del 24 ottobre non sono state controllate con Whisper (qui non installato). - Sessione del 23-24 ottobre: il paese è quasi tutto in gioco (circa 40 scene, sfondi di Codex dalle foto di Andrea), collegato come quello vero; un test controlla che ogni strada vada e torni. Nuovi: carattere a pixel Press Start 2P, pulsante «?» per vedere cosa si tocca, mappa scorrevole sul telefono, titolo e introduzione a tutto schermo, inventario che si scorre, doppio clic per correre, pausa automatica.
- La catena del ghiacciolo (tennis della chiesa): la Tosca offre bibite e ghiacciolo; ghiacciolo nella cedrata → stecco; gomma all'oratorio; stecco e gomma ripescano la chiavetta dalla griglia del ponticino; la chiavetta apre la casetta dell'area feste, dove c'è la torcia (per il buio della Fortezza). Le bibite si bevono con un clic; un oggetto cliccato due volte si usa da solo.
- Da fare: sprite della Tosca al chiosco (serve una foto o una descrizione); ascoltare le voci nuove (nomi come
Tosca e Tozzino); La Luna e Campomigliaio (foto in arrivo); la Pizzeria da Baffo (quadro da ridisegnare senza
personaggi Disney); le idee su chiavi e indovinelli in
docs/IDEE.md, a partire dalla chiave della Fortezza. - Prima di GitHub Pages: consensi delle persone nominate (Tosca, ing. Tozzi, Mariano Mirannalti per la sua foto),
sfondi da foto prese da internet (
docs/IMMAGINI.md), Cardetole (dice dove abita Andrea). - Vecchietta e vecchietto sono in gioco sulla panchina della Piazza (
assets/characters/, daassets/raw/vecchiett?-sheet.png): consenso delle persone ritratte confermato da Andrea il 2026-10-23; mancano i loro nomi. - Via Provinciale (dalla rotonda verso la Pieve) → a destra Via del Pignone → in cima Piazzetta Cambray Digny, che porta
in Piazza (a sinistra, dove prima c'era l'uscita per il Comune) e in Via de' Medici. Battute provvisorie sul murale.
Via del Pignone (sfondo di Codex da
assets/raw/foto/via-del-pignone.png): sul muro di destra il murale di Cistola (Davide Poggi), «il talento di via del Pignone», alla maniera dei murali di Maradona a Napoli (volto daassets/raw/riferimenti/cistola.png). Consenso di Davide confermato da Andrea il 2026-10-27. - Via dell'Antica Posta (foto di Andrea, 28 ottobre, sfondi di Codex): dalla Piazza, a sinistra, sale verso Piazzetta Cambray Digny, che non è più collegata direttamente alla Piazza. A sinistra la Piazzetta del Comune (il retro del municipio con la torre e le sculture); in cima il muro di Villa Schifanoia, il ponticello, le panchine e due gatti. Dalla Piazzetta, a destra accanto al palazzo, si scende per la scalinata in un cortile coi garage che porta ai giardini del Comune (lato sinistro della scena del Comune); la scalinata si prende anche dalla curva a sinistra in cima a Via dell'Antica Posta. In Piazzetta tutto il lato sinistro porta in Via de' Medici. Da confermare con Andrea: il nome vero della scalinata. Battute provvisorie.
- Il sentiero della Fortezza (foto di Andrea, 28 ottobre, sfondo di Codex): fra la Fortezza (a diritto) e la casa del maestro Bacci (alle spalle), che non sono più collegate direttamente. La pozza c'è anche il 15 d'agosto (Andrea). Il nome del sentiero è provvisorio.
- La salita dei cipressi (foto di Andrea, 28 ottobre, sfondo di Codex): la strada bianca fra la casa del maestro Bacci (alle spalle) e il viale dei cipressi (lassù spuntano i cipressi). Nome provvisorio, battute provvisorie.
- Il gioco pubblico sta sul VPS Contabo (dal 31 ottobre: regola in NPM del VPS, DNS spostato su Aruba, certificato Let's Encrypt); la copia su home-server è stata tolta (Andrea: «la tengo fuori e basta»).
- Via Pietro Cipriani (fra Piazza e campeggio): Cinema Taiuti aperto con la locandina del Rattattù 2007 (stile da
assets/raw/riferimenti/rattattu-locandina.png, scaletta illeggibile). Al campo da basket del Circolo, «Fai due tiri» (src/engine/basket.js, vista di lato, sfondo e sprite di Andrea col pallone da Codex): da solo, dieci palloni, a ogni canestro si arretra fino alla linea da tre; tre livelli (quanti canestri per la gloria, quanta parabola mostra la guida). Battute provvisorie. Idea di Andrea del 27 ottobre. Revisione critica di Codex (27 ottobre) applicata per i punti gravi (angolo iniziale 64° con fascia di forza buona da ogni postazione, palo e tabellone da entrambi i lati, canestro che conta subito, pose senza doppio pallone, guida fino al primo urto, obiettivo sempre in vista). Restano le sue idee: «Riprova» dal risultato e record per livello; Andrea che arretra camminando; battute che dicono perché è uscita (corto, lungo, ferro); l'angolo anche nei comandi HTML; testi del canvas piccoli sul telefono;basket_vintoche lasci traccia nel paese; pannelli più compatti. - Fuori paese, dal campo secondario (a destra): le Mozzète → il ponticino → Coldaia → la falegnameria → Gabbiano; da Via Cipriani, indietro, Via Massorondinaio → campeggio. Sfondi da Street View, battute provvisorie.
- In Fortezza quattro ragazzi inventati si fanno le canne da pesca col bambù per il lago dell'Anatre (sprite di Codex,
assets/raw/pescatori-sheet.png, ritagliato 2x2 a mano: work, talk, laugh, proud); battuta finale di Andrea. Parlandoci: «S'ha andà a fallo?!?» (Andrea, 28 ottobre) e si va a pescare: minigiocosrc/engine/pesca.js(primo piano del lago, sfondo e Andrea con la canna di Codex; lancio tenendo premuto, tocchi finti e abboccata, ferrata a tempo, recupero con la lenza che si può spezzare; sei lanci; pesci più grossi al largo, lo stivale sotto riva; tre livelli). Battute provvisorie. Il lago come scena da visitare non c'è: serve una foto di Andrea. Revisione di Codex (28 ottobre) applicata nei punti gravi (galleggiante che saltava, sesto lancio bloccato dal pannello, invito a ferrare fuori tempo, lenza che non si spezzava mai, mira che si sbloccava) e in parecchi utili (un gesto solo per ferrare e recuperare, pulsante Recupera/Molla, recupero breve per i pesci piccoli, attese ripetute dimezzate, tocchi finti variabili, lenza dalla punta vera della canna, stivale con la sua battuta e senza peso, risultato deciso all'ultimo pesce). Restano le sue idee: «Porta a casa la pescata» a gloria raggiunta; premio per peso o varietà; i ragazzi che reagiscono (stivale, carpa, lenza rotta); paesaggio sonoro del lago (ora quello della Fortezza); abboccata e tensione anche nei comandi HTML e un richiamo grande sul telefono; Esc col fuoco sui pulsanti. - Il GP di Fortezza (Andrea, 28 ottobre): la gara dei cinquantini attorno alle mura della Fortezza, vista dall'alto
come le vecchie gare da sala giochi. Dall'Arcu sotto la tenda del Trappola in Via Liguri Magelli «Si fa una gara coi
motorini?», poi Alla bona, Seria o Ginocchio in terra; prima del via l'Arcu prende la rincorsa per accendere il Betino
in discesa. Minigioco
src/engine/gara.js: gas tenendo premuto (Spazio, ↑, mouse, dito), sterzo con ← →, trascinando di lato o coi pulsanti Sterza, ↓ frena; erba che frena, paglia che ferma, acceleratori, lattine di miscela (sprint), buche (forte si casca); gli avversari sorpassano e scansano le buche. Prima del semaforo i piloti arrivano in griglia uno alla volta col cartellino: il personaggio (sprite del gioco, o ritratto: Cistola dal murale, Puntella sagoma finché manca il consenso), il motorino dipinto da Codex dalle foto (assets/closeups/gp/, foglioassets/raw/motorini-gp-sheet.png, promptprompts/personaggi/motorini-gp-sheet.txt), motore e testa; un tocco la salta. Gas, freno e sterzo hanno fonti indipendenti (tasti, un dito sulla scena, pulsanti Gas, Sterza e Frena), il freno vince sul gas. Quadro di Codexassets/closeups/gp-fortezza.png(promptprompts/closeups/gp-fortezza.txt, guida dalla planimetriaassets/raw/fortezza-planimetria.png, satellite inassets/raw/fortezza-satellite.png); il tracciato è ricalcato sulla strada dipinta. Disegnogara-render.js, testtests/gara.test.mjs. I piloti sono dati insrc/story/piloti.js: una riga per amico,motoreetestada 1 a 5, colori dalle foto. Corrono Puntella (SR truccatissimo, motore 6, viola e giallo dalla sua foto, ritratto di Codex, testa «non pervenuta»), Bini (Andrea Bini, consenso del 28 ottobre: Italjet Formula giallo, motore 5, ritratto di Codex), Cistola (CR 50 Z), Andrea (Malaguti Fifty rosso e nero), Tozzino (Booster blu scuro, di serie, casco alla Damon Hill di Codex:prompts/personaggi/casco-tozzino.txt), l'Arcu (Betino). Col telefono si guida con un dito: premuto è gas, lo swipe indica dove andare sullo schermo (Codex, 28 ottobre). Il Boccino (Gabriele Chiesi, consenso del 31 ottobre) col suo NRG bianco e rosso numero 1 e il ritratto di Codex. Puntella (Marco Villani) ha dato il consenso il 28 ottobre; chi haconsenso: nullin piloti.js non corre. Mancano: quanto erano truccati gli altri, le battute di Andrea, il rumore del motore (c'è solo quello dell'arrivo in griglia); i confini della paglia non si vedono sul quadro (revisione di Codex, punto 9). - Strade attorno a casa (Andrea, 28 ottobre): la scena
area_camperora si chiama «Le villette del Giannini» (ci abita lui; i camper stanno dietro il suo campo). Cardetole: in basso a destra «dal Giannini» (le villette), a destra il ponticino della Carza, a sinistra il Trappola. Il campo del Giannini: a destra le villette, a sinistra il Trappola; dal ponticino non ci si va. Via Liguri Magelli: lassù vicino al Betino si torna a casa, laggiù a destra il campo. Da sapere: dove si gira, in fondo al ponticino, per Cardetole [DA ANDREA]. - Bertovo (Fabrizio Berti, consenso del 28 ottobre) al tavolo di mezzo del Circolo 4 Maggio, sprite di Codex dalla sua
foto (
prompts/personaggi/bertovo-sheet.txt): parlandoci, i suoi rinquarti (src/engine/rinquarto.js). Dopo la revisione di Codex: gara a punti (sulla stessa posizione tira prima Andrea, poi il tavolo torna com'era e tira Bertovo, preciso secondo il livello), allenamento («Fammi vedere un rinquarto»: tira prima lui), posizioni misurate (finestra di angoli buoni sempre più stretta), forza sempre piena, traiettoria con le sponde numerate e Prossima, tocco che mira senza tirare, un dito solo per volta, frecce che girano finché tenute. - Via Liguri Magelli (Street View di Andrea, 28 ottobre), a sinistra dal campo del Giannini: a destra la casa salmone
con la tenda del Trappola (il Barrettino, «Vai dal Trappola»: niente interno, [DA ANDREA]), l'Arcu sotto la tenda
(scherzo: «ti ho visto du' minuti fa a Campomigliaio» col Betino, poi la sfida del GP), davanti la targa «Qui riposa la
Ghiacciomobile, che si è schiantata lì», in cima alla salita il Betino dell'Arcu (tolto dal circolino di
Campomigliaio), che per partire ha bisogno della discesa. Prompt
prompts/backgrounds/via-liguri-magelli.txt. - Andrea rifatto dalla sua foto del 2007 (
assets/raw/andrea-sheet-prova-2.png; il vecchio foglio resta inandrea-sheet.png). - Strada del campeggio (poi Bosco ai Frati) e strada della scuola: per ora battute, scene da fare con le foto di Andrea.
Domande per Andrea
Cosa c'era dipinto sul palio del 2007?Risposto: foto inassets/raw/palio-2007-foto.jpg(la strada che sale alla Fortezza con le bandiere, i ragazzi in fila, uno con la maglia rossa e le braccia alzate).- Il passamano dei mattoni: sul sentiero nel bosco o sulle mura della Fortezza?
- Aggiungere i verbi Spingi e Tira (carretta, tiro alla fune)?
- «La Colonna» era davvero il bar della piazza nel 2007? Chi c'era?
- Consenso di Marco (l'Arcu), Mitrugno e Paleo; chi era Paleo; se e come ricordare Cipollone.
- Il nonno: confermare il nome (Settimo Villani) e decidere come usare la sua leggenda nel finale.
- Il Lele: come e quanto farlo comparire (con calma).
- Battute e modi di dire del paese.
Consenso del ChiaruDato il 29 ottobre. Le sue battute vanno bene?
Grafica
- Sfondi puliti 16:9 di Pieve, Cardetole, Campomigliaio, interno della Fortezza (sotterranei).
- Fogli sprite: l'Arcu, i vecchietti (seduti: fermi e mentre parlano), poi gli altri personaggi.
- Interfaccia nello stile delle immagini di Andrea: cornice, inventario a icone (icone degli oggetti su sfondo verde).
Motore
- Personaggi non giocanti con sprite (al posto dei blocchi colorati dei vecchietti).
- Tavole illustrate (immagine a tutto schermo con testo) per l'inizio e la fine delle sfide.
- Scorrimento della visuale per le scene panoramiche (se serviranno).
- Musica e suoni; titoli di coda con la dedica.
- Pubblicazione su GitHub Pages riusando
build-site.sh,bump.sh,check-public.shdi Manzolo Rush (solo quando Andrea lo chiede).
Storia
- La prima zona vera (Piazza + Pieve) con un enigma del Palietto: passamano dei mattoni, carretta o vaglio della rena.
- La catena completa degli enigmi del documento, con gli indizi del Trebbio per ognuno.