メインコンテンツへスキップ

コードフレームワーク

プロジェクト構成とマニフェスト

各ファイルの置き場所、ファイル名の付け方、マニフェストで宣言すべき内容を説明します。

フォルダ

フォルダ内容備考
manifest/project.jsonマニフェストはちょうど 1 つです。
schemas/フレームワークごとに 1 つの JSON ファイルフレームワークの ID は、ファイルの id フィールドです。
rules/TypeScript のルールファイルコンストラクタまたはアクションのファイルごとに、エクスポートする関数は 1 つです。
layouts/フレーム各フレームは、フレームワークが一覧にする JSON ファイルです。
scenarios/テストファイルごとにシナリオオブジェクトは 1 つです。

小文字の相対パスを使い、.. を含めないでください。Framework、アクション、関数の ID は小文字で始め、その後は小文字、数字、アンダースコア、ハイフンを使って、64 文字以内にします。

マニフェスト

manifest/project.json
{
  "formatVersion": "fabled.game-project/v1",
  "projectId": "game-your-game-id",
  "projectKind": "GAME",
  "compilerProfile": "native-game-v1",
  "name": "Lantern Keepers",
  "entryFramework": "keeper",
  "frameworks": ["schemas/keeper.json"],
  "scenarios": ["scenarios/new-keeper.json", "scenarios/heal.json"]
}
  1. 3 行目 エディタが作成した projectId はそのまま残してください。プロジェクトの id と一致する必要があります。
  2. 8-9 行目 パスはプロジェクトのルートから始まります。
フィールド必須意味
formatVersionはい常に fabled.game-project/v1 です。
projectIdはいエディタがゲーム用に作成した ID です。そのまま残してください。プロジェクト全体の ID と一致している必要があり、一致しないと保存に失敗します。
projectKindはいキャラクターを持つ完全なゲームには GAME、追加コンテンツには ADD_ON を使います。
compilerProfileはい常に native-game-v1 です。
nameはいプロジェクト名です。
descriptionいいえ2000 文字までです。ライセンスやクレジット表記に使います。
entryFrameworkはいプレイヤーが最初に作成するフレームワークです。GAME の場合は、プレイ可能なキャラクターです。
frameworksはいフレームワークファイルのパスです。1 から 64 個です。
scenariosはいシナリオファイルのパスです。1 から 512 個です。

マニフェストが受け付けるのは、これらのフィールドと、任意のテーブルおよび権利情報だけです。不明なフィールドはエラーになります。

マニフェストの ID とプロジェクトの ID が異なる場合、チェックは次のメッセージで停止します。

manifest projectId does not match source tree projectId

すべてのファイルを一覧に載せる必要があります

マニフェストは、フレームワークファイルとシナリオファイルを一覧にします。各フレームワークファイルは、自身のルールとフレームを一覧にします。どこからも参照されないファイルはエラーになるため、削除するか一覧に追加してください。

export function extra(): void {}

このファイルを参照せずに追加すると、次のエラーになります。

Project contains undeclared source files: rules/extra.ts.

一覧にあるのに存在しないパスもエラーになります。ここでは、マニフェストが存在しないシナリオファイルを指しています。

{
  "formatVersion": "fabled.game-project/v1",
  "projectId": "game-your-game-id",
  "projectKind": "GAME",
  "compilerProfile": "native-game-v1",
  "name": "Lantern Keepers",
  "entryFramework": "keeper",
  "frameworks": ["schemas/keeper.json"],
  "scenarios": ["scenarios/new-keeper.json", "scenarios/nope.json"]
}
Missing or misplaced project source.

サイズの上限

1 つのプロジェクトには、最大 8 MiB のソース、1000 個のファイル、64 個の Framework、512 個のシナリオを含められます。Fabled はソースを 1 つのゲームにコンパイルします。準備する前に、そのコンパイル済みゲームは 16 MiB 未満である必要があります。