Bivio, giardini, stazione, ponticino e tennis della chiesa come il paese vero; pallaio, chiosco della Tosca, casa dell'ing. Tozzi; Simone Rocchi nei crediti

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017egeN2amL84ErjfgQFtEDn
This commit is contained in:
2026-10-24 00:07:28 +02:00
co-authored by Claude Opus 5.5
parent 7d0269c77a
commit 17017830af
19 changed files with 104 additions and 52 deletions
+49 -33
View File
@@ -26,6 +26,7 @@ export const story = {
{ role: 'Sfondi', names: ['dalle fotografie di San Piero di Andrea'] },
// Chi ci ha mandato foto, ricordi o idee: una riga per contributo, si allunga man mano.
{ role: 'Fotografie', names: ['Mariano Mirannalti (l\'interno della Pieve)'] },
{ role: 'Opere d\'arte nel gioco', names: ['Simone Rocchi (l\'omino di ferro del tennis della chiesa)'] },
{ role: 'Voci', names: ['XTTS-v2 di Coqui'] },
{ role: 'Carattere', names: ['Press Start 2P di CodeMan38 (licenza OFL)'] },
{ role: 'Programmazione', names: ['Andrea Manzi, con Claude e Codex'] },
@@ -155,9 +156,6 @@ export const story = {
{
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' },
},
{
id: 'verso_pieve', name: 'verso la Pieve', box: [612, 292, 28, 68], at: [628, 330], exit: { scene: 'pieve', at: [30, 320], face: 'right' },
},
],
enter: [{ if: '!intro', then: [{ set: 'intro' }, { say: 'Il palio è sparito! Il quadro che hanno dipinto i ragazzi delle medie.' }, { say: 'La festa è domani: se nessuno lo ritrova, salta tutto. Tocca a me.' }] }],
},
@@ -285,9 +283,6 @@ export const story = {
{
id: 'verso_provinciale', name: 'Via Provinciale, verso il River', box: [30, 330, 200, 30], at: [130, 350], exit: { scene: 'via_provinciale', at: [560, 240], face: 'left' },
},
{
id: 'verso_piazza', name: 'verso la Piazza', box: [0, 262, 26, 98], at: [8, 320], exit: { scene: 'piazza', at: [610, 320], face: 'left' },
},
{
id: 'verso_forno', name: 'a destra, verso il forno', box: [570, 176, 70, 76], at: [588, 250], exit: { scene: 'forno', at: [628, 300], face: 'left' },
},
@@ -477,7 +472,7 @@ export const story = {
],
},
// Il Comune e l'asilo infantile Antonio Frilli: dalla Piazza (a sinistra, prima di Via de' Medici) o dalla
// strada di fronte alla farmacia; da qui si scende ai giardini delle poste.
// strada di fronte alla farmacia.
comune: {
name: 'Il Comune',
map: [11, 45],
@@ -509,15 +504,12 @@ export const story = {
{
id: 'alla_piazza', name: 'su, verso la Piazza', box: [0, 250, 40, 110], at: [14, 300], exit: { scene: 'piazza', at: [120, 252], face: 'right' },
},
{
id: 'ai_giardini', name: 'giù, verso i giardini', box: [596, 300, 44, 60], at: [620, 345], exit: { scene: 'giardini_poste', at: [580, 340], face: 'left' },
},
{
id: 'alla_farmacia', name: 'giù, verso la farmacia', box: [60, 334, 520, 26], at: [320, 354], exit: { scene: 'via_provinciale', at: [622, 244], face: 'left' },
},
],
},
// I giardini delle poste: giù dal Comune; in fondo, le poste.
// I giardini delle poste: a destra della stazione; in fondo, le poste.
giardini_poste: {
name: 'Giardini delle poste',
map: [11, 58],
@@ -546,7 +538,7 @@ export const story = {
},
},
{
id: 'al_comune', name: 'su, verso il Comune', box: [500, 300, 140, 60], at: [600, 340], exit: { scene: 'comune', at: [600, 345], face: 'left' },
id: 'alla_stazione', name: 'verso la stazione', box: [100, 110, 80, 130], at: [137, 240], exit: { scene: 'stazione', at: [628, 320], face: 'left' },
},
],
},
@@ -770,7 +762,7 @@ export const story = {
},
},
{
id: 'alla_stazione', name: 'a sinistra, verso la stazione e la scuola', box: [0, 200, 50, 160], at: [12, 300], exit: { scene: 'bivio_provinciale', at: [300, 350], face: 'up' },
id: 'alla_stazione', name: 'a sinistra, verso la stazione e la scuola', box: [0, 200, 50, 160], at: [12, 300], exit: { scene: 'bivio_provinciale', at: [318, 224], face: 'down' },
},
{
id: 'alla_pieve', name: 'a destra, verso la Pieve', box: [590, 220, 50, 140], at: [628, 300], exit: { scene: 'pieve', at: [588, 250], face: 'left' },
@@ -799,14 +791,13 @@ export const story = {
},
},
{
id: 'la_luna', name: 'più avanti, verso La Luna e Campomigliaio', box: [0, 230, 50, 100], at: [14, 300], face: 'left', default: 'walk',
actions: {
walk: [{ say: 'Più avanti c\'è La Luna, e poi Campomigliaio, il mio rione: i blu.' }, { say: 'Ci torno quando ho ritrovato il palio. A mani vuote non mi ci faccio vedere.' }],
look: [{ say: 'La Provinciale va avanti verso La Luna e Campomigliaio.' }],
},
id: 'al_ponticino', name: 'a destra, verso il ponticino della Carza', box: [560, 292, 80, 40], at: [610, 320], exit: { scene: 'ponticino', at: [474, 202], face: 'down' },
},
{
id: 'al_forno', name: 'a destra, verso il forno', box: [590, 220, 50, 140], at: [628, 320], exit: { scene: 'bivio_provinciale', at: [318, 224], face: 'down' },
id: 'al_bivio', name: 'indietro, verso la Provinciale', box: [60, 334, 520, 26], at: [320, 354], exit: { scene: 'bivio_provinciale', at: [580, 345], face: 'left' },
},
{
id: 'ai_giardini', name: 'a destra, i giardini delle poste', box: [590, 190, 50, 100], at: [628, 300], exit: { scene: 'giardini_poste', at: [137, 240], face: 'down' },
},
],
},
@@ -816,7 +807,7 @@ export const story = {
map: [78, 64],
background: 'assets/scenes/bivio-provinciale.png',
walk: [[0, 360], [0, 232], [120, 226], [290, 222], [350, 222], [380, 240], [600, 340], [640, 360]],
depth: [[222, 0.35], [360, 1.2]],
depth: [[222, 0.5], [360, 1.7]],
entry: [300, 350],
hotspots: [
{
@@ -826,13 +817,20 @@ export const story = {
},
},
{
id: 'alla_scuola', name: 'la stradina della scuola', box: [0, 190, 120, 70], at: [40, 300], exit: { scene: 'scuola', at: [600, 320], face: 'left' },
id: 'alla_scuola', name: 'più avanti, la stradina della scuola', box: [170, 196, 80, 40], at: [208, 226], exit: { scene: 'scuola', at: [600, 320], face: 'left' },
},
{
id: 'alla_stazione', name: 'avanti, verso la stazione', box: [280, 196, 80, 40], at: [318, 224], exit: { scene: 'stazione', at: [628, 320], face: 'left' },
id: 'la_luna', name: 'a sinistra, verso La Luna e Campomigliaio', box: [0, 216, 44, 56], at: [12, 248], face: 'left', default: 'walk',
actions: {
walk: [{ say: 'Più avanti c\'è La Luna, e poi Campomigliaio, il mio rione: i blu.' }, { say: 'Ci torno quando ho ritrovato il palio. A mani vuote non mi ci faccio vedere.' }],
look: [{ say: 'La Provinciale va avanti verso La Luna e Campomigliaio.' }],
},
},
{
id: 'al_forno', name: 'indietro, verso il forno', box: [80, 334, 480, 26], at: [300, 354], exit: { scene: 'forno', at: [12, 300], face: 'right' },
id: 'al_forno', name: 'laggiù, verso il forno', box: [280, 196, 80, 40], at: [318, 224], exit: { scene: 'forno', at: [12, 300], face: 'right' },
},
{
id: 'alla_stazione', name: 'a destra, la stazione', box: [560, 250, 80, 110], at: [580, 345], exit: { scene: 'stazione', at: [320, 350], face: 'up' },
},
],
},
@@ -846,20 +844,35 @@ export const story = {
entry: [320, 350],
hotspots: [
{
id: 'campo', name: 'campo rosso', box: [300, 248, 340, 40], at: [400, 300], face: 'up',
id: 'pallaio', name: 'il pallaio', box: [300, 248, 340, 40], at: [400, 300], face: 'up',
actions: {
look: [{ say: 'Il tennis della chiesa. Di tennis non ci ha mai giocato nessuno: è un campo da bocce, ma il nome è rimasto.' }],
look: [{ say: 'Il pallaio, dove si gioca a bocce. Qui un punto si discute più di un rigore.' }],
use: [{ say: 'Senza bocce, e senza un vecchietto che misura col metro, non è una partita.' }],
},
},
{
id: 'tennis', name: 'campo da tennis', box: [0, 190, 70, 130], at: [40, 310], face: 'left',
actions: {
look: [{ say: 'Di là, dove guarda l\'omino di ferro, c\'è il campo da tennis della chiesa.' }],
},
},
{
id: 'chiosco', name: 'chiosco', box: [240, 196, 106, 72], at: [300, 296], face: 'up', default: 'talk',
actions: {
look: [{ say: 'Il chiosco del tennis. D\'estate qui c\'è la Tosca coi ghiaccioli.' }],
talk: [{ say: 'Tosca! C\'è la Tosca?' }, { say: 'Un ghiacciolo al limone, per favore. Da inzuppare nella cedrata.' }, { say: 'Lo so, è una cosa esagerata. Ma è la merenda dei campioni.' }, { say: '...' }, { say: 'Niente, è chiuso. Torno quando ho ritrovato il palio, e ne prendo due.' }],
open: [{ say: 'Chiuso. Il ghiacciolo dovrà aspettare.' }],
},
},
{
id: 'omino', name: 'omino di ferro', box: [80, 190, 40, 140], at: [130, 320], face: 'left',
actions: {
look: [{ say: 'Una scultura di ferro: un omino con la racchetta. Almeno lui a tennis ci gioca.' }],
look: [{ say: 'L\'omino di ferro con la racchetta, una scultura di Simone Rocchi. Almeno lui a tennis ci gioca.' }],
talk: [{ say: 'Partita?' }, { say: '...' }, { say: 'Mi sa che vince lui ai punti. Non si muove mai.' }],
},
},
{
id: 'alla_carza', name: 'indietro, verso il posticino della Carza', box: [0, 330, 640, 30], at: [320, 354], exit: { scene: 'carza', at: [440, 290], face: 'left' },
id: 'alla_carza', name: 'verso il ponticino della Carza', box: [470, 140, 120, 130], at: [515, 280], exit: { scene: 'ponticino', at: [400, 350], face: 'up' },
},
],
},
@@ -997,13 +1010,13 @@ export const story = {
map: [60, 58],
background: 'assets/scenes/carza.png',
walk: [[60, 360], [250, 262], [300, 218], [350, 218], [420, 262], [600, 360]],
depth: [[218, 0.4], [360, 1.15]],
depth: [[218, 0.55], [360, 1.65]],
entry: [300, 350],
hotspots: [
{
id: 'muro', name: 'muro di sassi', box: [0, 120, 200, 140], at: [190, 300], face: 'left',
id: 'muro', name: 'casa dell\'ing. Tozzi', box: [0, 120, 200, 140], at: [190, 300], face: 'left',
actions: {
look: [{ say: 'Il muro vecchio di sassi, mezzo coperto dai rampicanti. Qui ci si nascondeva a nascondino.' }],
look: [{ say: 'Dietro il muro di sassi c\'è la casa dell\'ingegner Patrizio Giuseppe Tozzi, il babbo del Tozzino.' }, { say: 'Uno che fra qualche anno farà il presidente del gruppo INPS: i pensionati sanpierini che si danno un sacco da fare.' }],
},
},
{
@@ -1042,7 +1055,10 @@ export const story = {
},
},
{
id: 'all_area_camper', name: 'di là, verso l\'area camper', box: [420, 186, 76, 30], at: [458, 202], exit: { scene: 'area_camper', at: [600, 330], face: 'left' },
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: 'alla_stazione', name: 'a destra, verso la stazione', box: [486, 160, 90, 40], at: [474, 202], exit: { scene: 'stazione', at: [600, 330], face: 'left' },
},
{
id: 'alla_carza', name: 'indietro, verso la Pieve', box: [0, 330, 640, 30], at: [400, 354], exit: { scene: 'carza', at: [325, 222], face: 'down' },
@@ -1076,7 +1092,7 @@ export const story = {
id: 'a_cardetole', name: 'verso casa, a Cardetole', box: [0, 230, 80, 130], at: [20, 300], exit: { scene: 'cardetole', at: [300, 350], face: 'up' },
},
{
id: 'al_ponticino', name: 'indietro, il ponticino', box: [560, 300, 80, 60], at: [620, 330], exit: { scene: 'ponticino', at: [458, 202], face: 'down' },
id: 'al_ponticino', name: 'indietro, il ponticino', box: [560, 300, 80, 60], at: [620, 330], exit: { scene: 'ponticino', at: [442, 202], face: 'down' },
},
],
},
@@ -1173,7 +1189,7 @@ export const story = {
},
},
{
id: 'al_bivio', name: 'a destra, verso la Provinciale', box: [584, 220, 56, 120], at: [600, 320], exit: { scene: 'bivio_provinciale', at: [40, 300], face: 'right' },
id: 'al_bivio', name: 'a destra, verso la Provinciale', box: [584, 220, 56, 120], at: [600, 320], exit: { scene: 'bivio_provinciale', at: [208, 226], face: 'right' },
},
{
id: 'alla_salita', name: 'indietro, verso la salita', box: [0, 330, 640, 30], at: [300, 352], exit: { scene: 'salita_villa_adami', at: [40, 336], face: 'right' },