NIL ファイルフォーマット
公式 Novel IL フォーマットは Json スキーマによって定義され、Novel IL ツールでコードの検証をする際に利用されます。
このページは Novel IL フォーマットを人間が可読できるような説明を記載しています。
最上位構造
Novel IL の最上位構造として、辞書型として以下が定義されています:
- metadata (dict)
- cells (list)
{
"metadata": {
"title": "アリスの不思議な森",
"authors": [
"Alice Project"
],
"languageInfo": [
"日本語"
],
"version": "1.0.0"
},
"cells": [
{
"name": "アリス", // name or character
"images": {
"foreground": ["alice-normal.png"],
"background": ["green-park.png"]
},
"text": "こんにちは。" // text or message
},
{
"name": "うさぎ",
"images": {
"foreground": ["rabbit-normal.png"],
"background": ["green-park.png"]
},
"text": "こんにちは、アリス!"
}
]
}
Cell
ここでは、基本的なコードやテキストを含んだ cell タイプを表示します。すべての cell は以下のような基本構造を取ります:
{
"name": "キャラクター名",
"text": "キャラクターメッセージ", // text or message
"images": {
"foreground": ["foreground-image.png"], // e.g. character image
"background": ["background-image.png"]
}
}
Novel IL の Cell 領域では、公式に以下のものが定義されています:
| キー | 値 | 説明 |
|---|---|---|
name | str | キャラクター名 |
text | str | メッセージボックス内に表示するテキスト |
images | foreground and background lists of strings | 表示する画像 |
audio | foreground and background lists of strings | 音声、効果音、その他 |
movies | foreground and background lists of strings | 再生する動画 |
Metadata
Metadata は、NIL、cell、または出力に関する任意の JSON 形式の情報を入れることができる場所です。
Novel IL の Metadata 領域では、公式に以下のものが定義されています:
| キー | 値 | 説明 |
|---|---|---|
title | str | ゲームタイトル |
authors | list of strings | ノベルゲームの作者一覧 |
description | str | ゲームに関する説明 |
version | str | ノベルゲームのバージョン |
license | str | ゲームのライセンス |
languageInfo | list of strings | サポートする言語一覧 |
