Suoni d'ambiente sintetizzati (vento, acqua, uccelli, grilli, campane) col loro volume in Pausa; la fessura in primo piano: si cerca col fascio della torcia il quadro e gli occhi (lavoro di Codex). La foto del palio leggibile da nginx, e un test che lo controlla per tutti i file serviti
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
// Paesaggi sonori discreti: nessun parlato aggiunto e lunghe pause fra gli eventi.
|
||||
export const soundscapes = {
|
||||
paese: { bed: 'wind', level: 0.025, day: ['bird', 'bell'], night: ['cricket'], gap: [12, 24] },
|
||||
bosco: { bed: 'wind', level: 0.065, day: ['bird', 'wood'], night: ['cricket', 'wood'], gap: [9, 19] },
|
||||
acqua: { bed: 'water', level: 0.1, day: ['bird', 'drip'], night: ['cricket', 'drip'], gap: [9, 18] },
|
||||
pieve: { bed: null, level: 0, day: ['bell'], night: ['bell'], gap: [24, 38] },
|
||||
circolo: { bed: null, level: 0, day: ['glass'], night: ['glass'], gap: [12, 22] },
|
||||
fortezza: { bed: 'wind', level: 0.085, day: ['wood', 'bird'], night: ['wood', 'cricket'], gap: [14, 25] },
|
||||
fessura: { bed: 'wind', level: 0.045, day: ['drip'], night: ['drip'], gap: [10, 18] },
|
||||
};
|
||||
|
||||
const groups = {
|
||||
bosco: ['bosco_ai_frati', 'viale_cipressi', 'trebbio', 'salita_fortezza', 'casa_maestro_bacci', 'campo_giannini', 'area_camper', 'giardini_poste'],
|
||||
acqua: ['ponte_sieve', 'campomigliaio_ponte', 'verso_luna'],
|
||||
pieve: ['pieve', 'pieve_interno', 'oratorio'],
|
||||
circolo: ['campomigliaio_circolo', 'tennis_chiesa', 'area_feste_festa'],
|
||||
fortezza: ['fortezza'],
|
||||
};
|
||||
|
||||
export function soundscapeFor(scene, closeup) {
|
||||
if (closeup === 'fessura') return 'fessura';
|
||||
return Object.keys(groups).find(id => groups[id].includes(scene)) ?? 'paese';
|
||||
}
|
||||
+25
-14
@@ -104,9 +104,32 @@ export const story = {
|
||||
{ role: 'Carattere', names: ['Press Start 2P di CodeMan38 (licenza OFL)'] },
|
||||
{ role: 'Programmazione', names: ['Manzolo, con Claude e Codex'] },
|
||||
],
|
||||
// I primi piani a tutto schermo (effetto `closeup`, disegnati da render.js): per ora il libro dell'oratorio.
|
||||
// Primi piani interattivi: libro dell'oratorio e ricerca con la torcia nella fessura.
|
||||
// Le immagini (Codex, assets/closeups/) hanno l'etichetta e le pagine vuote: titolo e «FINE» li scrive il codice.
|
||||
closeups: {
|
||||
fessura: {
|
||||
type: 'torch',
|
||||
picture: 'assets/closeups/palio-2007.jpg',
|
||||
crop: [82, 36, 220, 331], // la tela nella foto fornita da Andrea, senza il muro intorno
|
||||
targets: [
|
||||
{ at: [185, 195], radius: 52, hint: 'Esamina la pietra a sinistra…', lines: [] },
|
||||
{ at: [348, 225], radius: 55, hint: 'Qualcosa riflette la luce, più in basso…', lines: [
|
||||
{ say: 'Laggiù, appoggiato al muro, c\'è un angolo di tela dipinta: una strada bianca, e un omino con la maglia rossa e le braccia alzate.' },
|
||||
{ say: 'È il palio! Il quadro dei ragazzi delle medie!' },
|
||||
] },
|
||||
{ at: [462, 138], radius: 45, hint: 'Un rumore nel buio, a destra…', lines: [
|
||||
{ say: 'E quelli... sono due occhi gialli!' },
|
||||
] },
|
||||
],
|
||||
complete: [
|
||||
{ say: 'Spariti nel buio.' },
|
||||
{ set: 'palio_trovato' },
|
||||
{ say: 'Il Regolo. E ha il nostro palio.' },
|
||||
{ say: 'Però non l\'ha portato via: l\'ha messo proprio lassù, in Fortezza. Dove domani portiamo i mattoni col passamano.' },
|
||||
{ say: 'Il palio è già pronto ad aspettarci. Torno giù a dirlo a tutti: la festa si fa!' },
|
||||
{ end: true },
|
||||
],
|
||||
},
|
||||
libro: {
|
||||
closed: 'assets/closeups/libro-chiuso.png',
|
||||
open: 'assets/closeups/libro-aperto.png',
|
||||
@@ -443,19 +466,7 @@ export const story = {
|
||||
stecco_gomma: [{ say: 'Troppo buio: non vedo nemmeno dove lo infilo. Prima ci vuole una luce.' }],
|
||||
torcia: [
|
||||
{ say: 'Accendo la torcia e la punto dentro...' },
|
||||
{ set: 'luce_fessura' },
|
||||
{ say: 'Laggiù, appoggiato al muro, c\'è un angolo di tela dipinta: una strada bianca, e un omino con la maglia rossa e le braccia alzate.' },
|
||||
{ say: 'È il palio! Il quadro dei ragazzi delle medie!' },
|
||||
{ set: 'occhi_regolo' },
|
||||
{ say: 'E quelli... sono due occhi gialli!' },
|
||||
{ unset: 'occhi_regolo' },
|
||||
{ say: 'Spariti nel buio.' },
|
||||
{ unset: 'luce_fessura' },
|
||||
{ set: 'palio_trovato' },
|
||||
{ say: 'Il Regolo. E ha il nostro palio.' },
|
||||
{ say: 'Però non l\'ha portato via: l\'ha messo proprio lassù, in Fortezza. Dove domani portiamo i mattoni col passamano.' },
|
||||
{ say: 'Il palio è già pronto ad aspettarci. Torno giù a dirlo a tutti: la festa si fa!' },
|
||||
{ end: true },
|
||||
{ closeup: 'fessura' },
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user