Si comincia svegliandosi sulla panchina dei vecchietti dopo una notte brava: gli occhi che si aprono a fatica, la piazza sfocata e doppia; e dal Barone il telefonino col sito di San Piero, che si apre a tutto schermo, e il Muro del Sanpierino vero coi messaggi del 2007, «Aggiorna» compreso (Andrea)
- Il risveglio (src/engine/risveglio.js): primo piano sopra la scena, con le battute mentre le palpebre si aprono e i vecchietti che danno la notizia del palio; «Salta» lo salta. - Il telefonino del Barone (src/engine/telefono.js): sale dal basso come il libro, la home di sanpiero50037.it dalla Wayback Machine nello schermo, il mattone del muro apre il muro. - Il muro (assets/muro, tools/muro.py): la pagina vera rifatta statica dal muro riesumato, coi 24 messaggi del dump (senza email né IP) e quelli del gioco, che arrivano con la storia; «Scrivi» spento. - Il gioco sgancia i service worker di altre app rimasti sul suo indirizzo (la Bussola su localhost:8080). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9RWGMKV7n3K1mdy8T
This commit is contained in:
+77
-12
@@ -64,7 +64,9 @@ export const story = {
|
||||
title: 'La Leggenda del Regolo',
|
||||
// La mappa (pulsante «Mappa»): ogni scena con `map: [x, y]` (percentuali della pianta) ci compare quando è
|
||||
// stata visitata; le strade sono le uscite fra scene. Un posto nuovo entra con la sua riga `map`.
|
||||
start: { scene: 'piazza', at: [250, 320] },
|
||||
// Si comincia sulla panchina dei vecchietti, dopo una notte brava (Andrea, 31 ottobre): il risveglio è il primo
|
||||
// piano `risveglio`, che parte entrando in piazza la prima volta.
|
||||
start: { scene: 'piazza', at: [96, 328], face: 'left' },
|
||||
// Le fasi del giorno (idea di Andrea, 24 ottobre): seguono la storia, non l'orologio. Il primo capitolo comincia
|
||||
// di pomeriggio; con le impronte del Regolo viene il tramonto, e quando Andrea ha la torcia è sera. Sulle scene
|
||||
// all'aperto un velo di colore (`tint`); luci ed effetti possono valere solo in certe fasi (`phase`).
|
||||
@@ -120,7 +122,8 @@ export const story = {
|
||||
cardetole: 'Io corro per Cardetole, i verdi: gioco in casa.',
|
||||
campomigliaio: 'Io corro per Campomigliaio, i blu.',
|
||||
} },
|
||||
'E stamattina, in piazza, è successo qualcosa...',
|
||||
// [DA ANDREA: la riga che porta al risveglio sulla panchina]
|
||||
'Ieri sera s\'è fatto tardi. Molto tardi...',
|
||||
],
|
||||
// Colonna sonora di Andrea (fatta con Suno): titolo, paese, ricordi (fine e Trebbio).
|
||||
// splash: la musichetta del cartello d'apertura (tools/jingle.py), suonata una volta sola.
|
||||
@@ -340,6 +343,54 @@ export const story = {
|
||||
{ closeup: 'ingorgo' },
|
||||
],
|
||||
},
|
||||
// Il Muro del Sanpierino sul telefonino del Barone (Andrea, 31 ottobre): sale come il libro, nello schermo la
|
||||
// home di sanpiero50037.it (la 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: la pagina vera (assets/muro, fatta da
|
||||
// tools/muro.py dal muro riesumato in ~/Workspaces/misc/spswall), coi messaggi veri del 2007 (Andrea: «quelli
|
||||
// veri»; niente email, «Scrivi» spento) e sopra quelli del gioco qui sotto, ognuno con la sua condizione:
|
||||
// «Aggiorna» ricarica, e la storia che va avanti ne fa comparire di nuovi. [DA ANDREA: messaggi e battute]
|
||||
muro_sanpierino: {
|
||||
type: 'telefono',
|
||||
phone: 'assets/closeups/telefonino-barone.png', // Codex, prompts/closeups/telefonino-barone.txt
|
||||
screen: [120, 25, 106, 142], // lo schermo, in pixel del telefonino
|
||||
site: 'assets/closeups/sanpiero50037-home.png', siteSize: [1067, 600],
|
||||
link: [48, 42, 302, 99], // il mattone del muro, in pixel del sito
|
||||
paper: '#f7e1c0',
|
||||
messages: [
|
||||
{ nick: 'Uno di Cardetole', date: '2007-05-26 00:55:12', text: 'Quest\'anno il palio è nostro!!! [bouncer]\nGli altri rioni si preparino a piangere. [14_bigmouth]' },
|
||||
{ nick: 'Baron De Duke', date: '2007-05-26 01:40:37', text: 'Chi ha trovato un paio di mutande, le riporti al circolino.\nSenza fare domande. [15_weeping]' },
|
||||
{ nick: 'Il Regolo', date: '2007-05-26 03:12:08', text: 'IL PALIO ME LO SONO RIPRESO IO. [22_yikes]\nChi lo rivuole, venga a prenderselo. Se ha coraggio.' },
|
||||
// Quelli che arrivano con la storia: si vedono riaprendo il muro, o con «Aggiorna».
|
||||
{ when: 'indizio_regolo', nick: 'Uno che passava', date: '2007-05-26 18:20:44', text: 'Ma avete visto le impronte sotto la Fortezza??? Grandi come una pizza!!! [24_shocked]' },
|
||||
{ when: 'casetta_aperta', nick: 'Il Regolo', date: '2007-05-26 21:03:51', text: 'Ho sentito che qualcuno ha trovato una torcia. Io ho sempre la luna. [28_spin]' },
|
||||
],
|
||||
comment: [
|
||||
{ say: '«Il palio me lo sono ripreso io». Firmato: il Regolo. Alle tre di notte.' },
|
||||
{ say: 'E sotto ci sono io, con le mutande. Nessuno ha risposto.', who: 'barondeduke', pose: 'facepalm' },
|
||||
],
|
||||
closing: [
|
||||
{ say: 'Barone, il sito è tuo: non puoi vedere chi l\'ha scritto?' },
|
||||
{ say: 'Potrei. Ma ci vuole il computer di casa. Il telefonino, più di così, non fa.', who: 'barondeduke', pose: 'shrug' },
|
||||
],
|
||||
},
|
||||
// L'inizio della partita: Andrea apre gli occhi sulla panchina dei vecchietti, dopo una notte brava (Andrea,
|
||||
// 31 ottobre). Le battute `lines` arrivano mentre gli occhi si aprono; `complete` a occhi aperti.
|
||||
// [DA ANDREA: le battute sono provvisorie]
|
||||
risveglio: {
|
||||
type: 'risveglio',
|
||||
lines: [
|
||||
{ at: 0.8, say: 'Mmmh... che botta.' },
|
||||
{ at: 3.0, say: 'Ma... dove sono?' },
|
||||
{ at: 5.9, say: 'Una panchina. In piazza. Coi vecchietti.' },
|
||||
],
|
||||
complete: [
|
||||
{ say: 'Oh, s\'è svegliato il bello addormentato! Bella nottata, eh?', who: 'vecchietta', pose: 'laugh' },
|
||||
{ say: 'Ma l\'hai saputo? Il palio è sparito!', who: 'vecchietto', pose: 'point' },
|
||||
{ say: 'Il palio? Il quadro che hanno dipinto i ragazzi delle medie?' },
|
||||
{ say: 'Lo tenevano a scuola: stamani la Gianna ha trovato il posto vuoto.', who: 'vecchietta', pose: 'explain' },
|
||||
{ say: 'La festa è domani: se nessuno lo ritrova, salta tutto. Tocca a me.' },
|
||||
],
|
||||
},
|
||||
// L'incantesimo dell'Ingorgo Sonoro, dal manifesto in piazza: luci, cassa, lampo, ed è la notte della festa.
|
||||
ingorgo: {
|
||||
type: 'incanto',
|
||||
@@ -735,7 +786,7 @@ 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' },
|
||||
},
|
||||
],
|
||||
enter: [{ if: '!intro', then: [{ set: 'intro' }, { say: 'Il palio è sparito! Il quadro che hanno dipinto i ragazzi delle medie.' }, { say: 'Lo tenevano a scuola: stamani la Gianna ha trovato il posto vuoto.' }, { say: 'La festa è domani: se nessuno lo ritrova, salta tutto. Tocca a me.' }] }],
|
||||
enter: [{ if: '!intro', then: [{ set: 'intro' }, { closeup: 'risveglio' }] }],
|
||||
},
|
||||
fortezza: {
|
||||
name: 'Sotto le mura della Fortezza',
|
||||
@@ -2084,15 +2135,7 @@ export const story = {
|
||||
},
|
||||
actions: {
|
||||
look: [{ say: 'Il BaronDeDuke, col cappello da cowboy. Ha l\'aria di uno che aspetta qualcuno, e che spera non lo veda nessuno.' }],
|
||||
talk: [
|
||||
{ say: 'Barone! Che ci fai qui?' },
|
||||
{ say: 'Aspetto uno che mi deve riportare le mutande.', who: 'barondeduke' },
|
||||
{ say: 'Le... mutande?' },
|
||||
{ say: 'Le ho perse a poker, ieri sera.', who: 'barondeduke', pose: 'facepalm' },
|
||||
{ say: 'Avevo due donne e due jack. Entra la terza donna, e penso: «Male male si divide».', who: 'barondeduke', pose: 'cards' },
|
||||
{ say: 'E invece?' },
|
||||
{ say: 'L\'altro aveva colore.', who: 'barondeduke', pose: 'shrug' },
|
||||
],
|
||||
talk: [{ dialogue: 'barondeduke' }],
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -3899,6 +3942,28 @@ export const story = {
|
||||
},
|
||||
},
|
||||
},
|
||||
// Il BaronDeDuke nella discesa verso la polisportiva: le mutande perse a poker, e il Muro del Sanpierino sul
|
||||
// telefonino (Andrea, 31 ottobre: lui è il webmaster di sanpiero50037.it).
|
||||
barondeduke: {
|
||||
nodes: {
|
||||
start: { options: [
|
||||
{ text: 'Barone! Che ci fai qui?', then: [
|
||||
{ say: 'Aspetto uno che mi deve riportare le mutande.', who: 'barondeduke' },
|
||||
{ say: 'Le... mutande?' },
|
||||
{ say: 'Le ho perse a poker, ieri sera.', who: 'barondeduke', pose: 'facepalm' },
|
||||
{ say: 'Avevo due donne e due jack. Entra la terza donna, e penso: «Male male si divide».', who: 'barondeduke', pose: 'cards' },
|
||||
{ say: 'E invece?' },
|
||||
{ say: 'L\'altro aveva colore.', who: 'barondeduke', pose: 'shrug' },
|
||||
] },
|
||||
// [DA ANDREA: le battute sono provvisorie]
|
||||
{ text: 'Hai visto cosa c\'era sul muro del Sanpierino?', next: 'end', then: [
|
||||
{ say: 'Il muro? Aspetta, ce l\'ho qui sul telefonino.', who: 'barondeduke', pose: 'explain' },
|
||||
{ closeup: 'muro_sanpierino' },
|
||||
] },
|
||||
{ text: 'Ci vediamo, Barone.', next: 'end' },
|
||||
] },
|
||||
},
|
||||
},
|
||||
// L'Arcu davanti al circolino (battute di Andrea, 25 ottobre). Lavora alla Casa dell'Armadio: «Armando» è apposta.
|
||||
arcu: {
|
||||
nodes: {
|
||||
|
||||
Reference in New Issue
Block a user