Przejdź do głównej treści

Frameworki kodowe

Czym jest framework kodowy?

Dowiedz się, czym jest projekt kodowy, jak jego pliki odpowiadają frameworkom, elementom, ramkom i ledgerowi oraz co zostaje w The Forge.

Pomysł

Framework kodowy to system gry, który piszesz jako mały projekt z plików, zamiast budować go z węzłów. Możesz użyć własnego edytora i własnych narzędzi. The Forge sprawdza projekt tym samym kompilatorem, który buduje Twoją grę.

Format projektu nazywa się native-game-v1. Reguły piszesz w ograniczonym podzbiorze TypeScript. Podzbiór nie ma importów, sieci ani losowości, więc reguła zawsze daje ten sam wynik dla tych samych danych.

Kości rzuca się na karcie, nie w regułach. Gracz klika rzut kośćmi w ramce, odczytuje wynik i wpisuje go do akcji jako dane wejściowe. Reguła sprawdza liczbę i zapisuje wynik. Przepis Rzut przeciw umiejętności buduje w ten sposób test procentowy.

Jak pliki odpowiadają elementom Fabled

Każdy rodzaj pliku staje się czymś, co znasz już z Fabled.

PlikStaje sięCo robi
manifest/project.jsonGrąNazywa projekt i wymienia jego frameworki oraz scenariusze.
schemas/*.jsonFrameworkiemDeklaruje dane wejściowe, akcje, ramki i treści dla jednego rodzaju elementu.
rules/*.tsLogikąBuduje element, zmienia jego wartości i oblicza wartości pochodne.
layouts/*.jsonRamkąRysuje kartę i łączy jej przyciski z akcjami.
scenarios/*.jsonTestamiBuduje element, uruchamia akcje i sprawdza każdą wartość i zapis.

Element to żywa instancja frameworka, na przykład jedna postać. Każda zmiana elementu to zapis w jego ledgerze. Akcje nigdy nie zmieniają wartości bezpośrednio. Proszą ledger o ustawienie lub dodanie wartości, a Twoje scenariusze sprawdzają te zapisy.

Jak wygląda projekt

To całe drzewo plików przykładowej gry z tego poradnika. Lantern Keepers ma jedną postać z punktami życia, dwie akcje, jedną kartę i dwa scenariusze.

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

Co zostaje w The Forge

  • Ty piszesz i sprawdzasz projekt. Kompilator mówi, co jest nie tak i gdzie.
  • Zastosowanie, przygotowanie i wydanie robisz w The Forge. Serwer sprawdza projekt jeszcze raz i to jego werdykt się liczy.
  • Reguły nie mogą importować pakietów ani sięgać poza projekt.