Framework in codice
Che cos'è un framework in codice?
Scopri che cos'è un progetto di codice, come i suoi file corrispondono a Framework, Elementi, Frame e registro, e cosa resta in The Forge.
L'idea
Un framework in codice è un sistema di gioco che scrivi come piccolo progetto di file, invece di costruirlo con i nodi. Puoi usare il tuo editor e i tuoi strumenti. The Forge verifica il progetto con lo stesso compilatore che costruisce il tuo gioco.
Il formato del progetto si chiama native-game-v1. Le regole sono scritte in un sottoinsieme ristretto di TypeScript. Il sottoinsieme non ha importazioni, rete o casualità, quindi una regola dà sempre lo stesso risultato con gli stessi dati.
I dadi si tirano sulla scheda, non nelle regole. Un giocatore clicca un tiro di dadi nel Frame, legge il risultato e lo scrive in un'azione come input. La regola controlla il numero e scrive l'esito. La ricetta Tiro contro un'abilità costruisce così una prova percentuale.
Come i file corrispondono a Fabled
Ogni tipo di file diventa qualcosa che conosci già in Fabled.
| File | Diventa | Cosa fa |
|---|---|---|
| manifest/project.json | Il Gioco | Dà un nome al progetto ed elenca i suoi Framework e scenari. |
| schemas/*.json | Un Framework | Dichiara input, azioni, Frame e contenuti per un tipo di Elemento. |
| rules/*.ts | Logica | Costruisce un Elemento, ne modifica i valori e calcola i valori derivati. |
| layouts/*.json | Un Frame | Disegna la scheda o la carta e collega i suoi pulsanti alle azioni. |
| scenarios/*.json | Test | Costruisce un Elemento, esegue azioni e controlla ogni valore e ogni scrittura. |
Un Elemento è un'istanza attiva di un Framework, per esempio un personaggio. Ogni modifica a un Elemento è una scrittura nel suo registro. Le azioni non modificano mai i valori direttamente. Chiedono al registro di impostare o aggiungere un valore, e i tuoi scenari controllano queste scritture.
Com'è fatto un progetto
Questo è l'intero albero del gioco di esempio usato in questa guida. Lantern Keepers ha un personaggio con punti ferita, due azioni, una scheda e due scenari.
manifest/project.json
schemas/keeper.json
rules/keeper.ts
rules/hurt.ts
rules/heal.ts
layouts/keeper.json
scenarios/new-keeper.json
scenarios/heal.jsonCosa resta in The Forge
- Scrivi e verifichi il progetto. Il compilatore ti dice cosa non va e dove.
- Applichi, prepari e rilasci in The Forge. Il server verifica di nuovo il tuo progetto, e il suo verdetto è quello che conta.
- Le regole non possono importare pacchetti né uscire dal progetto.

