Compare commits

...
6 Commits
Author SHA1 Message Date
manzolo afb0b931c5 Versione 0.1.27 2026-10-28 12:09:23 +01:00
manzoloandClaude Opus 5.5 fb1568259b Via dell'Antica Posta fra Piazza e Piazzetta, la Piazzetta del Comune e la scalinata; uscite ritoccate (Andrea)
Sfondi di Codex dalle foto di Andrea: Via dell'Antica Posta dalla Piazza, la Piazzetta del Comune (il retro del
municipio con la torre e le sculture), la cima della via sotto il muro di Villa Schifanoia col ponticello, le
panchine e due gatti, e la scalinata col cortile dei garage. Dalla Piazza, a sinistra, si sale in Via dell'Antica
Posta e poi in Piazzetta, che non porta più direttamente in Piazza; dalla Piazzetta (a destra del palazzo) e dalla
curva in cima alla via si scende per la scalinata ai giardini del Comune (lato sinistro). In Piazzetta tutto il lato
sinistro porta in Via de' Medici. Alla rotonda della farmacia l'uscita per la Pieve dove la strada gira dietro il
palazzo e quella per il Comune su tutto l'albero. Il campo del Giannini si collega al ponticino della Carza invece
che all'area camper. Battute provvisorie e voci.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECdCPptNRwbVzjzHbohi
2026-10-28 12:03:05 +01:00
manzolo c1049bf69d Versione 0.1.26 2026-10-28 08:46:26 +01:00
manzoloandClaude Fable 5.1 b05fe5b302 La banca: settimane pari (XTTS non azzecca «dìspari»)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECdBYE8csKd4tcFvwntT
2026-10-28 08:38:44 +01:00
manzoloandClaude Fable 5.1 505eda01a3 Pronuncia: «dìspari» e «Commòdòr» (Andrea)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECdBYE8csKd4tcFvwntT
2026-10-28 08:36:46 +01:00
manzoloandClaude Fable 5.1 d329cbd6ef In Via Provinciale l'edicola delle cassette per il Commodore 64 (LOAD, play, e dieci minuti di cigolio); la banca quando Venere si allinea a Plutone; «dispari» letto dispàri (Andrea)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECdBYE8csKd4tcFvwntT
2026-10-28 08:27:16 +01:00
46 changed files with 347 additions and 19 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 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.
+115 -3
View File
@@ -707,9 +707,29 @@
"file": "andrea-60f39f0dd7.mp3",
"sec": 6.48
},
"andrea|La banca. Il bancomat funziona solo il mercoledì delle settimane dispari, negli anni bisestili, quando Venere incontra Saturno.": {
"file": "andrea-05b60bd67f.mp3",
"sec": 8.65
"andrea|L'edicola. Qui compravo le cassette per il Commodore 64: trenta giochi a mille lire, diceva la copertina.": {
"file": "andrea-a8283c5640.mp3",
"sec": 8.27
},
"andrea|Si infilava la cassetta, si scriveva LOAD, si premeva play... e si aspettava dieci minuti col registratore che cigolava.": {
"file": "andrea-753071634e.mp3",
"sec": 8.67
},
"andrea|Poi, quando andava bene, partiva il gioco. Quando andava male: LOAD ERROR. E si riavvolgeva tutto. Bei tempi.": {
"file": "andrea-c99539e242.mp3",
"sec": 10.4
},
"andrea|Chiusa. E comunque le cassette non le fanno più. Neanche i Commodore.": {
"file": "andrea-4fb258d12c.mp3",
"sec": 5.79
},
"andrea|Vorrei un Topolino e trenta giochi a mille lire. ...Niente, parlo con una serranda.": {
"file": "andrea-0ad7d35251.mp3",
"sec": 5.97
},
"andrea|La banca. Il bancomat funziona solo il mercoledì delle settimane pari, negli anni bisestili, quando Venere si allinea a Plutone.": {
"file": "andrea-01433de83e.mp3",
"sec": 9.25
},
"andrea|Oggi? Not today.": {
"file": "andrea-a698d91684.mp3",
@@ -755,6 +775,98 @@
"file": "andrea-7fd73fbb77.mp3",
"sec": 2.66
},
"andrea|Le colonnine con le catene: le macchine di qua non passano.": {
"file": "andrea-7967c3d476.mp3",
"sec": 4.05
},
"andrea|Io sì. Scavalcare le catene è uno sport che pratico da quando avevo sei anni.": {
"file": "andrea-db2e00019a.mp3",
"sec": 6.2
},
"andrea|Una tenda a righe bianche e rosse. Fa tanto spiaggia: peccato che il mare sia di là dall'Appennino.": {
"file": "andrea-b8038d49dc.mp3",
"sec": 6.68
},
"andrea|Il muro di sasso con l'edera e la ringhiera in cima. Lassù c'è il verde della villa.": {
"file": "andrea-1ec3557612.mp3",
"sec": 5.8
},
"andrea|Via dell'Antica Posta. Chissà se la posta antica arrivava prima di quella moderna.": {
"file": "andrea-c0f51c8219.mp3",
"sec": 6.36
},
"andrea|La torre dell'orologio, vista dal retro. Anche da qui segna un'ora tutta sua.": {
"file": "andrea-a196260e7c.mp3",
"sec": 5.34
},
"andrea|La porta del Comune. Dal retro, ma sempre Comune.": {
"file": "andrea-66cab2e717.mp3",
"sec": 4.23
},
"andrea|Chiusa. Anche dalla porta di dietro, senza un modulo non si entra.": {
"file": "andrea-835648f0b6.mp3",
"sec": 4.54
},
"andrea|Una scultura moderna, lunga e appuntita. Secondo me è un'antenna per parlare coi marziani.": {
"file": "andrea-d7c8824e13.mp3",
"sec": 7.13
},
"andrea|Questa sembra un sasso. Ma sta su un piedistallo, quindi è arte.": {
"file": "andrea-d8a1173809.mp3",
"sec": 4.91
},
"andrea|Pesa più di me. E poi l'arte non si porta via in tasca.": {
"file": "andrea-51f23d7ac6.mp3",
"sec": 4.15
},
"andrea|Un vasone di fiori. Qualcuno se ne prende cura, al Comune.": {
"file": "andrea-1fa2d33c2f.mp3",
"sec": 4.49
},
"andrea|Due gatti che dormono sull'erba. Il Palio, per loro, può anche aspettare.": {
"file": "andrea-1c8aae44f9.mp3",
"sec": 6.01
},
"andrea|Micio, micio... Niente. Per meno di una scatoletta non aprono neanche un occhio.": {
"file": "andrea-7ea38df174.mp3",
"sec": 6.41
},
"andrea|Svegliare un gatto che dorme al sole? Non sono così coraggioso.": {
"file": "andrea-17ccb76f0c.mp3",
"sec": 4.55
},
"andrea|Due panchine all'ombra del muro. Un posto per chi non ha un palio da ritrovare.": {
"file": "andrea-8136bec81c.mp3",
"sec": 4.95
},
"andrea|Mi siederei volentieri, ma il Palio non si ritrova da solo.": {
"file": "andrea-735b8b0920.mp3",
"sec": 3.38
},
"andrea|Un ponticello sopra la strada, da una casa all'altra. Per andare dal vicino senza fare le scale.": {
"file": "andrea-04381e498b.mp3",
"sec": 7.67
},
"andrea|Il muro di Villa Schifanoia, alto alto, con l'edera che ormai lo tiene su lei.": {
"file": "andrea-4deca437c8.mp3",
"sec": 5.28
},
"andrea|Una saracinesca color ruggine. Dietro, scommetto, una macchina e trent'anni di roba da buttare.": {
"file": "andrea-b72a76810b.mp3",
"sec": 7.04
},
"andrea|Chiusa. E se la apro io, mi tocca anche fare ordine.": {
"file": "andrea-3b7d5860dc.mp3",
"sec": 4.36
},
"andrea|Panni stesi al sole. Se piove, qui lo sanno tutti prima del telegiornale.": {
"file": "andrea-1c6bb20507.mp3",
"sec": 5.41
},
"andrea|Rubare i panni stesi? Mi conoscono tutti, mi ritroverebbero prima del Palio.": {
"file": "andrea-5b0b04fef8.mp3",
"sec": 6.3
},
"andrea|L'area feste. D'estate ci montano la pista da ballo, le tavolate e lo stand della pasta.": {
"file": "andrea-a942b2723e.mp3",
"sec": 6.77
+7
View File
@@ -204,6 +204,13 @@ I prompt fissi (stile, scene, foglio sprite) sono in `prompts/STILE.md`, escluso
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 da `assets/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.
- 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
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "leggenda-del-regolo",
"version": "0.1.25",
"version": "0.1.27",
"private": true,
"type": "module",
"scripts": {
+16
View File
@@ -80,6 +80,22 @@ export const ambience = {
butterfly([150, 170, 150, 60], 5000),
{ type: 'lamps', phase: 'sera', points: [[616, 118]], glow: 12 },
],
// Via dell'Antica Posta e dintorni (28 ottobre).
via_antica_posta: [
{ type: 'clouds', area: [180, 0, 300, 90], count: 2 },
shade([0, 300, 640, 60], 10),
{ type: 'lamps', phase: 'sera', points: [[62, 120], [366, 142]], glow: 10 },
],
piazzetta_comune: [
{ type: 'clouds', area: [60, 0, 520, 110], count: 3, big: true },
butterfly([510, 250, 110, 50], 4000),
{ type: 'lamps', phase: 'sera', points: [[436, 170]], glow: 10 },
],
antica_posta_alta: [
shade([0, 290, 360, 70], 12),
butterfly([480, 170, 120, 60], 6000),
{ type: 'lamps', phase: 'sera', points: [[184, 74]], glow: 10 },
],
provinciale_pignone: [
shade([80, 270, 220, 70], 14), shade([470, 290, 170, 60], 10),
{ type: 'cloudshadow', phase: day, area: [120, 230, 420, 130], offset: 8000,
+204 -12
View File
@@ -515,11 +515,12 @@ export const story = {
take: [{ give: 'squama' }, { set: 'squama_presa' }, { say: 'Una squama! E bella grossa.' }],
},
},
// Si compare in basso: la foto di Via Cipriani è presa dall'altro verso (Andrea, 28 ottobre, va bene così).
{
id: 'verso_campeggio', name: 'Via Cipriani, verso il cinema e il campeggio', box: [330, 190, 34, 48], at: [345, 234], exit: { scene: 'via_cipriani', at: [300, 345], face: 'up' },
},
{
id: 'verso_piazzetta', name: 'Piazzetta Cambray Digny, verso Via de\' Medici', box: [0, 196, 146, 54], at: [92, 250], exit: { scene: 'piazzetta', at: [510, 274], face: 'down' },
id: 'verso_piazzetta', name: 'Via dell\'Antica Posta, verso Piazzetta Cambray Digny', box: [0, 196, 146, 54], at: [92, 250], exit: { scene: 'via_antica_posta', at: [320, 345], face: 'up' },
},
{
id: 'verso_calimara', name: 'Via Calimara, verso la farmacia', box: [180, 334, 380, 26], at: [360, 354], exit: { scene: 'via_calimara', at: [365, 212], face: 'down' },
@@ -1202,6 +1203,9 @@ export const story = {
open: [{ say: 'All\'asilo? Ho già dato, grazie.' }],
},
},
{
id: 'alla_scalinata', name: 'a sinistra, la scalinata della Piazzetta', box: [0, 120, 150, 212], at: [40, 300], face: 'left', exit: { scene: 'scalinata', at: [300, 350], face: 'up' },
},
{
id: 'al_giardino', name: 'verso il giardino di Via Calimara', box: [596, 290, 44, 70], at: [600, 340], exit: { scene: 'via_calimara', at: [160, 290], face: 'right' },
},
@@ -1299,13 +1303,13 @@ export const story = {
id: 'al_ponte', name: 'a sinistra, verso il campo sportivo', box: [0, 216, 60, 100], at: [12, 318], exit: { scene: 'ponte_sieve', at: [300, 350], face: 'up' },
},
{
id: 'alla_pieve', name: 'dietro la farmacia, verso la Pieve', box: [470, 180, 120, 60], at: [560, 240], exit: { scene: 'provinciale_pignone', at: [300, 345], face: 'up' },
id: 'alla_pieve', name: 'dietro la farmacia, verso la Pieve', box: [420, 170, 118, 70], at: [480, 242], exit: { scene: 'provinciale_pignone', at: [300, 345], face: 'up' },
},
{
id: 'area_feste', name: 'qui sotto, verso l\'area feste', box: [0, 318, 300, 42], at: [120, 352], exit: { scene: 'area_feste', at: [44, 350], face: 'up' },
},
{
id: 'al_comune', name: 'verso il Comune', box: [592, 140, 48, 96], at: [622, 244], exit: { scene: 'comune', at: [320, 350], face: 'up' },
id: 'al_comune', name: 'verso il Comune', box: [540, 40, 100, 198], at: [622, 244], exit: { scene: 'comune', at: [320, 350], face: 'up' },
},
{
id: 'alla_calimara', name: 'Via Calimara, verso la Piazza', box: [520, 260, 120, 100], at: [600, 330], exit: { scene: 'via_calimara', at: [300, 350], face: 'up' },
@@ -1327,12 +1331,25 @@ export const story = {
look: [{ say: 'Cartelli per la Pieve, per la stazione, per Firenze. Per il palio, nessuno.' }],
},
},
{
// L'edicola, col chiosco chiuso: qui Andrea comprava le cassette per il Commodore 64 (Andrea, 28 ottobre).
id: 'edicola', name: 'edicola', box: [20, 160, 92, 100], at: [120, 278], face: 'left',
actions: {
look: [
{ say: 'L\'edicola. Qui compravo le cassette per il Commodore 64: trenta giochi a mille lire, diceva la copertina.' },
{ say: 'Si infilava la cassetta, si scriveva LOAD, si premeva play... e si aspettava dieci minuti col registratore che cigolava.' },
{ say: 'Poi, quando andava bene, partiva il gioco. Quando andava male: LOAD ERROR. E si riavvolgeva tutto. Bei tempi.' },
],
open: [{ say: 'Chiusa. E comunque le cassette non le fanno più. Neanche i Commodore.' }],
use: [{ say: 'Vorrei un Topolino e trenta giochi a mille lire. ...Niente, parlo con una serranda.' }],
},
},
{
// La banca all'angolo di Via del Pignone: il bancomat non funziona quasi mai (Andrea, 28 ottobre).
id: 'banca', name: 'banca', box: [368, 166, 80, 50], at: [400, 236], face: 'up',
actions: {
look: [
{ say: 'La banca. Il bancomat funziona solo il mercoledì delle settimane dispari, negli anni bisestili, quando Venere incontra Saturno.' },
{ say: 'La banca. Il bancomat funziona solo il mercoledì delle settimane pari, negli anni bisestili, quando Venere si allinea a Plutone.' },
{ say: 'Oggi? Not today.' },
],
open: [{ say: 'Chiusa. Come il bancomat, del resto.' }],
@@ -1375,7 +1392,8 @@ export const story = {
},
],
},
// Piazzetta Cambray Digny, in cima a Via del Pignone, sotto Villa Schifanoia: a sinistra Via de' Medici, a diritto la Piazza.
// Piazzetta Cambray Digny, in cima a Via del Pignone, sotto Villa Schifanoia: a sinistra Via de' Medici, a diritto
// Via dell'Antica Posta che scende in Piazza, a destra del palazzo la scalinata che scende al Comune (Andrea, 28 ottobre).
piazzetta: {
name: 'Piazzetta Cambray Digny',
map: [40, 38],
@@ -1398,16 +1416,188 @@ export const story = {
},
},
{
id: 'alla_piazza', name: 'a diritto, verso la Piazza', box: [470, 226, 70, 48], at: [510, 274], exit: { scene: 'piazza', at: [92, 250], face: 'right' },
id: 'alla_piazza', name: 'a diritto, Via dell\'Antica Posta verso la Piazza', box: [470, 226, 70, 48], at: [510, 274], exit: { scene: 'antica_posta_alta', at: [235, 230], face: 'down' },
},
{
id: 'via_de_medici', name: 'a sinistra, Via de\' Medici', box: [0, 280, 40, 80], at: [20, 320], face: 'left', exit: { scene: 'via_de_medici', at: [300, 348], face: 'up' },
id: 'via_de_medici', name: 'a sinistra, Via de\' Medici', box: [0, 100, 60, 260], at: [20, 320], face: 'left', exit: { scene: 'via_de_medici', at: [300, 348], face: 'up' },
},
{
id: 'giu_scalinata', name: 'a destra, giù per la scalinata verso il Comune', box: [541, 226, 40, 60], at: [560, 285], exit: { scene: 'scalinata', at: [560, 325], face: 'down' },
},
{
id: 'giu_pignone', name: 'giù per Via del Pignone', box: [570, 300, 70, 60], at: [610, 345], exit: { scene: 'via_pignone', at: [343, 212], face: 'down' },
},
],
},
// Via dell'Antica Posta (foto di Andrea, 28 ottobre): dalla Piazza, a sinistra, sale verso Piazzetta Cambray Digny.
// La Piazza è alle spalle; a sinistra, coi tre scalini, la Piazzetta del Comune; in fondo si sale.
via_antica_posta: {
name: 'Via dell\'Antica Posta',
map: [35, 41],
background: 'assets/scenes/via-antica-posta.png',
walk: [[0, 360], [0, 300], [120, 290], [220, 252], [300, 240], [372, 226], [396, 226], [470, 252], [630, 300], [640, 360]],
depth: [[226, 0.35], [360, 1.15]],
entry: [320, 345],
hotspots: [
{
id: 'colonnine', name: 'colonnine con le catene', box: [225, 225, 95, 68], at: [290, 300], face: 'left',
actions: {
look: [{ say: 'Le colonnine con le catene: le macchine di qua non passano.' }, { say: 'Io sì. Scavalcare le catene è uno sport che pratico da quando avevo sei anni.' }],
},
},
{
id: 'tenda', name: 'tenda a righe', box: [508, 182, 30, 28], at: [500, 268], face: 'right',
actions: {
look: [{ say: 'Una tenda a righe bianche e rosse. Fa tanto spiaggia: peccato che il mare sia di là dall\'Appennino.' }],
},
},
{
id: 'muro_edera', name: 'muro con l\'edera', box: [546, 140, 94, 150], at: [570, 296], face: 'right',
actions: {
look: [{ say: 'Il muro di sasso con l\'edera e la ringhiera in cima. Lassù c\'è il verde della villa.' }],
},
},
{
id: 'alla_piazzetta_comune', name: 'a sinistra, il Comune', box: [0, 90, 200, 204], at: [130, 292], face: 'left', exit: { scene: 'piazzetta_comune', at: [260, 350], face: 'up' },
},
{
id: 'su_antica_posta', name: 'su, in fondo a Via dell\'Antica Posta', box: [350, 200, 70, 30], at: [384, 230], exit: { scene: 'antica_posta_alta', at: [240, 350], face: 'up' },
},
{
id: 'alla_piazza', name: 'indietro, la Piazza', box: [0, 334, 640, 26], at: [320, 354], exit: { scene: 'piazza', at: [92, 250], face: 'right' },
},
],
enter: [{ if: '!antica_posta_vista', then: [{ set: 'antica_posta_vista' }, { say: 'Via dell\'Antica Posta. Chissà se la posta antica arrivava prima di quella moderna.' }] }],
},
// La Piazzetta del Comune, dietro il municipio: la torre dell'orologio, le sculture sui pilastrini di mattoni.
piazzetta_comune: {
name: 'Piazzetta del Comune',
map: [32, 39],
background: 'assets/scenes/piazzetta-comune.png',
walk: [[0, 360], [0, 318], [130, 292], [470, 288], [540, 300], [520, 360]],
depth: [[288, 0.55], [360, 1.15]],
entry: [260, 350],
hotspots: [
{
id: 'torre', name: 'torre dell\'orologio', box: [264, 16, 58, 104], at: [290, 294], face: 'up',
actions: {
look: [{ say: 'La torre dell\'orologio, vista dal retro. Anche da qui segna un\'ora tutta sua.' }],
},
},
{
id: 'porta_comune', name: 'porta del Comune', box: [286, 238, 26, 50], at: [298, 292], face: 'up',
actions: {
look: [{ say: 'La porta del Comune. Dal retro, ma sempre Comune.' }],
open: [{ say: 'Chiusa. Anche dalla porta di dietro, senza un modulo non si entra.' }],
},
},
{
id: 'scultura', name: 'scultura alta', box: [264, 248, 22, 68], at: [250, 320], face: 'right',
actions: {
look: [{ say: 'Una scultura moderna, lunga e appuntita. Secondo me è un\'antenna per parlare coi marziani.' }],
},
},
{
id: 'sasso', name: 'scultura a sasso', box: [92, 276, 42, 54], at: [150, 330], face: 'left',
actions: {
look: [{ say: 'Questa sembra un sasso. Ma sta su un piedistallo, quindi è arte.' }],
take: [{ say: 'Pesa più di me. E poi l\'arte non si porta via in tasca.' }],
},
},
{
id: 'vaso_fiori', name: 'vaso di fiori', box: [520, 264, 106, 82], at: [505, 330], face: 'right',
actions: {
look: [{ say: 'Un vasone di fiori. Qualcuno se ne prende cura, al Comune.' }],
},
},
{
id: 'alla_via', name: 'indietro, Via dell\'Antica Posta', box: [0, 336, 520, 24], at: [260, 354], exit: { scene: 'via_antica_posta', at: [140, 294], face: 'right' },
},
],
},
// In cima a Via dell'Antica Posta, prima della Piazzetta: il muro della villa con l'edera, il ponticello sopra la
// strada, il giardinetto con le panchine e due gatti al sole. A sinistra, sotto il ponticello, la scalinata (Andrea).
antica_posta_alta: {
name: 'In cima a Via dell\'Antica Posta',
map: [38, 39],
background: 'assets/scenes/via-antica-posta-alta.png',
walk: [[0, 360], [0, 322], [190, 226], [283, 222], [470, 360]],
depth: [[222, 0.35], [360, 1.15]],
entry: [240, 350],
hotspots: [
{
id: 'gatti', name: 'gatti', box: [490, 236, 100, 28], at: [420, 330], face: 'right',
actions: {
look: [{ say: 'Due gatti che dormono sull\'erba. Il Palio, per loro, può anche aspettare.' }],
talk: [{ say: 'Micio, micio... Niente. Per meno di una scatoletta non aprono neanche un occhio.' }],
take: [{ say: 'Svegliare un gatto che dorme al sole? Non sono così coraggioso.' }],
},
},
{
id: 'panchine', name: 'panchine', box: [358, 212, 130, 44], at: [375, 300], face: 'right',
actions: {
look: [{ say: 'Due panchine all\'ombra del muro. Un posto per chi non ha un palio da ritrovare.' }],
use: [{ say: 'Mi siederei volentieri, ma il Palio non si ritrova da solo.' }],
},
},
{
id: 'ponticello', name: 'ponticello', box: [187, 34, 92, 38], at: [235, 240], face: 'up',
actions: {
look: [{ say: 'Un ponticello sopra la strada, da una casa all\'altra. Per andare dal vicino senza fare le scale.' }],
},
},
{
id: 'muro_villa', name: 'muro della villa', box: [383, 0, 257, 205], at: [330, 280], face: 'right',
actions: {
look: [{ say: 'Il muro di Villa Schifanoia, alto alto, con l\'edera che ormai lo tiene su lei.' }],
},
},
{
id: 'su_piazzetta', name: 'su, Piazzetta Cambray Digny', box: [250, 196, 80, 30], at: [280, 226], exit: { scene: 'piazzetta', at: [510, 276], face: 'down' },
},
{
id: 'alla_scalinata', name: 'a sinistra, giù per la scalinata verso il Comune', box: [150, 190, 60, 36], at: [195, 228], exit: { scene: 'scalinata', at: [470, 312], face: 'down' },
},
{
id: 'giu_antica_posta', name: 'giù, Via dell\'Antica Posta', box: [0, 334, 470, 26], at: [240, 354], exit: { scene: 'via_antica_posta', at: [384, 234], face: 'down' },
},
],
},
// La scalinata (foto di Andrea, 28 ottobre): un cortile coi garage; su per le scale la Piazzetta Cambray Digny,
// alle spalle i giardini e il retro del Comune.
scalinata: {
name: 'La scalinata della Piazzetta',
map: [30, 42],
background: 'assets/scenes/scalinata-piazzetta.png',
walk: [[0, 360], [0, 290], [100, 282], [380, 278], [400, 300], [620, 330], [640, 360]],
depth: [[278, 0.55], [360, 1.15]],
entry: [300, 350],
hotspots: [
{
id: 'saracinesca', name: 'saracinesca', box: [268, 196, 62, 79], at: [300, 290], face: 'up',
actions: {
look: [{ say: 'Una saracinesca color ruggine. Dietro, scommetto, una macchina e trent\'anni di roba da buttare.' }],
open: [{ say: 'Chiusa. E se la apro io, mi tocca anche fare ordine.' }],
},
},
{
id: 'panni', name: 'panni stesi', box: [110, 108, 34, 30], at: [130, 290], face: 'up',
actions: {
look: [{ say: 'Panni stesi al sole. Se piove, qui lo sanno tutti prima del telegiornale.' }],
take: [{ say: 'Rubare i panni stesi? Mi conoscono tutti, mi ritroverebbero prima del Palio.' }],
},
},
{
id: 'su_antica_posta', name: 'su per le scale, a sinistra Via dell\'Antica Posta', box: [440, 196, 90, 70], at: [470, 312], face: 'up', exit: { scene: 'antica_posta_alta', at: [195, 228], face: 'right' },
},
{
id: 'su_piazzetta', name: 'su per le scale, a destra Piazzetta Cambray Digny', box: [530, 196, 80, 70], at: [560, 325], face: 'up', exit: { scene: 'piazzetta', at: [560, 285], face: 'left' },
},
{
id: 'al_comune', name: 'indietro, i giardini del Comune', box: [0, 334, 640, 26], at: [300, 354], exit: { scene: 'comune', at: [40, 300], face: 'right' },
},
],
},
// L'area feste (il parco Antonio Berti): dalla rotonda del River, a sinistra.
area_feste: {
name: 'Area feste',
@@ -2307,6 +2497,9 @@ export const story = {
{
id: 'all_area_camper', name: 'a sinistra, verso l\'area camper', box: [320, 160, 110, 42], at: [442, 202], exit: { scene: 'area_camper', at: [600, 330], face: 'left' },
},
{
id: 'al_giannini', name: 'in fondo a sinistra, verso il campo del Giannini', box: [380, 165, 58, 30], at: [440, 200], exit: { scene: 'campo_giannini', at: [480, 218], face: 'left' },
},
{
id: 'alla_stazione', name: 'a destra, verso la stazione', box: [486, 160, 90, 40], at: [474, 202], exit: { scene: 'stazione', at: [20, 300], face: 'right' },
},
@@ -2335,9 +2528,6 @@ export const story = {
look: [{ say: 'Le villette rosa coi balconi bianchi. Da qui a casa mia è un attimo.' }],
},
},
{
id: 'al_giannini', name: 'il campo del Giannini', box: [140, 160, 260, 70], at: [250, 238], exit: { scene: 'campo_giannini', at: [320, 350], face: 'up' },
},
{
id: 'a_cardetole', name: 'verso casa, a Cardetole', box: [0, 230, 80, 130], at: [20, 300], exit: { scene: 'cardetole', at: [300, 350], face: 'up' },
},
@@ -2346,7 +2536,8 @@ export const story = {
},
],
},
// Il prato del parco dei camper visto dall'altra parte: per i ragazzi, «il campo del Giannini».
// Il prato del parco dei camper visto dall'altra parte: per i ragazzi, «il campo del Giannini». Ci si arriva dal
// ponticino della Carza; niente uscita verso l'area camper, perché è già questa (Andrea, 28 ottobre).
campo_giannini: {
name: 'Il campo del Giannini',
map: [82, 96],
@@ -2369,7 +2560,7 @@ export const story = {
},
},
{
id: 'al_parco', name: 'indietro, verso l\'area camper', box: [0, 330, 640, 30], at: [320, 354], exit: { scene: 'area_camper', at: [250, 238], face: 'down' },
id: 'al_ponticino', name: 'verso il ponticino della Carza', box: [440, 150, 90, 60], at: [480, 216], exit: { scene: 'ponticino', at: [444, 204], face: 'right' },
},
],
},
@@ -2397,6 +2588,7 @@ export const story = {
use: [{ say: 'Arrampicarmi? Alla mia età, e davanti a tutto il condominio?' }],
},
},
// Si compare a destra dell'area camper: inquadrature invertite rispetto alle foto (Andrea, 28 ottobre, va bene così).
{
id: 'alla_pieve', name: 'su verso la Pieve', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'area_camper', at: [600, 330], face: 'left' },
},
+1 -1
View File
@@ -1,5 +1,5 @@
// La versione del gioco: la cambia scripts/bump.sh, insieme a package.json.
export const VERSION = '0.1.25';
export const VERSION = '0.1.27';
// Immagini, musiche e voci con ?v=<versione>: a ogni versione l'indirizzo cambia e il browser le riscarica,
// mentre fra una versione e l'altra le tiene in cache a lungo (nginx.conf).
+1 -1
View File
@@ -15,7 +15,7 @@ test('clic intelligente: parla con le persone, guarda le cose, attraversa le usc
const { g, c, at } = setup();
assert.equal(c.sentence('vecchietti'), 'Parla con vecchietti');
assert.equal(c.sentence('manifesto'), 'Guarda manifesto del Palio');
assert.equal(c.sentence('verso_piazzetta'), 'Vai a Piazzetta Cambray Digny, verso Via de\' Medici');
assert.equal(c.sentence('verso_piazzetta'), 'Vai a Via dell\'Antica Posta, verso Piazzetta Cambray Digny');
assert.equal(c.clickScene(at('vecchietti')), 'act');
settle(g);
assert.equal(g.dialogue?.id, 'vecchietti');
+2 -1
View File
@@ -7,5 +7,6 @@
"da i' Trappola, ai' Barrettino": "dai Trappola, ai Barrettino",
"S'ha andà a fallo": "saandà a fallo",
"Ghiacciomobile": "Ghiacciomòbile",
"Not today": "Nòt tudèi"
"Not today": "Nòt tudèi",
"Commodore": "Commòdòr"
}