Manuale Story Forge
Guida completa all'editor desktop per creare, tradurre ed esportare storie interactive per Timeline Breaker Rewind.
Introduzione
Story Forge è un editor desktop (Windows) per creare storie interattive per Timeline Breaker Rewind. Il gioco appare come un feed social, ma ogni post è un evento narrativo, ogni commento una possibile scelta, e ogni "like" un aggancio a una trama nascosta.
Con Story Forge puoi progettare l'intera avventura: post, commenti, transizioni, trappole, aree di ricerca nascoste e profili social. Una volta completata, esporti un pacchetto .sfpkg che其他玩家 possono importare nel loro telefono per giocare.
Cosa puoi creare
Post narrativi
Immagini con didascalie, hashtag e commenti che formano una storia interattiva.
Alberi di scelte
Transizioni, trappole e keyword che guidano il giocatore attraverso rami narrativi.
Profili social
Avatar, handle, bio e followers per dare identità ai personaggi.
Multilingua
Traduzioni incrociate con supporto LLM e Machine Translation per IT, EN, ES, DE, FR.
Requisiti
- Windows 10 o 11 a 64 bit
- Circa 200 MB di spazio libero
- Nessuna installazione: tutto è incluso nella cartella estratta
- ffmpeg è richiesto solo per la compressione immagini (opzionale)
Dashboard e Gestione Progetti
Al primo avvio si apre la Dashboard: lo schermata iniziale da cui gestisci i tuoi progetti.
Crea un nuovo progetto
Clicca Nuovo progetto e scegli una cartella dove salvare. Story Forge inizializzerà un file story.json vuoto con un profilo social di default pronto da personalizzare.
Progetti recenti
I tuoi ultimi 5 progetti aprono vengono mostrati nella lista Recenti. Cliccane uno per riaprirlo istantaneamente senza dover navigare le cartelle.
Importa un pacchetto
Se hai ricevuto un file .sfpkg da un altro utente, clicca Importa e seleziona il file. Story Forge estrarrà automaticamente il contenuto (story.json + immagini) in una nuova cartella e lo aprirà nell'editor.
Apri un progetto esistente
Clicca Apri cartella per navigare e selezionare una cartella contenente un story.json già esistente.
Layout dell'Editor
L'editor si divide in tre zone principali:
⬅ Pannello sinistro
Lista dei post: ordina, elimina, duplica.
↕ Pannello centrale
Form di modifica del post selezionato.
➡ Pannello destro
Tab con Storyboard, Foto, Simulatore, Validatore, LLM e Localizzazione.
In alto trovi il selettore account (per passare tra diversi profili social), il selettore lingua, il pulsante Profilo, il pulsante LLM e il pulsante Salva.
Lista Post (Pannello Sinistro)
Il pannello sinistro mostra tutti i post del progetto corrente nell'ordine in cui appariranno nel feed del gioco.
Post Card
Ogni post nella lista appare come una post card: un riquadro compatto che mostra un'anteprima del contenuto. Ogni card contiene:
- Fotografia — miniatura dell'immagine del post
- Nome — identificativo del post
- Visualizzazioni — numero di views assegnato
- Hashtag — gli hashtag associati al post
Azioni disponibili
| Azione | Come | Descrizione |
|---|---|---|
| Seleziona | Click sinistro | Apre il post nel pannello centrale per la modifica. |
| Riordina | Trascina | Trascina un post su un altro per cambiarne l'ordine nel feed. |
| Duplica | Tasto destro → Duplica | Crea una copia del post con un nuovo ID. |
| Elimina | Tasto destro → Elimina | Rimuove il post. Le transizioni che puntavano a questo post verranno invalidate. |
| Nuovo post | Pulsante + in fondo | Aggiunge un post vuoto in fondo alla lista. |
Editor Post (Pannello Centrale)
Selezionando un post dalla lista sinistra, il pannello centrale mostra il form di modifica completo. Ogni sezione è descritta di seguito.
Immagine e Framing
Ogni post ha un'immagine associata. Puoi caricarla dal pulsante Carica immagine e regolarne la posizione con l'editor di framing.
Editor di Framing
L'editor di framing ti permette di regolare come l'immagine appare nel feed del telefono:
- Pan (Trascina): trascina l'immagine per spostarla orizzontalmente o verticalmente.
- Zoom: usa lo slider per ingrandire o rimpicciolire (da 1x a 4x).
- Reset: ripristina la posizione originale.
Proporzioni (Ratio)
Scegli le proporzioni dell'immagine nel feed:
| Ratio | Descrizione |
|---|---|
1:1 | Quadrato — perfetto per feed classici. |
4:5 | Verticale — ottimizzato per schermate verticali. |
16:9 | Orizzontale — per panoramiche e landscape. |
Didascalia (Caption)
Il testo della didascalia è il contenuto principale del post. Scrivi qui il testo che il giocatore leggerà nel feed.
Importante: all'inizio della didascalia, includi il nome utente del profilo social (senza il simbolo @). Questo nome verrà evidenziato in grassetto nel feed del gioco, come in un normale post social.
La didascalia è un campo traducibile: quando crei versioni in altre lingue, questo testo verrà tradotto separatamente (Classe C nel sistema di mirror rigido).
Views e Mi Piace
Ogni post ha due contatori visibili nel feed:
- Views (visualizzazioni): il numero di visualizzazioni del post.
- Mi piace base: il numero di like che il post ha ricevuto.
Mi piace va a (Like Goes To)
Questa è una feature narrativa avanzata: puoi impostare il "like finto" puntare a un post specifico o a un commento specifico. Quando il giocatore preme "like", il post destinatario riceve l'interazione.
Per le transizioni fakeLike, il campo fakeCommentId specifica l'ID del commento che finge di aver ricevuto il like. Questo crea un livello extra di narrazione: il giocatore pensa di interagire con un commento, ma in realtà sta avviando una transizione nascosta.
Transizioni
Le transizioni definiscono cosa succede quando il giocatore interagisce con il post. Ogni post può avere zero o più transizioni, ciascuna con un tipo diverso.
| Tipo | Descrizione | Campi |
|---|---|---|
standard |
Transizione diretta: porta il giocatore al post indicato. | to, label |
hidden |
Transizione nascosta: non visibile nel feed, attivata da un'azione specifica. | to, label |
trap |
Trappola: quando il giocatore preme "like", viene reindirizzato a una Search Zone specifica. | trapZoneId |
fakeLike |
Il like finge di puntare a un commento specifico, nascondendo la transizione reale. | fakeCommentId, to |
keyword |
Transizione basata su keyword: se il giocatore scrive una parola chiave in un commento, parte la transizione. | keywords, to |
none |
Nessuna transizione. Il post è un punto morto (fine del ramo narrativo). | — |
Reply (Risposta)
Ogni transizione può avere un campo reply: è il testo che appare come risposta automatica al commento o all'interazione del giocatore.
Commenti
I commenti sono il cuore narrativo del gioco. Ogni post può avere una lista di commenti fittizi che simulano le reazioni di altri utenti del feed social.
Campi di ogni commento
| Campo | Descrizione |
|---|---|
author |
Nome visualizzato dell'autore del commento. |
handle |
Username/nickname (es. @timetraveler). |
text |
Il testo del commento. Campo traducibile. |
likes |
Numero di like del commento. |
publishedAt |
Data e ora di pubblicazione. |
Modalità Data
Per ogni commento puoi scegliere tra due modalità:
- Automatica (default) — la data viene calcolata automaticamente in base all'ordine dei commenti nel post.
- Custom — puoi impostare manualmente data e ora di pubblicazione del commento.
Chip dei Commenti
I chip sono piccole etichette cliccabili che appaiono sotto i commenti nel feed. Sono collegati alle Search Zone: quando un giocatore clicca un chip, viene reindirizzato alla zona corrispondente.
Ogni chip ha un label (il testo visibile) e un reply (la risposta che appare dopo il click). Il chip può essere un distrattore (isDistractor: true): sembra rilevante ma non porta da nessuna parte.
Gestione Commenti
Puoi gestire i commenti di ogni post direttamente nell'editor:
| Azione | Come | Descrizione |
|---|---|---|
| Aggiungi | Pulsante + sotto la lista commenti | Crea un nuovo commento vuoto nel post. |
| Modifica | Click sul campo | Modifica testo, autore, data o like del commento. |
| Elimina | Icona cestino accanto al commento | Rimuove il commento dal post. |
Search Zone e Trappole
Le Search Zone sono aree cliccabili sull'immagine del post. Il giocatore può "cliccare" sull'immagine per cercare indizi nascosti.
Campi di ogni Search Zone
| Campo | Descrizione |
|---|---|
id |
Identificativo univoco della zona. |
name |
Nome interno (non visibile al giocatore). |
x, y, w, h |
Coordinate normalizzate (0..1) della zona rettangolare sull'immagine. |
comment |
Testo del commento che appare quando il giocatore clicca la zona. |
label / reply |
Etichetta del chip e risposta associata. |
to |
ID del post di destinazione dopo il click. |
isDistractor |
Se true, è una zona trappola: il giocatore clicca ma non succede nulla di utile. |
isDistractor: true sono utili per creare finte piste: il giocatore crede di aver trovato un indizio, ma in realtà è solo un diversivo. Questo aumenta la complessità della storia.
Pannello Fotografie (Image Importer)
Il pannello Foto ti permette di importare e comprimere le immagini per il tuo progetto.
Come funziona
- Seleziona la cartella sorgente contenente le immagini da importare.
- Imposta il bilanciamento compressione (slider 0–4): 0 = massima qualità, 4 = massima compressione.
- Clicca Importa per convertire tutte le immagini in formato WebP e copiarle nella cartella del progetto.
Gestione Foto
| Azione | Come | Descrizione |
|---|---|---|
| Aggiungi | Drag and drop | Trascina immagini direttamente nella griglia del pannello Foto. |
| Sfoglia | Pulsante Sfoglia | Apri il selettore cartelle per scegliere le immagini da importare. |
| Elimina | Icona cestino sulla foto | Rimuove la foto dal progetto (con conferma). |
| Applica a post | Doppio click sulla foto | Assegna la foto selezionata come immagine principale del post corrente. |
Impostazioni
| Impostazione | Descrizione |
|---|---|
| Cartella sorgente | Percorso della cartella con le immagini originali (JPG, PNG, WebP). |
| Percorso ffmpeg | Path all'eseguibile ffmpeg, necessario per la conversione WebP. Se non impostato, la compressione non funziona. |
| Bilanciamento compressione | Slider da 0 a 4. Valori più alti = file più piccoli ma qualità inferiore. Consigliato: 1-2 per un buon compromesso. |
Storyboard
Lo Storyboard è un grafo visuale che mostra tutti i post del progetto come nodi collegati dalle frecce delle transizioni. È diviso in linee (linee narrative) per organizzare i post per ramo narrativo.
Navigazione
Cliccando su un nodo dello Storyboard, l'editor apre automaticamente quel post nel pannello centrale per la modifica. Il nodo selezionato viene evidenziato con un colore diverso (clicked colorato) per mostrare quale post è attivo.
Funzionalità
- Vista albero/grafo: visualizza tutti i post come nodi collegati da frecce che rappresentano le transizioni.
- Nodi draggable: trascina i post per riorganizzare il layout visuale.
- Frecce colorate: ogni tipo di transizione ha un colore diverso (standard = blu, trappola = rosso, keyword = giallo, ecc.).
- Nodo clicked colorato: il post selezionato viene evidenziato con un bordo colorato per identificare rapidamente la posizione corrente.
- Click → Editor: clicca su un nodo per aprire quel post direttamente nel pannello di modifica.
- Aggiungi post: pulsante + per aggiungere un nuovo post direttamente dallo Storyboard.
- Elimina post: tasto destro sul nodo per eliminare un post dal grafo (con conferma).
- Duplica post: tasto destro sul nodo per duplicare un post con tutte le sue transizioni.
- Griglia: griglia opzionale di sfondo per allineare i nodi.
- Legenda: mostra il significato dei colori per tipo di transizione.
- Tutto schermo: espande lo storyboard a tutto schermo per una visione d'insieme.
Simulatore Early Stage
Il simulatore riproduce l'esperienza del giocatore sul telefono: mostra il feed con i post, i commenti, i like e le interazioni. Puoi navigare tra i post cliccando sulle transizioni per testare il flusso narrativo.
Funzionalità
- Feed simulato: visualizzazione del post corrente con avatar, handle, didascalia e interazioni.
- Search Zone interattive: le aree cliccabili vengono evidenziate; cliccandole segue la transizione.
- Zoom: slider per ingrandire il post nel simulatore.
- Navigazione: click su transizione \u2192 vai al post successivo.
Validatore
Il validatore controlla la coerenza del progetto e ti dice cosa manca da fare prima di esportare.
Controlli eseguiti
- Post senza immagine: ogni post deve avere un'immagine associata. I post senza immagine vengono segnalati come errori.
- Transizioni a post inesistenti: verifica che ogni transizione punti a un ID post valido. Le transizioni rotte vengono segnalate.
- Loop infiniti: rileva cicli nelle transizioni dove il giocatore potrebbe restare intrappolato infinitamente.
- Commenti con keyword mancanti: le transizioni di tipo keyword richiedono che almeno un commento contenga la keyword. Se manca, viene segnalato.
- Coincidenza fakeCommentId: verifica che i fakeCommentId puntino a commenti effettivamente presenti nel post.
Funzionalità
- Validazione completa: analizza l'intero progetto in un solo click.
- Errori e avvisi: gli errori in rosso vanno corretti; gli avvisi in giallo sono consigli.
- Sincronizza e ripara: allinea automaticamente la struttura della lingua target a quella della lingua sorgente.
- Link diretto: clicca su un errore per navigare direttamente al post o alla transizione problematica.
- Riesecuzione: dopo aver corretto gli errori, riesegui la validazione per verificare che tutto sia risolto.
Come usarlo
- Apri il tab Validazione nel pannello destro.
- Clicca Avvia validazione. Il sistema analizzerà l'intero progetto.
- Leggi i risultati: gli errori in rosso vanno corretti; gli avvisi in giallo sono consigli.
- Usa Sincronizza e ripara per allineare automaticamente la struttura della lingua target a quella della lingua sorgente.
LLM Workbench (Workbench AI)
Il LLM Workbench ti permette di generare testi per post, commenti e trappole usando un provider di intelligenza artificiale. Puoi usare un modello locale (Ollama, LM Studio) o un servizio cloud (OpenAI, Gemini, Groq, DeepSeek).
Configurazione iniziale
- Clicca il pulsante LLM nell'header dell'editor per aprire il pannello.
- Al primo avvio si apre il Wizard di connessione: scegli il provider (preset o custom), inserisci l'API key e il modello.
- Clicca Test connessione per verificare che tutto funzioni.
- Clicca Lista modelli per vedere i modelli disponibili dal provider.
Cosa puoi fare con il LLM
- Genera contenuti: crea post, commenti, didascalie e hashtag a partire da un copione o da un'idea.
- Traduci: traduci l'intera storia in IT, EN, ES, DE, FR mantenendo il tono e lo stile.
- Migliora: riscrivi, espandi o comprimi testi per renderli piu coinvolgenti.
- Controlla coerenza: verifica che la storia siacoerente e logica, senza buchi narrativi.
Provider supportati
| Provider | Tipo | Note |
|---|---|---|
| OpenAI | Cloud | GPT-4o, GPT-4o-mini, ecc. |
| Gemini | Cloud | Google AI Studio |
| Groq | Cloud | Veloce, modelli open-source |
| DeepSeek | Cloud | Modelli DeepSeek V3/R1 |
| OpenRouter | Cloud | Router multiprovider |
| Ollama | Locale | Modelli locali, nessun costo |
| LM Studio | Locale | Interfaccia grafica per modelli locali |
| Custom | Custom | Qualsiasi endpoint OpenAI-compatibile |
Library di Prompt (Template)
Story Forge include 14 template di prompt (T01–T14), ognuno ottimizzato per un compito specifico:
| Template | Scopo |
|---|---|
T01 | Genera nuovi rami narrativi dallo scenario |
T02 | Modifica un post esistente |
T03 | Nuovo branch da un punto specifico |
T04 | Genera o suggerisci transizioni |
T05 | Genera commenti per un post |
T06 | Genera o modifica il profilo social |
T07 | Genera Search Zone (aree cliccabili) |
T08 | Scenario libero (brainstorming) |
T09 | Correggi errori di parsing (fix prompt) |
T10 | Traduci in inglese (per tripla linguistica) |
T11 | Traduzione post (da EN a lingua target) |
T12 | Traduzione profili |
T13 | Traduzione Search Zone |
T14 | Riepilogo/summary della storia |
Flusso di lavoro
- Scegli il prompt: nel Prompt Picker seleziona il template adatto al tuo compito.
- Compila i parametri: inserisci lo scenario, il post di partenza, il numero di nodi, ecc.
- Genera: clicca Genera per inviare il prompt al provider LLM. Oppure copia il prompt e incollalo dove vuoi.
- Importa l'output: incolla la risposta LLM nell'Import Zone e clicca Controlla.
- Revisiona i draft: i nodi generati appaiono come draft card con stato (nuovo, modificato, applicato, scartato, errore).
- Applica o scarta: per ogni draft, clicca Applica per inserirlo nel progetto o Scarta per ignorarlo.
Copia e Incolla Manuale
Se preferisci usare ChatGPT, Claude o un altro strumento esterno, puoi copiare il prompt e incollare la risposta nell'Import Zone. Il sistema analizzerà automaticamente il testo, estrarà il JSON e genererà i draft.
Modalità Offline (Locale)
Per lavorare senza connessione internet, usa Ollama o LM Studio. Installa uno dei due, scarica un modello (consigliato: Llama 3, Mistral, o Phi-3), e configuralo nelle impostazioni LLM con URL base http://localhost:11434/v1 (Ollama) o http://localhost:1234/v1 (LM Studio).
Localizzazione e Traduzioni
Story Forge supporta la creazione di storie multilingue con traduzioni incrociate tra 5 lingue: Italiano, Inglese, Spagnolo, Tedesco e Francese.
Sistema di Mirror Rigido
La localizzazione usa un sistema di mirror rigido: la struttura del progetto nella lingua target viene sempre copiata dalla lingua sorgente (fonte). Solo i campi testuali vengono tradotti.
Classi di campi
| Classe | Comportamento | Esempi |
|---|---|---|
| A (gameplay) | Sempre copiati dalla fonte. Mai tradotti. | Immagini, ratio, contatori, transizioni, link, coordinate |
| C (testo) | Traducibili. Vengono tradotti solo se non già tradotti. | Caption, commenti, label/reply, nome, bio, hashtags |
Motori di traduzione
- Machine Translation (MT): Google Translate gratuito. Traduzione automatica istantanea. Qualità buona per testi semplici.
- LLM Translation: usa i template T11/T12/T13 tramite il provider LLM configurato. Qualità superiore, specialmente per testi creativi e narrativi.
Come tradurre
- Apri il tab Localizzazione nel pannello destro.
- Seleziona la lingua sorgente (di solito IT) e la lingua target (es. EN).
- Scegli lo scope: Profilo (nome, bio, titolo), Post (caption, commenti, transizioni, zone) o Entrambi.
- Scegli il motore: MT (Google Translate) o LLM (AI provider).
- Clicca Traduci. Verrà mostrata un'anteprima diff con le modifiche prima di applicarle.
- Conferma per applicare le traduzioni al progetto.
Tabella Hashtag
Gli hashtag richiedono una mappatura manuale poiché sono termini specifici del brand. Nel pannello Localizzazione puoi definire la corrispondenza hashtag per hashtag tra lingue.
Funzionalità principali
- Traduzione automatica: traduce l'intera storia (o singole sezioni) con un solo click usando MT o LLM.
- Anteprima diff: prima di applicare le traduzioni, puoi vedere una comparazione side-by-side tra testo originale e tradotto.
Profilo Social
Ogni progetto ha un profilo social che definisce l'identità del personaggio principale nel feed. Clicca il pulsante Profilo nell'header dell'editor per modificarlo.
Campi del profilo
| Campo | Descrizione |
|---|---|
name |
Nome visualizzato nel profilo. |
handle |
Username (es. @chronos_story). |
bio |
Biografia del profilo. Campo traducibile. |
adventureTitle |
Titolo dell'avventura visualizzato nel profilo. |
followers |
Numero di follower visualizzato. |
avatar |
Percorso dell'immagine dell'avatar. |
Avatar Framing
L'avatar ha il suo editor di framing separato: puoi regolare zoom e posizione dell'immagine circolare che appare accanto al nome del profilo.
Impostazioni avanzate
Nel pannello profilo puoi anche configurare:
- Lingue supportate: le lingue in cui il profilo può essere visualizzato. Queste lingue vengono usate dal sistema di Localizzazione per generare le varianti del profilo.
- Account multipli: puoi creare più profili social per lo stesso progetto e passare da uno all'altro usando il selettore account nell'header.
Import e Esporta Pacchetti
Esporta (.sfpkg)
Quando il progetto è completo, puoi esportarlo come file .sfpkg. Questo è un archivio ZIP contenente:
story.json\u2014 tutti i dati del progetto (post, commenti, transizioni, profili)assets/gameplay/\u2014 le immagini del progetto in formato WebP_manifest\u2014 metadati del pacchetto
Il file .sfpkg può essere importato nell'app mobile Timeline Breaker Rewind da qualsiasi giocatore.
Importa (.sfpkg)
Dalla Dashboard, clicca Importa e seleziona un file .sfpkg. Story Forge estrarrà il contenuto in una nuova cartella e lo aprirà nell'editor.
FAQ e Risoluzione Problemi
L'editor non si avvia / SmartScreen blocca
Windows potrebbe bloccare l'avvio perché l'eseguibile non è firmato digitalmente. Clicca Ulteriori informazioni poi Esegui comunque. È normale per build di test.
Le traduzioni non funzionano
Verifica che nel progetto siano state aggiunte almeno 2 lingue. Le traduzioni richiedono una lingua sorgente e almeno una lingua target. Controlla che il sync sia stato eseguito dalla sezione Validazione.
Il simulatore mostra errori
Il simulatore è in fase early stage. Se riscontri problemi, usa lo Storyboard per verificare i collegamenti. Il simulatore è ancora in fase di test.
Come aggiungo una nuova lingua al progetto?
Nel selettore lingua in alto nell'editor, clicca + per aggiungere una nuova lingua. Il sistema di mirror rigido copierà automaticamente la struttura dalla lingua sorgente.
Cosa succede se cancello un post a cui other post puntano?
Le transizioni che puntavano al post eliminato rimarranno nel JSON ma saranno "rotte" (puntano a un ID inesistente). Il Validatore segnalerà questi errori. Puoi correggerli manualmente o usare il pulsante "Sincronizza e ripara".
L'LLM non risponde / errore di connessione
Verifica le impostazioni del provider: URL base, API key e nome del modello. Usa il pulsante Test connessione per diagnosticare. Se usi Ollama/LM Studio locale, assicurati che il server sia in esecuzione.