Salta al contenuto principale

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.

FileDiventaCosa fa
manifest/project.jsonIl GiocoDà un nome al progetto ed elenca i suoi Framework e scenari.
schemas/*.jsonUn FrameworkDichiara input, azioni, Frame e contenuti per un tipo di Elemento.
rules/*.tsLogicaCostruisce un Elemento, ne modifica i valori e calcola i valori derivati.
layouts/*.jsonUn FrameDisegna la scheda o la carta e collega i suoi pulsanti alle azioni.
scenarios/*.jsonTestCostruisce 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.json

Cosa 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.