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.
| Plik | Staje się | Co robi |
|---|---|---|
| manifest/project.json | Grą | Nazywa projekt i wymienia jego frameworki oraz scenariusze. |
| schemas/*.json | Frameworkiem | Deklaruje dane wejściowe, akcje, ramki i treści dla jednego rodzaju elementu. |
| rules/*.ts | Logiką | Buduje element, zmienia jego wartości i oblicza wartości pochodne. |
| layouts/*.json | Ramką | Rysuje kartę i łączy jej przyciski z akcjami. |
| scenarios/*.json | Testami | Buduje 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.jsonCo 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.

