KaedeRPG リファレンス
この説明書は KaedeRPG 0.1.0(2026-10-21)のものです。
Unreal Engine の中で、2D の RPG とノベルゲームを作るプラグイン KaedeRPG の、エディタの全タブ・全項目の説明です。
目次
- このリファレンスの読み方
- 作品フォルダ
- エディタの画面
- マップのタブ
- イベントのタブと命令
- 物語のタブ
- データベースのタブ
- キャラと素材のタブ
- 変数のタブ
- 画面のタブ
- 検査のタブ(詰まない検査)
- ゲームの操作(プレイヤー向け)
- 生成 AI と一緒に作る
- CLI(kaede-rpg.exe)
- サーバーの機能(クラウドセーブ・記録の順位・遠隔の値・お知らせ)
- まだできないこと
- 同梱物の権利
1. このリファレンスの読み方
エディタで見ている欄の名前から、その欄に何を書くか・取りうる値・書かないときの値を引くための文書です。
- 並び: 章はエディタのタブの並び(左から: マップ・イベント・物語・データベース・キャラと素材・変数・画面・検査=§4〜§11)で、タブの中は副タブの並び(左から)、副タブの中は項目の表です。項目の表は、エディタの欄の並び(定義表の順)です。そのあとに、ゲームの操作・生成 AI・CLI・サーバーの機能などの章が続きます。
- 項目の表の列:
| 列 | 中身 |
|---|---|
| 項目 | エディタに出る欄の名前 |
| 鍵 | 作品フォルダの JSON の鍵(CLI の set や生成 AI が使う名前) |
| 何を書くか | その欄に書くもの・効くところ |
| 取りうる値 | 数の範囲・選べる値・指す先(「アイテムの ID」なら、データベースのアイテムの id)。入れ子の項目は、その表を指します |
| 既定 | その欄を書かない(空にする)ときの値・振る舞い |
| 必須 | 「必須」の欄は、書かないと検査が error を出します(エディタでは名前が赤) |
- 1 つの副タブで複数のまとまり(例: マップの設定と、その中の雰囲気)を使うときは、まとまりごとに太字の小見出しと表があります。小見出しの括弧の中は、そのまとまりの名前(JSON Schema の
$defsの名前・CLI のschemaの出力と同じ)です。 - 項目の表は、ツールの定義表から作っています(手で書いた表ではありません)。エディタの欄の名前と表の「項目」は同じです。
2. 作品フォルダ
新しく作る: ツールの 新規… を押すと窓が開き、始め方と作品フォルダを選んで 作る を押します。
- 始め方: 見本から始める(おすすめ) が既定です。見本「ねずみ退治」のマップ・タイルセット・データベース・素材・物語が写され、すぐ遊べます(題名と id は作品フォルダの名前になり、セーブは見本と別になります)。題名・マップ・会話を自分の作品に直していきます。空から始める(上級) は、マップもタイルセットも仲間も無い作品です(タイルセットの画像・マップ・開始位置を自分で用意します)。
- 作品フォルダ: 既定は
<プロジェクト>/Works/my_game(もうあればmy_game_2…)。欄で名前を直せ、置き場を選ぶ… で場所を変えられます。作品フォルダはプロジェクトの中に置いてください(書き出すときに同梱するため)。外を選ぶと、窓にその場で知らせが出ます。
どちらでも、rpg.json・登録簿と AI 用のファイル(CLAUDE.md・AGENTS.md・.claude/。生成 AI と作るとき〔§13〕に AI が読むファイルで、触らなくてかまいません)ができます。
| ファイル | 中身 |
|---|---|
rpg.json |
題名・開始位置・最初の仲間・最初のお金 |
vars.json |
変数(フラグ・数・文字) |
assets.json |
素材(絵・音)の登録。ファイルは media/ の下 |
characters.json |
キャラ(名前・顔・表情・歩く絵) |
tilesets/*.json |
タイルセット(48px・通行) |
maps/*.json |
マップ(3 層・通行の上書き・イベント) |
common/*.json |
コモンイベント |
story/<章>/<話>.json |
物語の話。最後の話に「エンディング」の印 |
db/*.json |
データベース |
ui/*.json |
画面(無ければ製品の既定の画面) |
themes/<名前>.json・themes/<名前>/ |
作品のテーマ(色・形)とその絵(§10。無ければ製品のテーマ) |
share-log.json |
取り込んだ部品の束の出どころ(名前・版・作者・ライセンス。§10 の「テーマを配る・取り込む」) |
strings/<言語>.json |
ゲームの画面の文言の上書き(無くてよい。下の「作品の言語」) |
tests/ |
遊ぶ入力の列(CLI の play・自動プレイ) |
使える素材: 画像は PNG、音は OGG と WAV。タイルは 48×48px。
作品の中を探す: 台詞の一部・名前・変数の名前・id が作品のどこにあるかは、上の段の 探す の欄(§3)か CLI の search(§14)で探します。探すのは上の表の JSON(マップ・テンプレート・コモン・物語・データベース・変数・キャラ・素材・タイルセット・rpg.json など)と story/ の .ks で、英字の大文字小文字は区別しません。画面(ui/)・テーマ(themes/)・文言の表(strings/)は探しません。置き換え(一括の変更)はできません。
作品の言語: rpg.json の language(ja/en。書かなければ ja)で、ゲームの画面の決まった文言(メニューの「所持品」「技」・タイトルの「はじめから」・戦闘の「〜の攻撃!」・「〜を手に入れた」・セーブの文など)の言語が決まります。知らない値は検査の F-LANG-01(error)です。
- 文言は製品の表
Resources/Rpg/strings/ja.json・en.json({"鍵": "文"})にあります。鍵は画面の文言がt_<画面>_<意味>(t_menu_help)、共通がt_<意味>(t_close・t_items)、ゲームの文がm_<意味>(m_drop=「{item}を手に入れた」)。{item}のような差し込みはそのまま残して訳します。 - 作品の
strings/<言語>.jsonに同じ鍵を書くと、その鍵だけ製品の文を上書きします(例{"t_close": "Done"})。製品の表に無い鍵(綴り違い)は検査の R-STR-01(warning)です。 - 作品が書いたもの(台詞・名前・アイテムの説明)と、検査の文は替わりません。エディタの「新しい作品」は、UE の言語が日本語でなければ
enで作ります。後から替えるには、データベースのタブの作品の設定の ゲームの画面の言語 で選びます(CLI ならnew --language en)。
3. エディタの画面

| 場所 | 中身 |
|---|---|
| 上の段 | 作品フォルダ・開く…・新規…・見本を開く・保存(Ctrl+S)・↶ 元に戻す(Ctrl+Z)・↷ やり直す(Ctrl+Y)・▶ テストプレイ・書き出しの準備…・探す(検索の欄)・テーマ |
| その下 | 保存の状態(● 未保存)と、検査の件数(error・warning)。探したときは、その下に結果の一覧 |
| タブの切り替え | マップ・イベント・物語・データベース・キャラと素材・変数・画面・検査。同じ行の右に、いまのタブの名前とそのタブでできること(収まらないときは「…」。指を置くと全文が出ます) |
タブの中は、区切りごとに青い小見出し(「マップの一覧」「選んだマップの設定」「タイル」「命令」「選んだ命令の項目」など)が付いています。
色のテーマ: このツールの窓は UE のエディタのテーマと同じ色で表示されます。このプラグインは UE 用のテーマを 2 つ(Kaede Dark・Kaede Light)同梱しています。この説明書の絵は全部 Kaede Dark です。
-
上の段の テーマ の欄で選びます。UE の 編集 → エディタの環境設定 → 全般 → 外観 → テーマ と同じ設定で、UE 全体の色が替わります(UE 標準の「Dark」なども選べます)。
-
ツールを初めて開いたとき、2 つのテーマを UE のユーザーのテーマのフォルダ(
%LOCALAPPDATA%\UnrealEngine\Slate\Themes)に入れます。入れるだけで、選んでいるテーマは替えません。 -
テーマの色は、エディタの環境設定でさらに直せます(直したものは上書きしません)。
-
入力欄: 名前が赤い欄は、必須なのに入っていない項目です。欄を空にすると、その項目は無くなります。選ぶ欄(キャラ・アイテム・素材など)は、作品にあるものだけが並びます。
-
一覧の欄は表で直す: 覚える技・行動・特徴・落とす物・品物などの一覧は表で出ます。1 行が 1 件で、各セルを直接直します。行の右の 消す で 1 件消し、下の + 足す で空の行を足します(必須の欄は赤で知らせます)。JSON で書きたいときは JSON で直す を開くと、前と同じ 1 行の欄があります。
-
探す: 上の段の 探す の欄に文字(台詞の一部・名前・変数の名前・id)を入れて Enter を押すと、作品全体から探し、上の段の下に結果の一覧が出ます(「「長老」 13 件」)。1 行が 1 件で、場所(
map:village/event:elderなど。検査のタブと同じ書き方)・項目の名前・前後の文が並びます。行をダブルクリックすると、その場所のタブが開きます(台詞ならイベントのタブのその命令・アイテムならデータベースのタブのその行)。まだ保存していない変更も探せます(.ksの話は保存したファイルの行)。閉じる で一覧を消します。探す範囲は §2 の「作品の中を探す」。 -
元に戻すは 100 回まで。どのタブの変更も同じ履歴に入ります。
-
外での書き換え: AI や CLI、Git がファイルを書き換えると、未保存の変更が無ければ自動で読み直します。未保存があれば、上に「読み直す(変更を捨てる)」が出ます。
-
保存するたびに検査が走り、件数が上に出ます。
4. マップのタブ
並びは昔ながらの RPG 制作ツールと同じです。
| 場所 | 使い方 |
|---|---|
| 左上 | タイルの選び場。クリックでタイルを選ぶ(選んでいる番号は見出しに出ます)。リージョンのタブでは、リージョンの番号の表になります |
| 左の下 | マップの一覧。選ぶと開きます |
| 中の上 | タイル/通行/イベント/リージョン(Tab で切り替え)、リージョンの番号、層 下/中/上、道具(絵と名前のボタン)、マップの設定 |
| 中 | マップ。Ctrl+ホイールで拡大・縮小。開くと窓に収まる倍率で出ます(大きなマップは 50% で、イベントのある辺りを真ん中に) |
| 中の下 | マップの名前と大きさ・倍率・カーソルのマスとリージョンの番号 |
| 右(マップの設定 で出す) | 選んだマップの設定(名前・タイルセット・BGM・エンカウント・床の効果・戦闘の背景・雰囲気)と、新しい id・幅×高さ → 新規/複製/大きさを変える/削除。いつもは閉じて、マップを広く見せます |
4.1 タイル
道具(タイルのとき)
| キー | 道具 | 使い方 |
|---|---|---|
| 1 | 塗る | クリック・ドラッグで塗る。1 回のドラッグが元に戻す 1 回 |
| — | 消す | そのマスを空にする |
| 2 | 四角 | ドラッグした四角を塗る |
| 3 | 塗りつぶし | 同じタイルの続くマスを塗る |
| 4 | スポイト | クリックしたマスのタイルを選ぶ |
全部の層をそのまま描きます。いま塗っている層は、道具の行の 下/中/上 で分かります。
オートタイル: タイルの選び場の下の「オートタイル」の欄(A0 A1 …)から選んで塗ると、草・道・水・壁などの縁が、隣のマスに合わせて自動でつながります。形は塗ったあとも周りに合わせて描き直されるので、縁のタイルを 1 枚ずつ選ぶ必要はありません。水のようにコマのあるものはゲームで揺れます(エディタでは 1 コマ目)。オートタイルの絵の作り方は、下の「キャラと素材」のタイルセットを見てください。
タイトルとゲームオーバーの絵: データベースの 作品の設定 の タイトルの背景の絵・ゲームオーバーの絵 に背景の素材を選ぶと、画面いっぱいに出ます。
戦闘の背景: 「選んだマップの設定」の 戦闘の背景 に、床(下に描く)と壁(上に重ねる)の 2 枚の背景の素材を選びます。そのマップで始まる戦闘(エンカウントもイベントの戦闘も)の後ろに出ます。ボスなど、その敵の組だけ別の背景にするときは、データベースの 敵の組 の 戦闘の背景(床)・(壁) に書きます(マップより先に使います)。見本では、洞窟に洞窟の背景を入れてあります。
雰囲気(右の「選んだマップの設定」の「雰囲気」で 作る を押すと出ます): 暗さ(0〜1。1 で真っ暗)・プレイヤーの明かりの半径・霧(濃さ・色・流れる速さ)・天候(雨・雪と強さ)・遠景(マップの下に重ねる絵。カメラに付いてくる割合と流れる速さ)・前景(キャラの上の絵)。暗いマップでは、プレイヤーの明かりと、イベントのページの 明かり の中だけが見えます。命令 weather・atmosphere で途中で変えられます(そのマップにいる間だけ)。
ピクチャ: マップ(雰囲気・前景を含む)の上、会話の窓とマップの HUD の下に、命令 picture で番号つきの絵(地図・手紙・一枚絵など)を出せます(§5 の「ピクチャの命令」)。マップを移っても消えず、戦闘の画面の間は描きません。
影: マップの shadows(マスごとの 0〜15。1 左上・2 右上・4 左下・8 右下の 4 分の 1 マスに影)を書くと、壁や建物の下に影が出ます(エディタで塗る道具はまだありません。JSON か CLI の set で書きます)。
maps/<id>.json(file:map)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
マップを指す名前。命令の移る先(transfer)や開始位置、検査の場所(map:<id>)で使い、ファイル名(maps/<id>.json)と同じにします。 | ID(英小文字で始まり、英小文字・数字・_)。ファイル名と違うと検査の F-ID-03。 |
なし(必須) | 必須 |
| 名前 | name |
遊ぶ人に見せるマップの名前。マップの HUD やセーブの一覧に出ます。 | 文字 | なし(必須) | 必須 |
| 幅(マス) | width |
マップの横のマス数。層・通行の上書き・リージョン・影の一覧の長さは 幅×高さ にそろえます。 | 1〜500。1 マスは 48px。 | なし(必須) | 必須 |
| 高さ(マス) | height |
マップの縦のマス数。層・通行の上書き・リージョン・影の一覧の長さは 幅×高さ にそろえます。 | 1〜500。1 マスは 48px。 | なし(必須) | 必須 |
| タイルセット | tileset |
このマップを塗るタイルセット。タイルの絵と、タイルそのものの通行(木・水・岩は通れないなど)がここから決まります。 | タイルセットの ID | なし(必須) | 必須 |
| 層 | layers |
下・中・上の 3 層のタイルの並び。マップのタブで塗った結果が入ります。 | 項目の組(§4.1 の「層」の表) | なし(必須) | 必須 |
| 影(マスごとの 0〜15: 1 左上・2 右上・4 左下・8 右下) | shadows |
マスごとの影。壁や建物の下に、4 分の 1 マスずつ影を落とします(エディタで塗る道具はまだ無く、JSON か CLI の set で書きます)。 | 一覧(1 件は 0〜15)。足し合わせた数(1 左上・2 右上・4 左下・8 右下。15 で全面)。長さは 幅×高さ。 | なし(影を描かない) | |
| 戦闘の背景(床・壁) | battleBack |
このマップで始まる戦闘(エンカウントもイベントの戦闘も)の後ろに出す、床と壁の 2 枚の背景。敵の組に戦闘の背景があれば、そちらを先に使います。 | 項目の組(§4.1 の「戦闘の背景(床・壁)」の表) | なし(暗い無地) | |
| BGM | bgm |
このマップに入ったときに流す BGM。 | 素材の ID(種類 bgm) |
なし(前の BGM がそのまま流れる) | |
| 雰囲気(暗さ・霧・天候・遠景・前景) | atmosphere |
マップの雰囲気。暗さ・プレイヤーの明かり・霧・天候・遠景・前景を決めます。命令 weather・atmosphere で、そのマップにいる間だけ変えられます。 | 項目の組(§4.1 の「雰囲気(暗さ・霧・天候・遠景・前景)」の表) | なし(明るく、霧・天候・遠景・前景なし) |
戦闘の背景(床・壁)(battle_back)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 床(下に描く) | floor |
戦闘の画面の下に描く床の背景の絵。画面を隙間なく覆うように拡大して真ん中に出します。 | 素材の ID(種類 bg) |
なし(床の絵を出さない) | |
| 壁(上に重ねる) | wall |
床の上に重ねる壁の背景の絵。画面を隙間なく覆うように拡大して真ん中に出します。 | 素材の ID(種類 bg) |
なし(壁の絵を出さない) |
雰囲気(暗さ・霧・天候・遠景・前景)(atmosphere)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 暗さ(0〜1) | darkness |
マップの暗さ。暗いマップでは、プレイヤーの明かりと、イベントのページの明かりの中だけが見えます。 | 0〜1。0 で明るいまま、1 で真っ暗。 | 0(暗くしない) | |
| プレイヤーの明かりの半径(マス) | playerLight |
暗いマップで、プレイヤーのまわりを照らす明かりの半径。 | 0〜20 | 0(明かりなし) | |
| 霧 | fog |
マップ全体にかかる霧(濃さ・色・流れる速さ)。 | 項目の組(§4.1 の「霧」の表) | なし(霧なし) | |
| 天候 | weather |
マップの天候(雨・雪と強さ)。 | 項目の組(§4.1 の「天候」の表) | なし(天候なし) | |
| 遠景(下から重ねる) | parallax |
マップの下に重ねる遠景の絵。一覧の先頭から順に、下から重ねます。 | 一覧(1 件は§4.1 の「遠景(下から重ねる)」の表) | なし(遠景なし) | |
| 前景 | foreground |
キャラの上に重ねる前景の絵(木の葉・霧の絵など)。 | 項目の組(§4.1 の「遠景(下から重ねる)」の表) | なし(前景なし) |
霧(fog)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 濃さ(0〜1) | opacity |
霧の濃さ。 | 0〜1。0 で無し、1 で塗りつぶし。 | 0(見えない) | |
| 色 | color |
霧の色。 | 色。#rrggbb の形。 | #ffffff(白) | |
| 流れる速さ(px/秒) | speed |
霧が流れる速さ。 | 数。1 秒に動く px。0 で止まる。 | 20 |
天候(weather)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 種類 | kind |
降らせるものの種類。 | none・rain・snow。none なし・rain 雨・snow 雪。 |
なし(必須) | 必須 |
| 強さ(1〜10) | power |
雨や雪の強さ。 | 1〜10。1 で弱く、10 で最も強い。 | 5 |
遠景(下から重ねる)(layer)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 画像 | asset |
遠景・前景に使う絵(ピクチャか背景の素材)。画面を埋めるように敷き詰めて繰り返します。 | 素材の ID(種類 picture・bg) |
なし(必須) | 必須 |
| 横にカメラへ付いてくる割合 | scrollX |
カメラが横に動いたとき、絵が横にどれだけ動くか。 | 0〜2。0 で画面に止まったまま、1 でマップと同じだけ動く。 | 0.5 | |
| 縦にカメラへ付いてくる割合 | scrollY |
カメラが縦に動いたとき、絵が縦にどれだけ動くか。 | 0〜2。0 で画面に止まったまま、1 でマップと同じだけ動く。 | 0.5 | |
| 横に流れる速さ(px/秒) | speedX |
カメラと関係なく、絵が横に流れ続ける速さ(雲など)。 | 数。1 秒に動く px。正の数で左へ流れる。 | 0(流れない) | |
| 縦に流れる速さ(px/秒) | speedY |
カメラと関係なく、絵が縦に流れ続ける速さ。 | 数。1 秒に動く px。正の数で上へ流れる。 | 0(流れない) | |
| 不透明度 | opacity |
絵の不透明度。 | 0〜1。0 で見えない、1 でそのまま。 | 1(不透明) |
層(layers)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| lower | lower |
下の層のタイル。地面(草・道・水など)を塗ります。 | 一覧(1 件は -1 以上)。タイルの番号を 幅×高さ 個(左上から横に並べる)。-1 は空。 | なし(必須) | 必須 |
| middle | middle |
中の層のタイル。地面の上に置く物(木・柵・建物など)を塗ります。 | 一覧(1 件は -1 以上)。タイルの番号を 幅×高さ 個(左上から横に並べる)。-1 は空。 | なし(必須) | 必須 |
| upper | upper |
上の層のタイル。キャラより上に描く物(屋根・木の上の部分など)を塗ります。 | 一覧(1 件は -1 以上)。タイルの番号を 幅×高さ 個(左上から横に並べる)。-1 は空。 | なし(必須) | 必須 |
4.2 通行
通行: マスをクリックするたびに、そのマスの通行が「タイルどおり → ×(通れない)→ ○(通れる)」と替わります。タイルそのものの通行(木・水・岩は通れないなど)は、キャラと素材のタブのタイルセットで決めます。

| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 通行の上書き(0 1 2) | passOverride |
マスごとに、タイルの通行を上書きします。マップのタブの「通行」でクリックして替える値です。 | 一覧(1 件は 0〜2)。0 タイルどおり・1 通れない(×)・2 通れる(○)。長さは 幅×高さ(左上から横に並べる)。 | なし(全部タイルどおり) |
4.3 イベント
イベント: 空きマスをダブルクリックで新しいイベント、イベントをドラッグで移動、イベントをダブルクリックでイベントのタブへ。マスを右クリックすると:
- ここにイベントを足す/イベントを開く/複製/消す
- ここをプレイヤーの開始位置に(緑の S)
- ここからテストプレイ

| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| イベント | events |
このマップに置くイベント(人・宝箱・扉・入口など)。 | 一覧(1 件は§5.1 の「イベント」の表) | なし(イベントなし) |
「イベント」(event)の項目は §5.1 の表。
4.4 リージョン
リージョン: マップの上の リージョン を押し、左上の番号の表(1〜255)から番号を選んで塗ると、マスに番号が付きます(番号ごとの色と数字で見えます。色は 8 色の繰り返し。道具の行の数の欄でも選べます。「消す」で 0 に戻します)。番号は、ランダムエンカウントの出る範囲と、命令の条件式の region(プレイヤーのいるマスの番号。例 region == 2)に使います。
ここから下は、欄に項目の名前(英語の語)と値を書いて決める設定です。使わなくても、マップは作れて遊べます。
床の効果: 右の「選んだマップの設定」(マップの設定 で出します)の 床の効果 に、リージョンの番号ごとに、1 歩ごとのダメージ(damage。HP 1 は残る・画面が赤く光る)・滑る床(slip。向いた方へ止まるまで進む)・エンカウントの率(encounterRate。0 で出ない)を書きます。見本では、洞窟の右奥が滑る床、右下の隅がダメージ床です。
ランダムエンカウント: 右の「選んだマップの設定」の ランダムエンカウント に、平均の歩数(steps)と出る敵の組(list: 敵の組・重み・出るリージョン)を書きます。歩数を 12 にすると、およそ 12 歩に 1 回戦闘になります。リージョンを書いた行は、その番号のマスでだけ出ます。エンカウントの戦闘は逃げられ、負けるとゲームオーバーです。イベントの命令 エンカウント(encounter)で止めたり戻したりできます。
maps/<id>.json(file:map)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| リージョン(マスごとの番号 0〜255・0 はなし) | regions |
マスごとのリージョンの番号。ランダムエンカウントの出る範囲・床の効果・条件式の region に使います。 | 一覧(1 件は 0〜255)。長さは 幅×高さ(左上から横に並べる)。 | なし(全部 0) | |
| ランダムエンカウント | encounters |
このマップを歩いているときのランダムエンカウント。平均の歩数と出る敵の組を書きます。エンカウントの戦闘は逃げられ、負けるとゲームオーバーです。 | 項目の組(§4.4 の「ランダムエンカウント」の表) | なし(エンカウントしない) | |
| 床の効果(リージョンの番号 → 効果) | regionEffects |
リージョンの番号ごとの床の効果(1 歩ごとのダメージ・滑る床・エンカウントの率)。 | 鍵 → 値 の組(値は §4.4 の「床の効果(リージョンの番号 → 効果)」の表)。鍵はリージョンの番号("3" など)。 | なし(床の効果なし) |
床の効果(リージョンの番号 → 効果)(region_effect)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 1 歩ごとのダメージ(仲間の HP。1 は残る) | damage |
このリージョンのマスを 1 歩進むたびに仲間の HP を減らす量。画面が赤く光り、HP は 1 残ります。 | 0 以上 | 0(ダメージなし) | |
| 滑る(向いた方へ止まるまで進む) | slip |
true にすると滑る床になり、乗ると向いた方へ止まるまで進みます。 | はい・いいえ(true・false) |
false(滑らない) | |
| エンカウントの率(%。0 で出ない) | encounterRate |
このリージョンでのエンカウントの起こりやすさ。マップの平均の歩数に対する率で、0 で出ません。 | 0〜1000。%。50 で半分、200 で倍。 | 100(マップどおり) |
ランダムエンカウント(encounters)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 平均の歩数(0 で出ない) | steps |
エンカウントまでの平均の歩数。12 にすると、およそ 12 歩に 1 回戦闘になります。 | 0〜999。0 でエンカウントしない。 | なし(必須) | 必須 |
| 出る敵の組 | list |
出る敵の組の一覧。行ごとに敵の組・重み・出るリージョンを書き、重みの比で選ばれます。 | 一覧(1 件は§4.4 の「出る敵の組」の表) | なし(必須) | 必須 |
出る敵の組(encounter_entry)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 敵の組 | troop |
この行で出す敵の組(データベースの敵の組)。 | 敵の組の ID | なし(必須) | 必須 |
| 重み | weight |
ほかの行と比べたときの出やすさ。重み 2 の行は、重み 1 の行の 2 倍出ます。 | 0 以上 | 1 | |
| 出るリージョン(空ならどこでも) | regions |
この行が出るリージョンの番号。書いた番号のマスでだけ出ます。 | 一覧(1 件は 1〜255) | なし(どこでも出る) |
5. イベントのタブと命令

5.1 マップのイベント
- 左: いまのマップのイベントの一覧(マップはマップのタブで選びます)。上の切り替えで コモンイベント。
- 中の上: イベントの id・名前・位置。
- ページ: 1・2・3 … のタブ。+(足す)・複製・← →(並べ替え)・消す。後ろのページから見て、出現条件を満たす最初のページが使われます。たとえば見本の長老は 3 ページで、1 ページ目「条件なし(頼む前)」・2 ページ目「頼みを受けた(
quest_acceptedが true)」・3 ページ目「ねずみの王を倒した(boss_defeatedが true)」です。話が進むほど後ろのページの条件が満たされ、そちらが使われます。 - ページの設定:
| 項目 | 中身 |
|---|---|
| 出現条件 | 変数(比べ方と値)・自分のフラグ・アイテム(個数以上)・仲間。すべて満たすとき |
| 見た目 | キャラと向き(無ければ見えないイベント) |
| 起動 | 決定キー(向いて決定)・触れる(乗る・ぶつかる)・自動(ページが有効な間、自動で。終わるように条件を外す命令を入れる)・並列(ほかと同時に。会話・選択肢・戦闘・ショップは使えない) |
| 高さ | 下(乗れる)・同じ(ぶつかる)・上 |
| すり抜け | 壁やほかのイベントを通り抜ける |
| 自律移動 | 止まる・ランダム・近づく・ルート(頻度・速さ・繰り返し) |
| 明かり | 半径(マス)。暗いマップ(雰囲気の暗さ)で、そのイベントのまわりが見える(たいまつ・街灯など) |
- 下が命令の木。左上の種類を選んで + 足す(選んだ命令の後ろへ。見出し〔「成り立つとき」など〕を選ぶとその中へ)、↑↓ で並べ替え、消す。選んだ命令の項目は右の欄で直します。
テンプレートイベント: 同じ中身のイベント(村人・看板・宝箱など)を何か所にも置くときは、1 つ作ってイベントのタブの テンプレートにする を押します(ページが templates/<id>.json に移ります)。あとはマップを右クリック →「テンプレート「…」を置く」で置けます。テンプレートを直すと、置いたイベント全部に効きます(イベントのタブの テンプレートを開く)。置いたイベントごとに、見た目(look)だけ上書きできます。
イベント(event)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
マップの中でイベントを指す名前。検査や探すの場所(map:<マップ>/event:<id>)、自分のフラグ、移動の命令の相手に使います。マップの中で重ならないようにします。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
作る人のためのイベントの名前。イベントのタブの一覧で id の横に出ます(ゲームには出ません)。 | 文字 | なし(一覧には id だけが出る) | |
| X | x |
イベントを置くマスの横の位置。 | 0 以上。左端が 0。マップの幅より小さく。 | なし(必須) | 必須 |
| Y | y |
イベントを置くマスの縦の位置。 | 0 以上。上端が 0。マップの高さより小さく。 | なし(必須) | 必須 |
| ページ(テンプレートを使うなら書かない) | pages |
イベントのページ。後ろのページから見て、出現条件を満たす最初のページが使われます。テンプレートを使うときは書きません。 | 一覧(1 件は§5.1 の「ページ(テンプレートを使うなら書かない)」の表) | なし(テンプレートが無ければ何もしないイベント) | |
| テンプレート(§2.8.1・pages を書かなければこの中身で動く) | template |
中身を借りるテンプレートイベント。ページを書かなければ、このテンプレートのページで動きます。テンプレートを直すと、置いたイベント全部に効きます。 | テンプレートの ID | なし(自分のページで動く) | |
| 見た目の上書き(テンプレートのページ全部) | look |
テンプレートのページ全部の見た目を、このイベントだけ上書きします(同じ村人を別のキャラで置くなど)。書いた項目だけ替わります。 | 項目の組(§5.1 の「見た目の上書き(テンプレートのページ全部)」の表) | なし(テンプレートの見た目のまま) |
templates/<id>.json(file:template)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
テンプレートを指す名前。イベントの template に書き、ファイル名(templates/<id>.json)と同じにします。 | ID(英小文字で始まり、英小文字・数字・_)。ファイル名と違うと検査の F-ID-03。 |
なし(必須) | 必須 |
| 名前 | name |
作る人のためのテンプレートの名前。エディタの一覧や、マップの右クリックの「テンプレート「…」を置く」に出ます。 | 文字 | なし(id が出る) | |
| ページ | pages |
置いたイベントが使うページ。イベントのページと同じ書き方です。 | 一覧(1 件は§5.1 の「ページ(テンプレートを使うなら書かない)」の表) | なし(必須) | 必須 |
ページ(テンプレートを使うなら書かない)(page)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 出現条件 | conditions |
このページが使われる条件。変数・自分のフラグ・アイテム・仲間を書き、すべて満たすときに使われます。 | 一覧(1 件は§5.1 の「出現条件」の表) | なし(いつでも使われる) | |
| 見た目 | look |
このページのときのイベントの見た目(キャラと向き)。 | 項目の組(§5.1 の「見た目の上書き(テンプレートのページ全部)」の表) | なし(見えないイベント) | |
| 起動 | trigger |
このページの命令が動き出すきっかけ。 | action・touch・auto・parallel。action 決定キー(向いて決定)・touch 触れる(乗る・ぶつかる)・auto 自動(ページが有効な間、自動で。終わるように条件を外す命令を入れる)・parallel 並列(ほかと同時に。会話・選択肢・戦闘・ショップは使えない)。 |
なし(必須) | 必須 |
| 高さ | priority |
プレイヤーと比べたイベントの高さ。重なって描く順と、ぶつかるかどうかが決まります。 | below・same・above。below 下(乗れる)・same 同じ(ぶつかる)・above 上(キャラより上に描き、下を通れる)。 |
same(同じ。ぶつかる) | |
| すり抜け | through |
true にすると、このイベントが壁やほかのイベントを通り抜け、プレイヤーもぶつからなくなります。 | はい・いいえ(true・false) |
false(通り抜けない) | |
| 自律移動 | move |
このページの間、イベントがひとりで動く動き方(止まる・ランダム・近づく・ルート)。 | 項目の組(§5.1 の「自律移動」の表) | なし(止まったまま) | |
| 明かり(暗いマップで見える) | light |
暗いマップ(雰囲気の暗さ)で、このイベントのまわりを見えるようにする明かり(たいまつ・街灯など)。 | 項目の組(§5.1 の「明かり(暗いマップで見える)」の表) | なし(明かりなし) | |
| 命令 | blocks |
このページが動いたときに実行する命令の並び(会話・分岐・戦闘など)。 | 命令の列 | なし(何もしない) |
出現条件(condition)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 変数 | var |
比べる変数。比べ方と値で、変数の今の値を比べます。1 つの条件には変数・自分のフラグ・アイテム・仲間のどれか 1 つを書きます。 | 変数の ID。まだ値の入っていない変数は false として比べる。 | なし(変数を見ない) | |
| 比べ方 | op |
変数と値の比べ方。 | ==・!=・>=・<=・>・<。== 等しい・!= 違う・>= 以上・<= 以下・> より大きい・< より小さい。自分のフラグは常に == で比べる。 |
==(等しい) | |
| 値 | value |
変数や自分のフラグと比べる値。 | 文字・数・真偽。true/false・数・文字。 | true | |
| 自分のフラグ | self |
比べるこのイベントの自分のフラグ(命令 set_self で立てる、イベントごとの印)。値と等しいとき満たします。 | 変数の ID。まだ立てていないフラグは false。 | なし(自分のフラグを見ない) | |
| アイテム | item |
持っているかを見るアイテム。個数以上を持っているとき満たします。 | アイテムの ID | なし(アイテムを見ない) | |
| 個数(以上) | count |
アイテムの条件で、持っている必要のある数。 | 1 以上 | 1 | |
| 仲間がいる | actor |
パーティにいるかを見る仲間。いるとき満たします。 | 仲間の ID | なし(仲間を見ない) |
明かり(暗いマップで見える)(light)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 半径(マス) | radius |
イベントのまわりを照らす明かりの半径。 | 0〜20。マスの数。 | なし(必須) | 必須 |
見た目の上書き(テンプレートのページ全部)(look)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | character |
イベントの姿に使うキャラ(キャラの歩く絵)。 | キャラの ID | なし(見えない) | |
| 向き | dir |
イベントの最初の向き。 | up・down・left・right。up 上・down 下・left 左・right 右。 |
down(下) |
自律移動(move)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 動き | type |
イベントがひとりで動く動き方。 | fixed・random・approach・route。fixed 止まる・random ランダムに歩く・approach プレイヤーに近づく・route 手の列のとおりに動く。 |
なし(必須) | 必須 |
| 頻度 | frequency |
ランダム・近づくで、1 歩ごとの間の長さ。数が大きいほど休まずに歩きます。 | 1〜5。1 歩ごとに(5−頻度)×0.5 秒休む。5 で休まない。 | 3 | |
| 速さ | speed |
1 マス進む速さ。 | 1〜6。4 で 1 マス 0.25 秒。1 増えるごとに倍の速さ、1 減るごとに半分。 | 4(プレイヤーと同じ) | |
| 手の列 | route |
動き方が route のとき、順に行う手の列。 | 一覧(1 件は 文字)。up・down・left・right(1 マス進む。進めなければ飛ばす)・turn_up など(向く)・turn_toward_player・wait:ミリ秒・face_fixed:on/off・through:on/off・hide・show。 | なし(動かない) | |
| 繰り返す | repeat |
手の列を最後まで行ったら、最初から繰り返すか。 | はい・いいえ(true・false) |
true(繰り返す) |
5.2 コモンイベント
左の上の切り替えで コモンイベント にすると、作品のコモンイベント(common/<id>.json)の一覧になります。コモンイベントはページを持たない命令の列で、イベント・物語・ほかのコモンイベントから命令 call_common で呼びます。命令の木の使い方は §5.1 と同じです。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
コモンイベントを指す名前。命令 call_common で呼ぶときに書き、ファイル名(common/<id>.json)と同じにします。 | ID(英小文字で始まり、英小文字・数字・_)。ファイル名と違うと検査の F-ID-03。 |
なし(必須) | 必須 |
| 名前 | name |
作る人のためのコモンイベントの名前。エディタの選ぶ欄(call_common など)で id の横に出ます(ゲームには出ません)。 | 文字 | なし(id だけが出る) | |
| 命令 | blocks |
呼ばれたときに実行する命令の並び。いくつものイベントで同じ処理を使うときにまとめます。 | 命令の列 | なし(何もしない) |
5.3 命令(60 種)
命令の種類
| 分類 | 命令 |
|---|---|
| 会話 | text(文・話す人・顔。窓の形 を balloon にすると話す人の上のフキダシ)・text_clear・text_style(窓の色・名前の色)・choice(選択肢。選択肢ごとの命令と、出す条件)・chatter(止まらない会話: プレイヤーを止めずに、誰かの上へ短い文を数秒出す) |
| 流れ | if(条件式。成り立つとき/成り立たないとき)・label・jump・end_event・wait・call_common・call_story |
| 変数 | set_var(= 代入・+ 足す・- 引く)・set_self(自分のフラグ) |
| 入力 | input_name(名前を打たせる)・input_number(数を桁ごとに選ばせる)・input_item(持っているアイテムを 1 つ選ばせる)。結果は var の変数に入る(下の「入力の命令」) |
| 物 | item・gold・party(仲間を加える・外す)・recover_all |
| クエスト・記録 | quest(クエストを受ける・達成・失敗)・record(サーバーの記録に値を送る。§15)・achievement(実績を解く) |
| 移動 | transfer(マップを移る・向き・暗転)・move_route(イベントやプレイヤーを動かす)・erase_event |
| 戦闘など | battle(敵の組。逃げられる・負けてもよい。勝った/負けた/逃げたときの命令)・shop(品と売れるか)・save_screen・game_over・return_title・credits(作品フォルダの credits.txt を流す)・encounter(ランダムエンカウントを止める・戻す)・craft_screen(合成の画面) |
| ノベルの見た目 | bg・bg_clear・ch(立ち絵・表情・左/中央/右)・ch_hide・ch_clear・ch_expr・ch_move |
| 演出 | effect(揺れ・光など)・filter・transition・mask・mask_clear・animation(アニメを誰かの上で再生)・weather(雨・雪)・atmosphere(暗さ)・camera(ズームの倍率と寄せる先)・camera_reset |
| ピクチャ | picture(番号つきの絵を出す・同じ番号は置き換える)・picture_move(位置・大きさ・不透明度を時間をかけて変える)・picture_clear(1 枚か全部を消す)(下の「ピクチャの命令」) |
| 音 | bgm・bgm_stop・se・se_stop・voice |
文中の差し込み(text の本文・chatter): {var:名前}(変数の値)・{item:id}(アイテムの名前)・{actor:id}(仲間の名前)・{gold}(お金)・{currency}(お金の単位)。{color:#ff4040}赤い字{/color} で本文の一部に色を付けます。知らない名前はそのまま出ます(検査 R-TEXT-01 が知らせます)。
条件式(if・選択肢の条件): met_elder == true・gold >= 100・item.herb >= 1・self.done などを &&(かつ)・||(または)・!(でない)でつなぎます。比べ方は == != >= <= > <。変数は変数のタブで登録した名前です(gold・item.<id>・party.・actor.・region(プレイヤーのいるマスのリージョン)・quest.<id>.state・quest.<id>.ready は登録なしで使えます)。
入力の命令: 遊ぶ人に入れさせた結果を変数に入れます。変数は先に変数のタブで登録し、型を合わせます(合わないと検査 R-INP-01)。
| 命令 | 項目 | 変数の型 | 取消 |
|---|---|---|---|
input_name(名前) |
var・maxLen(字の数・既定 8)・default(最初の名前。空なら変数の今の値) |
文字 | 最初の名前のまま進む |
input_number(数・暗証番号) |
var・digits(桁の数 1〜8・既定 4)・default |
数 | できない |
input_item(どれを渡す?) |
var・kind(all 全部・consumable 消耗品・key 大事な物) |
文字(アイテムの id) | 空の id で進む |
名前に使える字の制限はありません(改行だけ除きます)。input_item は選んだアイテムを減らしません(渡すなら、続けて item の命令で減らします)。結果は {var:hero_name} のように文中で使います。
ピクチャの命令: 地図・手紙・一枚絵・自作の目盛りなどを、番号(1〜20)つきの絵として画面に出し、動かし、消します。座標は画面の 1280×720 の論理座標(画面の JSON と同じ。窓の大きさが変わっても同じ所)。番号の大きいものが上に重なります。
| 命令 | 項目 |
|---|---|
picture(出す) |
no(番号 1〜20・同じ番号は置き換える)・asset(素材の種類 picture か bg)・x y(既定 0)・w h(0 で絵の大きさ)・opacity(0〜1・既定 1)・origin(x y の指す所。topleft 左上〔既定〕・center 真ん中) |
picture_move(動かす) |
no・x y w h opacity(書いた項目だけ変わる)・durationMs(かける時間。既定 0=すぐ)・wait(終わるまで次の命令へ進まない。既定は待たない) |
picture_clear(消す) |
no(無ければ全部) |
- 出したピクチャは、マップを移っても消えません(消すまで残ります)。セーブに入り、ロードで同じ位置・同じ濃さに戻ります(動いている途中なら続きから)。
- 戦闘の画面の間は描きません(戦闘が終わるとまた出ます)。
- 薄く出して濃くする:
picture(opacity0)→picture_move(opacity1・durationMs400・wait)。見本の長老の机(王を倒したあと)がこの形です。 whを 0(絵の大きさ)のままpicture_moveでwだけ書くと、0 から伸びるように見えます。大きさを動かすなら、先にpictureでwhを書きます。- 検査: 出していない番号を
picture_moveすると R-PIC-01(warn。作品のどこにもその番号のpictureが無い)。無い素材は R-REF-01、種類の違う素材は R-REF-02。 - KS では
@picture 1 pic_letter x=640 y=340 origin=center・@picture_move 1 opacity=1 durationMs=400 wait=true・@picture_clear no=1と書きます。
命令ごとの項目は下の表です(並びはエディタの命令の種類の並び)。
text(会話)
会話の窓を 1 つ出し、遊ぶ人が決定キーを押すまで待ちます。窓の形を balloon にすると、画面の下の窓の代わりに相手の頭の上のフキダシで出します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 話す人(キャラの id か名前) | speaker |
窓の名前の欄に出す話す人。キャラの id を書くとそのキャラの名前と顔が出て、id でない文はそのまま名前として出ます。 | 文字。例 elder(キャラの id)・村人 | なし(名前を出さない語り) | |
| 本文 | body |
窓に出す文。{var:名前}・{item:id}・{actor:id}・{gold}・{currency} の差し込みと、{color:#ff4040}…{/color} の色が使えます。 | 文字(複数行) | なし(必須) | 必須 |
| 顔 | face |
窓に出す顔の絵。キャラの顔と違う顔(表情違いなど)を出すときに書きます。 | 素材の ID(種類 face) |
話す人がキャラの id ならそのキャラの顔。それ以外は顔なし | |
| 窓の形(window=画面の下・balloon=話す人の上のフキダシ) | style |
窓の形。balloon にすると、フキダシの相手の頭の上に出します(相手が見つからないときと選択肢のときは画面の下の窓)。 | window・balloon。window 画面の下の窓・balloon 頭の上のフキダシ |
window(画面の下の窓) | |
| フキダシの相手(player・self・イベントの id) | target |
フキダシを出す相手。player はプレイヤー、self はこのイベント、ほかはそのマップのイベントの id です。style が balloon のときだけ効きます。 | 文字 | self(このイベント) |
text_clear(会話)
会話の窓の文・話す人・顔を消します。
項目なし。
text_style(会話)
これより後の会話の窓の色と名前の色を変えます。書かなかった色は元(画面とテーマの色)に戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 窓の色 | bgColor |
これより後の会話の窓(フキダシも)の地の色。設定の窓の濃さはこの色にも掛かります。 | 色。#rrggbb の形。default でも元に戻す | なし(画面の JSON とテーマの色に戻す) | |
| 名前の色 | nameColor |
これより後の会話の窓の、話す人の名前の字の色。 | 色。#rrggbb の形。default でも元に戻す | なし(画面の JSON の色、無ければテーマの accent に戻す) |
choice(会話)
選択肢を出して遊ぶ人に選ばせ、選んだ選択肢の命令を実行します。条件で 1 つも出ないときは、何も出さずに次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 選択肢 | options |
出す選択肢の並び。1 つずつに、出す文・出す条件・選んだときの命令を書きます。上から順に出ます。 | 一覧(1 件は「選択肢」の表) | なし(必須) | 必須 |
選択肢(choice_option)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 文 | text |
選択肢として遊ぶ人に見せる文。 | 文字 | なし(必須) | 必須 |
| 出す条件(条件式) | condition |
この選択肢を出す条件式。成り立たないときはこの選択肢だけ出しません。 | 文字。例 gold >= 100・item.herb >= 1 && !self.done | なし(いつも出す) | |
| 選んだときの命令 | actions |
この選択肢を選んだときに実行する命令。終わると選択肢の命令の次へ進みます。 | 命令の列 | なし(何もせず選択肢の次へ進む) |
if(流れ)
条件式が成り立つかどうかで、実行する命令の並びを分けます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 条件式 | condition |
分かれ目の条件式。変数・gold・item.<id>・self.名前 などを比べ、&&(かつ)・||(または)・!(でない)でつなぎます。 | 文字。例 met_elder == true・gold >= 100 | なし(必須) | 必須 |
| 成り立つとき | thenBlocks |
条件式が成り立つときに実行する命令。 | 命令の列 | なし(何もしない) | |
| 成り立たないとき | elseBlocks |
条件式が成り立たないときに実行する命令。 | 命令の列 | なし(何もしない) |
set_var(変数)
変数に値を入れる・足す・引く命令です。変数は条件式・文中の差し込み・ページの出現条件で使えます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 変数 | var |
値を変える変数。変数のタブで登録した名前から選びます。 | 変数の ID | なし(必須) | 必須 |
| 操作 | op |
変え方。= は値をそのまま入れ、+ と - は今の数に足す・引きます。 | =・+・-。= 代入・+ 足す・- 引く(+ と - は数のときだけ。true は 1、それ以外は 0 として計算) |
なし(必須) | 必須 |
| 値 | value |
入れる値、または足す・引く量。 | 文字・数・真偽。数・true/false・文字 | なし(必須) | 必須 |
set_self(変数)
このイベントだけが持つフラグ(自分のフラグ)に値を入れます。ページの出現条件や条件式の self.名前 で見ます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 自分のフラグ | var |
このイベントの自分のフラグの名前。ページの出現条件の「自分のフラグ」や条件式の self.名前 で見ます。 | 変数の ID。例 done | なし(必須) | 必須 |
| 値 | value |
自分のフラグに入れる値。 | 文字・数・真偽。ふつうは true/false | なし(必須) | 必須 |
call_common(流れ)
コモンイベントの命令を実行し、終わったらこの命令の次へ戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| コモンイベント | common |
実行するコモンイベント。 | コモンイベントの ID | なし(必須) | 必須 |
call_story(流れ)
物語の話を実行し、終わったらこの命令の次へ戻ります。長い会話や、立ち絵・背景を使う場面に使います。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 話(章/話) | story |
実行する物語の話。章/話 の形で指します。 | 物語の話の ID。例 01_main/01_opening | なし(必須) | 必須 |
jump(流れ)
同じイベント(または同じ話)の中の label の位置へ飛びます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 行き先のラベル | label |
飛び先の label の名前。同じイベント(または同じ話)の中の label だけ指せます。無い名前は検査 R-FLOW-01 が知らせ、ゲームでは命令の並びの終わりへ飛びます。 | 文字 | なし(必須) | 必須 |
label(流れ)
jump の行き先になる目印を置きます。label 自体は何もしません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ラベル | name |
jump から指す目印の名前。同じイベントの中で重ならないようにします(重なると検査 R-FLOW-01、jump は最初のものへ飛ぶ)。 | 文字 | なし(必須) | 必須 |
end_event(流れ)
ここで命令の並びを終えます。call_common・call_story で呼ばれた中なら、呼んだ側の次の命令へ戻ります。
項目なし。
wait(流れ)
決めた時間だけ待ってから次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 待つ時間(ミリ秒) | ms |
次の命令へ進むまで待つ時間。 | 0 以上。1000 で 1 秒 | なし(必須) | 必須 |
bg(ノベルの見た目)
会話の背景の絵を出します(いまの背景と入れ替わります)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 背景 | asset |
背景に出す絵(素材の種類 bg)。 | 素材の ID(種類 bg) |
なし(必須) | 必須 |
| フェードの時間(ミリ秒) | fadeMs |
背景を出すときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ出す) |
bg_clear(ノベルの見た目)
会話の背景の絵を消します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| フェードの時間(ミリ秒) | fadeMs |
背景を消すときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ消す) |
ch(ノベルの見た目)
キャラの立ち絵を、表情と位置(左・中央・右)を決めて出します。同じキャラが出ていれば置き換えます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | character |
立ち絵を出すキャラ(キャラのタブで登録したもの)。 | キャラの ID | なし(必須) | 必須 |
| 表情 | expression |
出す表情の名前。キャラに登録した表情から選びます。 | 文字 | キャラの既定の表情 | |
| 位置 | pos |
立ち絵を置く位置。 | L・C・R。L 左・C 中央・R 右 |
C(中央) | |
| フェードの時間(ミリ秒) | fadeMs |
立ち絵を出すときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ出す) |
ch_hide(ノベルの見た目)
1 人のキャラの立ち絵を消します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | character |
立ち絵を消すキャラ。 | キャラの ID | なし(必須) | 必須 |
| フェードの時間(ミリ秒) | fadeMs |
立ち絵を消すときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ消す) |
ch_clear(ノベルの見た目)
出ている立ち絵を全部消します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| フェードの時間(ミリ秒) | fadeMs |
立ち絵を全部消すときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ消す) |
ch_expr(ノベルの見た目)
出ている立ち絵の表情を替えます。出ていないキャラには何もしません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | character |
表情を替えるキャラ。立ち絵が出ていないと何もしません。 | キャラの ID | なし(必須) | 必須 |
| 表情 | expression |
替える先の表情の名前。キャラに登録した表情から選びます。 | 文字 | なし(必須) | 必須 |
ch_move(ノベルの見た目)
出ている立ち絵を別の位置(左・中央・右)へ時間をかけて動かします。動いている間も次の命令へ進みます。RPG のゲームの画面には描かれません(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | character |
動かす立ち絵のキャラ。 | キャラの ID | なし(必須) | 必須 |
| 位置 | pos |
動かす先の位置。 | L・C・R。L 左・C 中央・R 右 |
なし(必須) | 必須 |
| 時間(ミリ秒) | durationMs |
動かし終えるまでの時間。 | 0 以上。1000 で 1 秒 | 300 |
effect(演出)
画面の揺れ・光・暗転・白く飛ばす・暗転や白から戻す、の演出をします。演出が終わるまで次の命令へ進みません。RPG のゲームの画面では、揺れと光は時間だけ待ち、暗転・白への溶暗は時間が過ぎてから一度に替わります(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 演出 | kind |
する演出の種類。fade_black・fade_white の後は、black_in・white_in で戻すまで画面が黒・白のままです。 | shake・flash・fade_black・black_in・fade_white・white_in。shake 揺れ・flash 光・fade_black 暗転・black_in 暗転から戻す・fade_white 白く飛ばす・white_in 白から戻す |
なし(必須) | 必須 |
| 強さ | intensity |
揺れの強さ。kind が shake のときだけ効きます。 | 0 以上 | 5 | |
| 時間(ミリ秒) | durationMs |
演出にかける時間。この間、次の命令へ進みません。 | 0 以上。1000 で 1 秒 | shake 300・flash 200・それ以外 500 |
filter(演出)
画面全体に色のフィルタ(モノクロ・セピアなど)をかけます。フィルタを空か none にすると外します。RPG のゲームの画面には描かれません(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| フィルタ | filter |
画面にかけるフィルタの名前。空か none でフィルタを外します。 | 文字。grayscale モノクロ・sepia セピア・warm 暖色(morning も同じ)・cool 寒色・none 外す | なし(必須) | 必須 |
| 強さ | intensity |
フィルタのかかり具合。 | 0〜1。0 でかからない・1 で全部 | 1(いちばん強い) |
transition(演出)
KaedeVN のトランジション(TRANSITION)を始めます。終わるのを待たずに次の命令へ進みます。RPG のゲームの画面には描かれません(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 対象 | target |
トランジションをかける層。 | 文字。background 背景・character 立ち絵・overlay いちばん上 | overlay | |
| 種類(fade など。KaedeVN の TRANSITION の type) | kind |
トランジションの種類。KaedeVN の TRANSITION 命令の type に渡します。 | 文字。例 fade | なし(必須) | 必須 |
| 時間(ミリ秒) | durationMs |
トランジションにかける時間。 | 0 以上。1000 で 1 秒 | 0(すぐ) |
mask(演出)
画面全体を 1 色で覆います。mask_clear まで覆ったままです。RPG のゲームの画面には描かれません(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 色 | color |
画面を覆う色。 | 色。#rrggbb の形 | #000000(黒) | |
| 不透明度 | opacity |
覆う色の濃さ。 | 0〜1。0 で透明・1 で下が見えない | 1(下が見えない) | |
| 時間(ミリ秒) | durationMs |
覆い終えるまでの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ) |
mask_clear(演出)
mask で覆った色を外します。RPG のゲームの画面には描かれません(§16)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 時間(ミリ秒) | durationMs |
覆った色を外し終えるまでの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ) |
picture(ピクチャ)
番号(1〜20)つきの絵を画面に出します。同じ番号は置き換え、番号の大きいものが上に重なります。マップを移っても消えず、セーブに入ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 番号(1〜20。同じ番号は置き換える) | no |
ピクチャの番号。picture_move・picture_clear はこの番号で指します。同じ番号のピクチャは置き換え、番号の大きいものが上に重なります。 | 1〜20 | なし(必須) | 必須 |
| 絵(素材の picture か bg) | asset |
出す絵。地図・手紙・一枚絵など。 | 素材の ID(種類 picture・bg)。素材の種類 picture か bg(違う種類は検査 R-REF-02) |
なし(必須) | 必須 |
| X(1280×720 の論理座標・既定 0) | x |
絵の横の位置。画面の 1280×720 の論理座標で、窓の大きさが変わっても同じ所です。origin の指す所をここに合わせます。 | 数。左端が 0・右端が 1280 | 0 | |
| Y(既定 0) | y |
絵の縦の位置(1280×720 の論理座標)。 | 数。上端が 0・下端が 720 | 0 | |
| 幅(0 で絵の大きさ) | w |
絵を描く幅(論理座標)。 | 0 以上。後で picture_move で大きさを動かすなら、ここで書いておく | 0(絵の大きさ) | |
| 高さ(0 で絵の大きさ) | h |
絵を描く高さ(論理座標)。 | 0 以上。後で picture_move で大きさを動かすなら、ここで書いておく | 0(絵の大きさ) | |
| 不透明度(0〜1・既定 1) | opacity |
絵の不透明度。0 で出して picture_move で 1 にすると、薄く出して濃くできます。 | 0〜1。0 で透明・1 で不透明 | 1 | |
| X・Y の指す所(topleft 左上・center 真ん中。既定 topleft) | origin |
x・y が絵のどこを指すか。 | topleft・center。topleft 左上・center 真ん中 |
topleft(左上) |
picture_move(ピクチャ)
出ているピクチャの位置・大きさ・不透明度を、書いた項目だけ時間をかけて変えます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 番号(出ていないと R-PIC-01) | no |
動かすピクチャの番号。出ていない番号には何もしません(作品のどこにもその番号の picture が無いと検査 R-PIC-01)。 | 1〜20 | なし(必須) | 必須 |
| X(書いた項目だけ変わる) | x |
動かす先の横の位置(1280×720 の論理座標)。 | 数 | なし(今の位置のまま) | |
| Y | y |
動かす先の縦の位置(1280×720 の論理座標)。 | 数 | なし(今の位置のまま) | |
| 幅 | w |
変える先の幅。picture で w を 0(絵の大きさ)のままにしていると、0 から伸びるように見えます。 | 0 以上 | なし(今の幅のまま) | |
| 高さ | h |
変える先の高さ。picture で h を 0(絵の大きさ)のままにしていると、0 から伸びるように見えます。 | 0 以上 | なし(今の高さのまま) | |
| 不透明度(0〜1) | opacity |
変える先の不透明度。 | 0〜1。0 で透明・1 で不透明 | なし(今の不透明度のまま) | |
| 時間(ミリ秒・既定 0=すぐ) | durationMs |
変え終えるまでの時間。この間、まっすぐ一定の速さで変わります。 | 0 以上。1000 で 1 秒 | 0(すぐ変わる) | |
| 終わるまで待つ(既定は待たない) | wait |
true にすると、変え終えるまで次の命令へ進みません。 | はい・いいえ(true・false) |
false(待たずに次の命令へ進む) |
picture_clear(ピクチャ)
ピクチャを 1 枚、または全部消します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 番号(空なら全部消す) | no |
消すピクチャの番号。 | 1〜20 | なし(全部消す) |
bgm(音)
BGM を流します(いま流れている BGM と入れ替わります)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| BGM | asset |
流す BGM(素材の種類 bgm)。 | 素材の ID(種類 bgm) |
なし(必須) | 必須 |
| 音量 | volume |
BGM の音量。 | 0〜1。0 で無音・1 で素材のまま | 1 | |
| フェードの時間(ミリ秒) | fadeMs |
流し始めるときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ流す) |
bgm_stop(音)
流れている BGM を止めます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| フェードの時間(ミリ秒) | fadeMs |
止めるときのフェードの時間。 | 0 以上。1000 で 1 秒 | 0(すぐ止める) |
se(音)
効果音を 1 回鳴らします。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 効果音 | asset |
鳴らす効果音(素材の種類 se)。 | 素材の ID(種類 se) |
なし(必須) | 必須 |
| 音量 | volume |
効果音の音量。 | 0〜1。0 で無音・1 で素材のまま | 1 |
se_stop(音)
鳴っている効果音を止めます。
項目なし。
voice(音)
ボイスを 1 回鳴らします。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ボイス | asset |
鳴らすボイス(素材の種類 voice)。 | 素材の ID(種類 voice) |
なし(必須) | 必須 |
transfer(移動)
プレイヤーを別のマップ(または同じマップの別のマス)へ移します。移ると、命令で変えた天候・暗さとカメラは元に戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 移動先のマップ | map |
移る先のマップ。 | マップの ID | なし(必須) | 必須 |
| X | x |
移る先のマスの X(左から何マス目か。0 から数える)。 | 0 以上。単位はマス。 | なし(必須) | 必須 |
| Y | y |
移る先のマスの Y(上から何マス目か。0 から数える)。 | 0 以上。単位はマス。 | なし(必須) | 必須 |
| 向き | dir |
移ったあとのプレイヤーの向き。 | up・down・left・right。up 上・down 下・left 左・right 右。 |
移る前の向きのまま。 | |
| 暗転する | fade |
移るときに画面を暗くしてから明るくするか。暗転の間は次の命令へ進みません。 | はい・いいえ(true・false) |
true(暗転する)。 |
move_route(移動)
プレイヤーかイベントを、手の列のとおりに動かします(歩く・向く・待つなど)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 動かすもの(player・self・イベントの id) | target |
動かすもの。player はプレイヤー、self はこの命令のイベント、それ以外はこのマップのイベントの id。見つからないときは何もしません。 | 文字 | なし(必須) | 必須 |
| 手の列 | route |
上から順に行う手の列。進めない歩きは飛ばします。 | 一覧(1 件は 文字)。手は up・down・left・right(1 歩)・turn_up などの turn_<向き>(向くだけ)・turn_toward_player(プレイヤーの方を向く)・wait:<ミリ秒>(待つ)。イベントだけ face_fixed:on/off(向きを固定)・through:on/off(すり抜け)・hide/show(隠す・出す)。 | なし(必須) | 必須 |
| 終わるまで待つ | wait |
動き終わるまで次の命令へ進まないか。 | はい・いいえ(true・false) |
false(待たない)。 |
erase_event(移動)
この命令を実行しているイベントをマップから消します。消えるのは、プレイヤーがそのマップに入り直すまでです。
項目なし。
animation(演出)
アニメ(素材)をプレイヤーかイベントの上で再生します。アニメに効果音があれば一緒に鳴ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| どこで(player・self・イベントの id) | target |
アニメを出す所。player はプレイヤー、self はこの命令のイベント、それ以外はこのマップのイベントの id。見つからないときは何もしません。 | 文字 | なし(必須) | 必須 |
| アニメ | asset |
再生するアニメの素材。 | 素材の ID(種類 animation) |
なし(必須) | 必須 |
| 終わるまで待つ(既定は待つ) | wait |
アニメが終わるまで次の命令へ進まないか。 | はい・いいえ(true・false) |
true(待つ)。 |
quest(クエスト・記録)
データベースのクエストを受ける・達成する・失敗にする・目標を満たしていれば達成する、を指示します。達成すると報酬が配られ、画面の上にお知らせが出ます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| クエスト | quest |
操作するクエスト(データベースのクエスト)。 | クエストの ID | なし(必須) | 必須 |
| 操作(start 受ける・complete 達成・fail 失敗・advance 目標を満たしていれば達成) | op |
クエストに何をするか。達成すると報酬が配られます。 | start・complete・fail・advance。start 受ける・complete 達成・fail 失敗・advance 目標を全部満たしていれば達成(満たしていなければ何もしない)。 |
なし(必須) | 必須 |
encounter(戦闘など)
ランダムエンカウントを止めたり戻したりします。セーブに入ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| エンカウントする(false で止める) | enabled |
ランダムエンカウントを出すか。false で止め、true で戻します。 | はい・いいえ(true・false) |
なし(必須) | 必須 |
weather(演出)
いまのマップの天候(雨・雪)と強さを変えます。マップにいる間だけ効き、マップを移ると元に戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 天候 | kind |
いまのマップの天候。 | none・rain・snow。none 止む・rain 雨・snow 雪。 |
なし(必須) | 必須 |
| 強さ(1〜10) | power |
雨・雪の強さ。大きいほど強くなります。 | 1〜10 | 5。 | |
| 変わる時間(ミリ秒) | ms |
今の天候から新しい天候へ変わるのにかける時間。待たずに次の命令へ進みます。 | 0 以上。1000 で 1 秒。 | 0(すぐ変わる)。 |
atmosphere(演出)
いまのマップの暗さを変えます。マップにいる間だけ効き、マップを移ると元に戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 暗さ(0〜1) | darkness |
いまのマップの暗さ。暗いと、プレイヤーとイベントの明かりの中だけが見えます。 | 0〜1。0 で暗くない・1 で真っ暗。 | なし(必須) | 必須 |
| 変わる時間(ミリ秒) | ms |
今の暗さから新しい暗さへ変わるのにかける時間。待たずに次の命令へ進みます。 | 0 以上。1000 で 1 秒。 | 0(すぐ変わる)。 |
chatter(会話)
止まらない会話です。プレイヤーを止めずに、誰かの上へ短い文を数秒出します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 誰の上に(player・self・イベントの id) | target |
文を出す相手。player はプレイヤー、self はこの命令のイベント、それ以外はこのマップのイベントの id。見つからないときは何もしません。同じ相手に出すと、前の文と入れ替わります。 | 文字 | なし(必須) | 必須 |
| 文 | text |
相手の上に出す短い文。{var:名前} などの差し込みが使えます。 | 文字 | なし(必須) | 必須 |
| 出している時間(ミリ秒) | ms |
文を出しておく時間。 | 300〜20000。1000 で 1 秒。 | 2500(2.5 秒)。 |
camera(演出)
カメラのズームの倍率を変え、プレイヤー・イベント・マスへ寄せます。マップを移ると元に戻ります。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ズームの倍率(1 で元・2 で 2 倍) | zoom |
カメラのズームの倍率。 | 0.5〜4。1 で元・2 で 2 倍・0.5 で半分。 | 1(元の大きさ)。 | |
| 寄せる先(player・self・イベントの id。空なら x・y) | target |
カメラを寄せる相手。player はプレイヤー、self はこの命令のイベント、それ以外はこのマップのイベントの id。書くと x・y より先に使います。 | 文字 | 空。x と y の両方があればそのマスへ寄せ、無ければプレイヤーに付いていく。 | |
| 寄せる先の X(マス) | x |
カメラを寄せるマスの X。target が空で、y も書いたときに使います。 | 0 以上。単位はマス。 | なし(マスへは寄せない)。 | |
| 寄せる先の Y(マス) | y |
カメラを寄せるマスの Y。target が空で、x も書いたときに使います。 | 0 以上。単位はマス。 | なし(マスへは寄せない)。 | |
| 移る時間(ミリ秒) | ms |
今のカメラから新しい倍率・寄せる先へ移るのにかける時間。 | 0 以上。1000 で 1 秒。0 ですぐ。 | 500(0.5 秒)。 | |
| 終わるまで待つ(既定は待つ) | wait |
カメラが移り終わるまで次の命令へ進まないか。 | はい・いいえ(true・false) |
true(待つ)。 |
camera_reset(演出)
カメラを元(倍率 1・プレイヤーに付いていく)に戻します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 移る時間(ミリ秒) | ms |
元のカメラへ戻るのにかける時間。 | 0 以上。1000 で 1 秒。0 ですぐ。 | 500(0.5 秒)。 | |
| 終わるまで待つ(既定は待つ) | wait |
戻り終わるまで次の命令へ進まないか。 | はい・いいえ(true・false) |
true(待つ)。 |
credits(戦闘など)
作品フォルダの credits.txt を流す画面を開きます。閉じると次の命令へ進みます。
項目なし。
item(物)
アイテムを増やすか減らします。0 より少なくはなりません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| アイテム | item |
増やす・減らすアイテム(データベースのアイテム)。 | アイテムの ID | なし(必須) | 必須 |
| 増やす・減らす | op |
増やすか減らすか。 | +・-。+ 増やす・- 減らす。 |
なし(必須) | 必須 |
| 個数 | count |
増やす・減らす個数。 | 1 以上 | 1。 |
gold(物)
お金を増やすか減らします。0 より少なくはなりません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 増やす・減らす | op |
増やすか減らすか。 | +・-。+ 増やす・- 減らす。 |
なし(必須) | 必須 |
| 金額 | amount |
増やす・減らすお金の額。 | 0 以上 | なし(必須) | 必須 |
party(物)
仲間をパーティに加えるか外します。もう入っている仲間を加える・入っていない仲間を外すときは何も変わりません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 仲間 | actor |
加える・外す仲間(データベースの仲間)。 | 仲間の ID | なし(必須) | 必須 |
| 加える・外す | op |
パーティに加えるか外すか。加えると列の最後に入ります。 | add・remove。add 加える・remove 外す。 |
なし(必須) | 必須 |
recover_all(物)
HP と MP を最大にし、状態(戦闘不能を含む)を消します。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 対象(party か仲間の id) | target |
回復する相手。party はパーティ全員、それ以外は仲間の id(その仲間 1 人)。 | 文字 | party(パーティ全員)。 |
battle(戦闘など)
敵の組と戦闘を始めます。勝った・負けた・逃げたときの命令をそれぞれ書けます。敵の組が無いなどで始められないときは、逃げたことにして進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 敵の組 | troop |
戦う敵の組(データベースの敵の組)。 | 敵の組の ID | なし(必須) | 必須 |
| 逃げられる | canEscape |
戦闘のコマンドで逃げるを選べるか。逃げると「逃げたとき」の命令へ進みます。 | はい・いいえ(true・false) |
false(逃げられない)。 | |
| 負けても続く | canLose |
負けてもゲームオーバーにせず「負けたとき」の命令へ進むか。 | はい・いいえ(true・false) |
false(負けるとゲームオーバー。ただしデータベースのシステムで「負けても続く」にした作品では、負けたときの命令へ進む)。 | |
| 勝ったとき | winBlocks |
勝ったときに実行する命令。終わると戦闘の命令の次へ進みます。 | 命令の列 | 空(何もせず次の命令へ)。 | |
| 負けたとき | loseBlocks |
負けたときに実行する命令(負けても続くときだけ)。終わると戦闘の命令の次へ進みます。 | 命令の列 | 空(何もせず次の命令へ)。 | |
| 逃げたとき | escapeBlocks |
逃げたとき(または戦闘を始められなかったとき)に実行する命令。終わると戦闘の命令の次へ進みます。 | 命令の列 | 空(何もせず次の命令へ)。 |
craft_screen(戦闘など)
合成の画面を開きます。作業台などに置きます。閉じると次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 作れる作り方(空なら全部) | recipes |
この画面で作れる作り方(データベースの合成)。作業台ごとに作れる物を絞るときに書きます。 | 一覧(1 件は 合成の作り方の ID) | 空(全部の作り方)。 |
shop(戦闘など)
店の画面を開き、品物を買えるようにします。閉じると次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 品物 | goods |
店で売る品物の一覧。1 行ごとにアイテムと値段を書きます。 | 一覧(1 件は「品物」の表) | なし(必須) | 必須 |
| 売れる | sellable |
遊ぶ人が持っているアイテムを店に売れるか。売値はアイテムの値段の半分(端数は切り捨て)です。 | はい・いいえ(true・false) |
true(売れる)。 |
品物(shop_good)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| アイテム | item |
売る品物(データベースのアイテム)。 | アイテムの ID | なし(必須) | 必須 |
| 値段(空ならアイテムの値段) | price |
この店での買値。店ごとに値段を変えるときに書きます。 | 0 以上 | データベースのアイテムの値段。 |
record(クエスト・記録)
値の式を計算して、cloud.json の記録(順位)へ送ります。Steam で出すゲームでは Steam へ送ります。待たずに次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 記録(cloud.json の records) | record |
送る先の記録(cloud.json の records に書いた記録の id)。 | 記録の ID | なし(必須) | 必須 |
| 値の計算式(変数・item.<id>・gold・playtime=遊んだ秒) | value |
送る値を計算する式。式が読めないときは送らず、エラーを記録に残します。 | 文字。例 playtime(遊んだ秒)・gold・item.herb・変数の名前。 | なし(必須) | 必須 |
achievement(クエスト・記録)
実績を取ります。まだ取っていないときだけ取り、Steam で出すゲームでは Steam へ送ります。待たずに次の命令へ進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 実績(cloud.json の achievements) | achievement |
取る実績(cloud.json の achievements に書いた実績の id)。 | 実績の ID | なし(必須) | 必須 |
input_name(入力)
名前を打たせる画面を開き、結果を文字の変数に入れます。取消すると最初の名前のまま進みます。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 入れる変数(文字) | var |
打った名前を入れる変数。変数のタブで型を文字にして登録しておきます(合わないと検査 R-INP-01)。 | 変数の ID | なし(必須) | 必須 |
| 最大の字数(既定 8) | maxLen |
打てる名前の字の数の上限。長い分は切られます。 | 1〜32 | 8。 | |
| 最初の名前(取消でもこれ。空なら変数の今の値) | default |
画面を開いたときに入っている名前。取消したときもこの名前になります。 | 文字 | 変数の今の値(文字でなければ空)。 |
input_number(入力)
数を桁ごとに選ばせる画面(暗証番号など)を開き、結果を数の変数に入れます。取消はできません。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 入れる変数(数) | var |
選んだ数を入れる変数。変数のタブで型を数にして登録しておきます(合わないと検査 R-INP-01)。 | 変数の ID | なし(必須) | 必須 |
| 桁の数(1〜8・既定 4) | digits |
選ばせる数の桁の数。 | 1〜8 | 4。 | |
| 最初の数(空なら変数の今の値) | default |
画面を開いたときに入っている数。 | 0 以上 | 変数の今の値(数でなければ 0)。 |
input_item(入力)
持っているアイテムを 1 つ選ばせ、その id を文字の変数に入れます。取消すると空の id が入ります。選んだアイテムは減らしません(渡すなら続けて item の命令で減らします)。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 入れる変数(文字=アイテムの id・取消は空) | var |
選んだアイテムの id を入れる変数。変数のタブで型を文字にして登録しておきます(合わないと検査 R-INP-01)。取消すると空になります。 | 変数の ID | なし(必須) | 必須 |
| 出すアイテム(all 全部・consumable 消耗品・key 大事な物。既定 all) | kind |
一覧に出す、持っているアイテムの種類。 | all・consumable・key。all 全部・consumable 消耗品・key 大事な物。 |
all(全部)。 |
save_screen(戦闘など)
セーブの画面を開き、閉じるまで待ちます。ここで保存したセーブをロードすると、この命令の次から続きます。
項目なし。
game_over(戦闘など)
ゲームオーバーにします。後ろの命令は実行しません。
項目なし。
return_title(戦闘など)
タイトルの画面へ戻ります。後ろの命令は実行しません。
項目なし。
6. 物語のタブ

会話中心の場面(オープニング・エンディング・回想など)は「物語の話」にまとめ、イベントから call_story で呼びます。使い分けは、長い会話や、立ち絵・背景を使う場面は物語へ、短いひと言(村人のあいさつなど)はイベントへ、です。
- 左: 話の一覧。行の右の KS/JSON は、その話のファイルの形です(§6.1)。足すときは
章/話(例01_main/01_opening)と書いて 足す。KS で書く に印を付けて足すと、.ksのファイルで作ります(付けなければ.json)。 - 一覧の行を右クリック → KS にする/JSON にする: ファイルの形を切り替えます。中身と、ほかの場所からの参照(
call_storyなど)は変わりません。切り替えるとすぐ保存されます(新しい形で書いてから古いファイルを消す。ほかの未保存の変更も先に保存され、保存できないときは切り替えません)。Undo では戻らないので、戻すときはもう一度切り替えてください。 - 右上: 名前と エンディング(ゲームの終わり) の印。最後の話には印を付けてください(検査が「エンディングがどこからも呼ばれていない」を見つけられます)。
- 下: 命令の木(イベントと同じ部品)。
.ksの話も木で直せ、保存すると.ksに書かれます。木の上の KS で直す で、同じ話をテキストで直せます(下の「KS で直す」)。
KS で直す: 押すと、木の上に話の KS(§6.1 の書き方・整った形)が複数行の欄で出ます。欄で直して 反映(または Ctrl+Enter)を押すと、欄の KS で話をまるごと置き換え、命令の木を作り直します。
- 読めない行があるときは、話を変えずに、欄の下に「3 行目: …(F-KS-02)」のように行番号つきで出します。直してもう一度 反映 してください。欄の直しは消えません。
- 反映 は 1 回の Undo(Ctrl+Z)で戻せます。反映しただけではファイルに書かれません(保存で書かれる)。
- 木から読み直す は、反映していない欄の直しを捨てて、今の木の KS に戻します。木で命令を足したり、外(AI・CLI)でファイルが書き換わったりしたときは、欄を直していなければ自動で今の中身に書き直します。
.jsonの話にも使えます(欄は KS で出ますが、ファイルの形は.jsonのまま)。- 欄の色づけ・補完はありません。長い話を書くときは、外のテキストエディタで
.ksを直してください(エディタは 1 秒ごとに.ksの書き換えも見て読み直します。未保存の変更があるときは上に知らせが出ます)。 - 必須の項目が空の命令(足したばかりの
waitの時間など)があると、KS に書けないので欄に出せず、.ksの話は保存もできません(何も書かずに「KS に書けない: … 必須の ms が無い」と出ます)。項目を埋めてください。
始まりの話の作り方: 開始のマップにイベントを置き、1 ページ目を「条件なし・自動」にして call_story と set_self(例 done を true)、2 ページ目を「自分のフラグ done が true」で見た目なしにします。
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
話の中の id。話そのものは story/<章>/<話> のファイルの場所で指し(call_story など)、.ks の話ではファイル名が入ります。 | 文字 | なし(必須) | 必須 |
| 名前 | name |
作る人のための話の名前。物語のタブの右上で直し、エディタの選ぶ欄(call_story など)で話の場所の横に出ます。KS では @story name=… と書きます。 | 文字 | なし(話の場所だけが出る) | |
| エンディング(ゲームの終わり) | ending |
この話がゲームの終わり(エンディング)かどうかの印。最後の話に付けると、検査が「エンディングがどこからも呼ばれていない」を見つけられます。 | はい・いいえ(true・false) |
false(エンディングではない) | |
| 命令 | blocks |
話の中身の命令の並び(会話・立ち絵・背景・分岐など)。イベントから call_story で呼ばれて実行されます。 | 命令の列 | なし(何もしない) |
6.1 話をテキスト(KS)で書く
長い会話は、命令の木で 1 つずつ足すより、テキストで書くほうが早いことがあります。話は story/<章>/<話>.ks に KS(同梱のノベルゲームエンジン KaedeVN の @命令 の書き方)で書けます。.ks と .json はどちらで持っても同じ話で、エディタの木でも CLI でも同じように直せます(1 つの話はどちらか 1 つ。両方あると検査が F-FILE-03 を言います)。
@story name=長老の頼み
; 村の長老。頼みを受けるかどうか
@bgm bgm_village
#elder
ようこそ、旅の者よ。北の洞窟に、ねずみの王が住みついてしまった。
村の畑が荒らされて困っている。退治してくれんか。
@l
choice {
"引き受ける" {
#elder style=balloon target=self
ありがたい! 薬草を持っていきなさい。
@l
@item herb + count=3
quest_accepted = true
@quest rat_hunt start
}
"今は無理だ" {
#elder
そうか……気が変わったら、また来てくれ。
@l
}
}
if (gold >= 100) {
@se se_decide
} else {
@wait 300
}
battle rat_king canEscape=true {
win {
boss_defeated = true
}
lose {
@game_over
}
}
| 行 | 意味 |
|---|---|
@story name=題名 |
話の名前(先頭に 1 行・任意)。エンディングの話は @story name=… ending=true |
#話す人 → 本文 → @l |
1 つの窓。#elder はキャラの id(名前と顔が出る)。語りは # を書かない。@p は窓を消して区切る。フキダシは #elder style=balloon target=self |
@命令 必須の値 … key=値 … |
命令。必須の項目を順に、残りを key=値 で(例 @bgm bgm_village volume=0.5・@item herb + count=3・@transfer cave 6 8 dir=up) |
変数 = 値・+=・-=・self.名前 = 値 |
変数と自分のフラグ |
if (条件式) { … } else { … } |
分岐 |
choice { と "文" if (条件式) { … } |
選択肢 |
battle 敵の組 canEscape=true { win {…} lose {…} escape {…} } |
戦闘(勝ち・負け・逃げ) |
*名前・@jump 名前 |
ラベルと飛び先 |
; 文 |
コメント(木には灰色で出ます) |
- 命令と項目の一覧は
kaede-rpg schema --kind story。kaede-rpg show story:<章>/<話> --ksで、.jsonの話も KS の形で読めます(見本を見るのに便利)。 - 本文を
@・#・*・;・"・}で始めたいときは前に\を置きます。空白を含む値は"…"で囲みます。 - 読めない行があっても、ほかの行は普通に読め、読めなかった行は「raw」の命令として残ります(木には赤で出ます。検査が行番号つきで F-KS-01〜06 を言い、残したままでは遊べません)。
- 保存すると KS は整った形(正規形)に書き直されます(空白・引用符の付け方・
key=値の順がそろう。自動で付けた id は書かれない。本文の行の頭の空白と、本文の前後の空行・命令の間の空行は残らない)。手で書いた形がそのまま残らないのは仕様です。本文の中の@rは改行として読まれます(文字として書くなら\@r)。 - 店(
shop)の品物のような入れ子の一覧は、KS では JSON を 1 つの値に書く形になります。店は命令の木で作るのが楽です。 - 形の切り替えは、物語のタブの一覧の右クリック(KS にする/JSON にする)か、CLI の
kaede-rpg story to-ks <章>/<話>/story to-json <章>/<話>(どちらも新しい形で書いてから古い方を消す)。
7. データベースのタブ
| 仲間 | 敵 |
|---|---|
![]() |
![]() |
上のタブで種類を選び、左の一覧(番号つき)から 1 件を選ぶと、右に全部の項目が出ます。項目は 2 段組で、左の段に 1 行の欄と絵の見本、右の段に能力値などのまとまり(色の帯の見出しと枠)、一覧(覚える技・特徴など)は表で出ます(§3 の「一覧の欄は表で直す」)。一覧の下の欄に id を書いて 足す、選んで 消す。
7.1 作品の設定
主な項目: 題名・開始位置・最初の仲間・最初のお金・タイトル画面・マップの HUD(hud。画面 ui/hud.json)・起動のロゴ(logos。タイトルの前に順に出す画像と時間)。
rpg.json(file:rpg)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 作品の ID | id |
作品を見分ける名前。セーブの置き場所と、サーバーのゲームの id(cloud.json の game を省いたとき)に使われる。 | ID(英小文字で始まり、英小文字・数字・_)。英小文字・数字・_ で書く。 |
なし(必須) | 必須 |
| 題名 | title |
作品の題名。エディタと書き出したゲームで作品の名前として出る。 | 文字 | なし(必須) | 必須 |
| 種類 | type |
作品の種類。マップを歩く RPG か、話を読むノベルかを書く。検査は rpg のときだけ開始位置とエンディングを確かめる。 | rpg・novel。rpg マップを歩く RPG・novel ノベル(start.event の話から始める用。今のゲームの起動は rpg と同じ)。 |
なし(必須) | 必須 |
| タイルの拡大率 | tileZoom |
ゲームでマップのタイル(48px)を何倍に拡大して描くか。大きくすると、画面に見えるマスが減る。 | 1〜4。1.5 のような小数も書ける。 | 2 | |
| 開始位置 | start |
ゲームを始めたときにプレイヤーが立つマップ・マス・向き。マップのタブでマスを右クリックし「ここをプレイヤーの開始位置に」でも決められる。 | 項目の組(§7.1 の「開始位置」の表) | なし(rpg では検査 R-GOAL-02 の error。ゲームが始まらない) | |
| 最初の仲間 | party |
ゲームを始めたときに仲間にいる人の一覧。データベースの仲間の id を順に書き、先頭がマップを歩く。 | 一覧(1 件は 仲間の ID) | 空(仲間なし。検査 R-GOAL-02 の warning) | |
| 最初のお金 | gold |
ゲームを始めたときに持っているお金。 | 0 以上 | 0 | |
| タイトル画面 | titleScreen |
タイトルに使う画面の名前。今のゲームはこの欄を読まず、タイトルには ui/title.json(作品に無ければ製品の既定)を出す。 | 画面の ID | なし(使われない) | |
| 画面のテーマ(fantasy=装飾枠・modern=すっきり。作品の themes/<名前>.json も使える。空は fantasy) | uiTheme |
ゲームの画面(窓の色・枠・書体など)のテーマの名前。製品のテーマか、作品の themes/<名前>.json の名前を書く。 | 文字。製品には 12 の系統と色違い(例 crystal-jade)がある。 | fantasy | |
| 画面のレイアウトの差し替え(画面 → 名前。ui/<画面>.<名前>.json) | uiLayouts |
画面ごとに形だけを差し替える指定。画面の名前に名前を対応させると、ui/<画面>.<名前>.json をその画面に使う。 | 鍵 → 値 の組(値は 文字)。例 {"message": "wide"} で ui/message.wide.json を使う。 | なし(差し替えない) | |
| マップの HUD を出す(画面 ui/hud.json) | hud |
マップを歩いている間、画面 ui/hud.json(マップの HUD)を出すかどうか。 | はい・いいえ(true・false) |
false(出さない) | |
| 起動のロゴ(タイトルの前に順に出す) | logos |
起動したときに、タイトルの前に順に出すロゴの画像と出している時間の一覧。 | 一覧(1 件は§7.1 の「起動のロゴ(タイトルの前に順に出す)」の表) | なし(ロゴを出さずにタイトルへ) | |
| タイトルの背景の絵 | titleImage |
タイトルの画面いっぱいに出す背景の素材。 | 素材の ID(種類 bg) |
なし(絵を出さない) | |
| ゲームオーバーの絵 | gameOverImage |
ゲームオーバーの画面いっぱいに出す背景の素材。 | 素材の ID(種類 bg) |
なし(絵を出さない) | |
| 章の順 | chapters |
物語の章(story/<章>/ のフォルダ)の順。今のゲームと検査はこの欄を読まない。 | 一覧(1 件は 文字) | なし(使われない) | |
| ゲームの画面の言語(ja・en。空は ja。文言は製品の strings/<言語>.json、作品の strings/<言語>.json で上書き) | language |
ゲームの画面の決まった文言(メニュー・タイトル・戦闘の文など)の言語。作品が書いた台詞や名前は替わらない。 | ja・en。ja 日本語・en 英語。知らない値は検査 F-LANG-01 の error。 |
ja |
起動のロゴ(タイトルの前に順に出す)(logo)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 画像 | asset |
ロゴとして出す画像の素材。 | 素材の ID(種類 picture・bg・ui) |
なし(必須) | 必須 |
| 出している時間(ミリ秒) | ms |
そのロゴを出している時間。 | 500〜10000。ミリ秒。1000 で 1 秒。 | 2000(2 秒) |
開始位置(start)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| マップ | map |
ゲームを始めたときにプレイヤーがいるマップの id。 | マップの ID | なし(rpg では検査 R-GOAL-02 の error。ゲームが始まらない) | |
| X | x |
開始のマスの横の位置。左端が 0。 | 0 以上。マス。 | 0 | |
| Y | y |
開始のマスの縦の位置。上端が 0。 | 0 以上。マス。 | 0 | |
| 向き | dir |
始めたときにプレイヤーが向いている方向。 | up・down・left・right。up 上・down 下・left 左・right 右。 |
down | |
| 最初の話(story:章/話) | event |
type が novel のときに最初に流す話。rpg では使われず、書くと検査 R-GOAL-02 の warning になる(rpg の始まりの話は、開始のマップに自動のページのイベントを置いて呼ぶ)。 | 文字。例 story:ch1/opening。 | なし(何も流さない) |
7.2 仲間
主な項目: 名前・キャラ・初期レベル・能力値(HP・MP・攻撃・防御・魔法攻撃・魔法防御・素早さ)・成長(1 レベルごと)・経験値の曲線・覚える技・初期装備・「たたかう」のアニメ・素手の「たたかう」の属性・特徴。
属性と特徴
- 属性: システムの 属性の一覧 に火・氷などを足し、技やアイテムの効果に属性を付けます。武器に「たたかう」の属性を付けると、通常攻撃もその属性になります。
- 特徴: 仲間・装備・状態・敵に付けます。種類は 5 つです。
| 種類 | 書くこと | 効き方 |
|---|---|---|
能力値の倍率(param) |
能力値・割合(%) | 攻撃 120% など。装備の画面と状態の画面の数にも入ります |
属性の効き(element) |
属性・割合(%) | 200%で 2 倍(「効果は抜群だ!」)、0%で効かない |
状態にかからない(stateResist) |
状態 | 「〜には毒が効かなかった」 |
たたかうで状態(attackState) |
状態・確率(%) | 通常攻撃が当たると、その確率で状態を付けます |
毎ターンの HP(hpRegen) |
割合(%) | ターンの終わりに最大 HP のその割合だけ回復(負で減る。HP 1 より下げない) |
- 装備の画面に、付いている特徴が「特徴: 毒にかからない」のように出ます。見本では「毒よけのお守り」がこれです。
db/actors.json(file:db/actors)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 仲間 | actors |
仲間(パーティに入る人物)の一覧。最初の仲間やイベントで加える仲間は、ここの id で指します。 | 一覧(1 件は§7.2 の「仲間」の表) | なし(必須) | 必須 |
仲間(actor)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
仲間を指す名前。最初の仲間・仲間を加える命令・条件式などがこの id で指します。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
メニューや戦闘、メッセージに出る仲間の名前。 | 文字 | なし(必須) | 必須 |
| キャラ | character |
この仲間の見た目に使うキャラ。パーティの先頭にいるとマップでこのキャラの歩く絵が出て、メニューにはこのキャラの顔が出ます。 | キャラの ID | なし(マップに歩く絵を出さない。顔は仲間と同じ id のキャラがあればそれを使う) | |
| 初期レベル | level |
ゲームを始めたとき(仲間になったとき)のレベル。経験値はそのレベルに届く分から始まり、覚える技のうちこのレベル以下のものを最初から覚えています。 | 1〜99 | 1 | |
| 能力値(レベル 1) | params |
レベル 1 のときの能力値(最大 HP・最大 MP・攻撃・防御・魔法攻撃・魔法防御・素早さ)。レベル L の値は「この値+成長×(L−1)」に、装備で足す値と特徴の倍率を入れたものです。 | 項目の組(§7.2 の「能力値(レベル 1)」の表) | なし(必須) | 必須 |
| 成長(1 レベルごと) | growth |
1 レベル上がるごとに能力値へ足す量。項目ごとに書きます。 | 項目の組(§7.2 の「能力値(レベル 1)」の表) | 全部 0(レベルが上がっても能力値は変わらない) | |
| 経験値の曲線 | expCurve |
次のレベルまでに要る経験値の曲線。レベル L から L+1 までの経験値は floor(基本 × L^指数) です。 | 項目の組(§7.2 の「経験値の曲線」の表) | 基本 10・指数 1.5 | |
| 覚える技 | skills |
覚える技と、覚えるレベルの一覧。戦闘に勝ってそのレベルに上がると覚え、「〜を覚えた」と出ます。 | 一覧(1 件は§7.2 の「覚える技」の表) | なし(技を覚えない) | |
| 初期装備 | equip |
ゲームを始めたときに身に着けている武器・防具・装飾品。 | 項目の組(§7.2 の「初期装備」の表) | なし(何も装備しない) | |
| 「たたかう」のアニメ | attackAnimation |
この仲間が「たたかう」を使ったとき、戦闘で相手に重ねて出すアニメ。 | 素材の ID(種類 animation) |
システムの「たたかう」の既定のアニメ(それも無ければ出さない) | |
| 素手の「たたかう」の属性 | attackElement |
武器を持たないとき(または武器に属性が無いとき)の「たたかう」の属性。相手の特徴の属性の効きが掛かります。 | 属性の ID | なし(属性の無い攻撃) | |
| 特徴 | traits |
この仲間にいつも付いている特徴(能力値の倍率・属性の効き・状態にかからない・たたかうで状態・毎ターンの HP)。装備の特徴と合わせて効きます。 | 一覧(1 件は§7.2 の「特徴」の表) | なし |
能力値(レベル 1)(params)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 最大 HP | hp |
最大 HP。0 になると戦闘不能(敵は倒れる)。 | 0 以上 | なし(必須) | 必須 |
| 最大 MP | mp |
最大 MP。技を使うと消費 MP の分だけ減ります。 | 0 以上 | なし(必須) | 必須 |
| 攻撃 | atk |
攻撃。計算式で a.atk・b.atk として読みます(「たたかう」は a.atk * 4 - b.def * 2)。 | 0 以上 | なし(必須) | 必須 |
| 防御 | def |
防御。計算式で a.def・b.def として読みます(「たたかう」で受けるダメージを減らす)。 | 0 以上 | なし(必須) | 必須 |
| 魔法攻撃 | mat |
魔法攻撃。計算式で a.mat・b.mat として読みます。 | 0 以上 | なし(必須) | 必須 |
| 魔法防御 | mdf |
魔法防御。計算式で a.mdf・b.mdf として読みます。 | 0 以上 | なし(必須) | 必須 |
| 素早さ | agi |
素早さ。戦闘で行動する順(大きいほど先)と、逃走の成功率の式(party.agi・troop.agi)に効きます。 | 0 以上 | なし(必須) | 必須 |
特徴(trait)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 種類(param 能力値の倍率・element 属性の効き・stateResist 状態にかからない・attackState たたかうで状態・hpRegen 毎ターンの HP) | kind |
特徴の種類。種類ごとに書く項目が決まります(能力値の倍率は能力値と割合・属性の効きは属性と割合・状態にかからないは状態・たたかうで状態は状態と確率・毎ターンの HP は割合)。 | param・element・stateResist・attackState・hpRegen。param 能力値の倍率・element 属性の効き・stateResist 状態にかからない・attackState たたかうで状態を付ける・hpRegen ターンの終わりに HP が増減。要る項目が無いと検査が R-DB-04 で知らせる。 |
なし(必須) | 必須 |
| 能力値(param) | param |
能力値の倍率(param)で掛ける能力値。装備の画面と状態の画面の数にも入ります。 | atk・def・mat・mdf・agi。atk 攻撃・def 防御・mat 魔法攻撃・mdf 魔法防御・agi 素早さ(HP・MP は選べない)。 |
なし(何も掛けない) | |
| 属性(element) | element |
属性の効き(element)で効きを変える属性。その属性の技や攻撃を受けたときのダメージに割合を掛けます。 | 属性の ID | なし(効かない) | |
| 状態(stateResist・attackState) | state |
状態にかからない(stateResist)ではかからなくなる状態、たたかうで状態(attackState)では通常攻撃が当たったときに付ける状態。 | 状態の ID | なし(効かない) | |
| 割合(%。param・element は倍率・hpRegen は最大 HP の増減) | rate |
割合(%)。能力値の倍率と属性の効きでは掛ける倍率、毎ターンの HP ではターンの終わりに増減する最大 HP の割合です。 | -100〜1000。例 攻撃 120 で 1.2 倍。属性は 150 以上で「効果は抜群」、0 で効かない。毎ターンの HP は負で減る(HP 1 より下げない)。 | 能力値の倍率・属性の効きは 100(変わらない)、毎ターンの HP は 0(増減しない) | |
| 確率(%・attackState) | chance |
たたかうで状態(attackState)で、通常攻撃が当たったときに状態を付ける確率(%)。 | 0〜100 | 100(当たれば必ず付ける) |
経験値の曲線(exp_curve)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 基本 | base |
経験値の曲線の基本。レベル L から L+1 までの経験値 floor(基本 × L^指数) の「基本」で、大きいほど全体にレベルが上がりにくくなります。 | 1 以上 | なし(必須) | 必須 |
| 指数 | factor |
経験値の曲線の指数。大きいほど、高いレベルほど次までの経験値が急に増えます。 | 1〜4。例 1 で毎レベル同じ割合で増える・1.5 が既定の曲線。 | なし(必須) | 必須 |
覚える技(learn)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 技 | skill |
覚える技。 | 技の ID | なし(必須) | 必須 |
| レベル | level |
その技を覚えるレベル。初期レベル以下なら最初から覚えています。 | 1〜99 | なし(必須) | 必須 |
初期装備(equip)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 武器 | weapon |
最初に装備している武器(種類が武器のアイテム)。 | アイテムの ID | なし(装備しない) | |
| 防具 | armor |
最初に装備している防具(種類が防具のアイテム)。 | アイテムの ID | なし(装備しない) | |
| 装飾品 | accessory |
最初に装備している装飾品(種類が装飾品のアイテム)。 | アイテムの ID | なし(装備しない) |
7.3 技
主な項目: 名前・消費 MP・消費 HP(HP が足りないと使えない)・対象・効き方(ダメージ・回復・状態を付ける)・計算式(例 a.atk * 2 - b.def)・振れ(%)・命中(%)・付ける状態・属性・アニメ。
技の計算式は、既定のまま使ってかまいません(エディタで技を足すと a.atk * 2 - b.def が入ります)。変えるときは、使う側が a、受ける側が b です(a.atk・b.def・a.mat・a.level など)。
db/skills.json(file:db/skills)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 技 | skills |
技の一覧。仲間の覚える技・敵の行動から、ここの id で指します。 | 一覧(1 件は§7.3 の「技」の表) | なし(必須) | 必須 |
技(skill)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
技を指す名前。仲間の覚える技・敵の行動・命令がこの id で指します。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
戦闘の技の一覧やメニュー、「〜は〜を使った」の文に出る技の名前。 | 文字 | なし(必須) | 必須 |
| 消費 MP | mpCost |
使うと減る MP。MP が足りないと使えません。 | 0 以上 | 0(MP を使わない) | |
| 消費 HP(HP が足りないと使えない) | hpCost |
使うと減る HP。使って倒れる分は使えません(HP が消費 HP より多いときだけ使える)。 | 0 以上。覚えるレベルの最大 HP 以上だと、検査が R-DB-05 で知らせる。 | 0(HP を使わない) | |
| 対象 | target |
技が効く相手。敵が使うときは、敵から見た相手(敵=仲間の側)になります。 | enemy・enemies・ally・allies・self。enemy 敵 1 体・enemies 敵全体・ally 味方 1 人・allies 味方全員・self 自分。 |
なし(必須) | 必須 |
| 効き方 | kind |
技の効き方。ダメージと回復は計算式の値を使い、付ける状態があればどれでも状態を付けます。 | damage・heal・state。damage ダメージ(戦闘だけ)・heal HP を回復・state 状態を付ける(フィールドで使うと、その状態を治す)。 |
なし(必須) | 必須 |
| 計算式 | formula |
ダメージや回復の量を決める式。使う側が a、受ける側が b です(a.atk・b.def・a.mat・a.level など)。 | 文字。四則と min・max・floor。a.・b. の後ろは hp mp mhp mmp atk def mat mdf agi level。読めない式・知らない名前は検査が R-DB-02 で知らせる。 | なし(ダメージも回復もしない。エディタで技を足すと a.atk * 2 - b.def が入る) | |
| 振れ(%) | variance |
計算式の値の振れ幅(%)。値に 1±振れ の範囲の乱数を掛けます(戦闘だけ)。 | 0〜100 | 20 | |
| 命中(%) | hit |
当たる確率(%)。外れると「〜には当たらなかった」と出て何も効きません(戦闘だけ)。 | 0〜100 | 100(必ず当たる) | |
| 付ける状態 | state |
当たったときに相手に付ける状態。 | 状態の ID | なし(状態を付けない) | |
| 状態の確率(%) | stateChance |
付ける状態が付く確率(%)。 | 0〜100 | 100(必ず付く) | |
| 属性 | element |
技の属性。相手の特徴の属性の効きがダメージに掛かります。 | 属性の ID | なし(属性の無い技) | |
| 説明 | description |
メニューの技の画面で、選んだ技の説明として出る文。 | 文字(複数行) | なし(出さない) | |
| 使える場面 | scope |
技を使える場面。戦闘の技の一覧とメニューの技の画面のどちらに出るかが決まります。 | battle・field・both。battle 戦闘だけ・field フィールドのメニューだけ・both 両方。 |
battle(戦闘だけ) | |
| アニメ | animation |
戦闘で技を使ったとき、相手に重ねて出すアニメ。 | 素材の ID(種類 animation) |
なし(アニメを出さない) |
7.4 アイテム
主な項目: 名前・種類(消耗品・武器・防具・装飾品・大事な物)・値段・説明・効果(消耗品。属性も付けられる)・使える場面(戦闘・フィールド・両方)・足す能力値(装備)・装備で付く特徴・武器の「たたかう」の属性・使ったときのアニメ。
足す能力値(装備)(params_partial)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 最大 HP | hp |
装備したときに最大 HP へ足す量。 | 0 以上 | 0(足さない) | |
| 最大 MP | mp |
装備したときに最大 MP へ足す量。 | 0 以上 | 0(足さない) | |
| 攻撃 | atk |
装備したときに攻撃へ足す量。 | 0 以上 | 0(足さない) | |
| 防御 | def |
装備したときに防御へ足す量。 | 0 以上 | 0(足さない) | |
| 魔法攻撃 | mat |
装備したときに魔法攻撃へ足す量。 | 0 以上 | 0(足さない) | |
| 魔法防御 | mdf |
装備したときに魔法防御へ足す量。 | 0 以上 | 0(足さない) | |
| 素早さ | agi |
装備したときに素早さへ足す量。 | 0 以上 | 0(足さない) |
db/items.json(file:db/items)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| アイテム | items |
アイテム(消耗品・装備・大事な物)の一覧。ショップ・宝箱・落とす物・装備から、ここの id で指します。 | 一覧(1 件は§7.4 の「アイテム」の表) | なし(必須) | 必須 |
アイテム(item)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
アイテムを指す名前。アイテムの命令・ショップ・落とす物・装備がこの id で指します。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
所持品・ショップ・入手のお知らせに出るアイテムの名前。 | 文字 | なし(必須) | 必須 |
| 種類 | kind |
アイテムの種類。使えるか、どの装備の枠に入るか、売れるかが決まります。 | consumable・weapon・armor・accessory・key。consumable 消耗品(効果があれば使える)・weapon 武器・armor 防具・accessory 装飾品・key 大事な物(売れない)。 |
なし(必須) | 必須 |
| 値段 | price |
ショップで買う値段。売るとこの半分(端数は切り捨て)になります。ショップの命令で値段を書けば、そちらが使われます。 | 0 以上 | 0(ただ。売っても 0) | |
| 説明 | description |
所持品の画面とショップで、選んだアイテムの説明として出る文。 | 文字(複数行) | なし(出さない) | |
| 効果(消耗品) | effect |
消耗品を使ったときの効き方(対象・効き方・計算式・状態・属性)。種類が消耗品のときだけ使えます。 | 項目の組(§7.4 の「効果(消耗品)」の表) | なし(使えない) | |
| 使える場面 | scope |
消耗品を使える場面。戦闘のアイテムの一覧とメニューの所持品のどちらで使えるかが決まります。 | battle・field・both。battle 戦闘だけ・field フィールドのメニューだけ・both 両方。 |
both(両方) | |
| 足す能力値(装備) | params |
装備しているあいだ能力値に足す量(武器・防具・装飾品)。 | 項目の組(§7.4 の「足す能力値(装備)」の表) | なし(足さない) | |
| 使ったときのアニメ | animation |
戦闘でこのアイテムを使ったとき、相手に重ねて出すアニメ。 | 素材の ID(種類 animation) |
なし(アニメを出さない) | |
| 装備で付く特徴 | traits |
装備しているあいだ付く特徴。装備の画面に「特徴: 毒にかからない」のように出ます。 | 一覧(1 件は§7.2 の「特徴」の表) | なし | |
| 「たたかう」の属性(武器) | attackElement |
武器のとき、装備した仲間の「たたかう」の属性。仲間の素手の属性より先に使われます。 | 属性の ID | なし(仲間の素手の属性を使う) |
効果(消耗品)(item_effect)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 対象 | target |
アイテムが効く相手。 | enemy・enemies・ally・allies・self。enemy 敵 1 体・enemies 敵全体・ally 味方 1 人・allies 味方全員・self 使った人。 |
なし(必須) | 必須 |
| 効き方 | kind |
アイテムの効き方。ダメージと回復は計算式の値を使い、状態を書けばどれでも状態を付けます。 | damage・heal・state。damage ダメージ(戦闘だけ)・heal HP を回復・state 状態を付ける(フィールドで使うと、その状態を治す。戦闘不能を治すと HP が最大の 1/4 で起き上がる)。 |
なし(必須) | 必須 |
| 計算式 | formula |
ダメージや回復の量を決める式。使う側が a、受ける側が b です。戦闘では振れ 20%がかかり、フィールドでは値そのままです。 | 文字。書き方は技の計算式と同じ(例 50・a.mat * 2)。 | なし(ダメージも回復もしない) | |
| 付ける・治す状態 | state |
戦闘では相手に付ける状態、フィールドで効き方が状態のときは治す状態(毒消しなど)。 | 状態の ID | なし(状態を付けない・治さない) | |
| 属性 | element |
効果の属性。相手の特徴の属性の効きがダメージに掛かります。 | 属性の ID | なし(属性の無い効果) |
「特徴」(trait)の項目は §7.2 の表。
7.5 敵
主な項目: 名前・画像・能力値・経験値・お金・落とす物(確率)・行動(技と条件)・特徴・「たたかう」の属性・図鑑の説明。
図鑑と鑑賞: 倒した敵、戦闘で当てて分かった属性の効き、見た背景、聞いた曲を、作品ごとに覚えます(セーブとは別で、新しく始めても残ります)。タイトルの 図鑑と鑑賞 から見られます。敵に 図鑑の説明 を、背景・ピクチャ・BGM の素材に 鑑賞に載せる(gallery)を付けます。戦闘では、分かった弱点が敵の名前の下に「弱点 火」のように出ます。
db/enemies.json(file:db/enemies)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 敵 | enemies |
敵の一覧。敵の組(戦う相手の並び)から、ここの id で指します。 | 一覧(1 件は§7.5 の「敵」の表) | なし(必須) | 必須 |
敵(enemy)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
敵を指す名前。敵の組・クエストの目標(倒す)がこの id で指します。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
戦闘と図鑑に出る敵の名前。同じ名前の敵が並ぶと A・B・C が付きます。 | 文字 | なし(必須) | 必須 |
| 画像 | image |
戦闘で出す敵の絵(素材の id)。 | 素材の ID(種類 enemy) |
なし(必須) | 必須 |
| 能力値 | params |
敵の能力値。HP・MP はこの値で戦闘を始めます。計算式では敵のレベルは 1 として読みます。 | 項目の組(§7.2 の「能力値(レベル 1)」の表) | なし(必須) | 必須 |
| 経験値 | exp |
倒したときの経験値。勝つと、戦って生き残った仲間それぞれに敵全員の合計が入ります(控えにはシステムの控えの経験値の割合)。 | 0 以上 | 0 | |
| お金 | gold |
倒したときに手に入るお金。勝つと敵全員の合計が入ります。 | 0 以上 | 0 | |
| 落とす物 | drops |
勝ったときに落とす物と確率の一覧。1 つずつ別に確率を引きます。 | 一覧(1 件は§7.5 の「落とす物」の表) | なし(何も落とさない) | |
| 行動 | actions |
敵が使う技と、重み・条件の一覧。毎ターン、条件を満たす行動から重みの割合で 1 つ選びます。 | 一覧(1 件は§7.5 の「行動」の表) | なし(いつも「たたかう」) | |
| 特徴 | traits |
この敵に付いている特徴(弱点の属性・状態にかからない など)。能力値の倍率は敵の能力値に掛けてから戦闘に出ます。 | 一覧(1 件は§7.2 の「特徴」の表) | なし | |
| 「たたかう」の属性 | attackElement |
この敵の「たたかう」の属性。 | 属性の ID | なし(属性の無い攻撃) | |
| 図鑑(§2.11.5) | bestiary |
タイトルの「図鑑と鑑賞」で、倒した敵に出す情報。 | 項目の組(§7.5 の「図鑑(§2.11.5)」の表) | なし(図鑑に説明を出さない) |
図鑑(§2.11.5)(bestiary)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 説明 | description |
図鑑で、倒した敵の能力値・弱点・落とす物と一緒に出す説明の文。 | 文字(複数行) | なし(出さない) |
落とす物(drop)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| アイテム | item |
落とすアイテム。手に入ると「〜を手に入れた」と出ます。 | アイテムの ID | なし(必須) | 必須 |
| 確率(%) | chance |
落とす確率(%)。倒した敵 1 体ごとに引きます。 | 0〜100 | なし(必須) | 必須 |
行動(enemy_action)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 技 | skill |
敵が使う技。MP が足りないときは使えず、そのターンは何もしません。 | 技の ID | なし(必須) | 必須 |
| 重み | weight |
選ばれやすさ。条件を満たす行動の重みの合計に対する割合で選ばれます。 | 1 以上。例 重み 3 と 1 なら 3:1 で選ぶ。 | 1 | |
| 条件(always・hp_below:<%>・turn_every:<n>) | condition |
この行動を選べる条件。 | 文字。always いつでも・hp_below:<%> HP が最大のその割合より少ないとき(例 hp_below:30)・turn_every:<n> n ターンごと(例 turn_every:3)。ほかの書き方は選ばれない。 | always(いつでも) |
「能力値(レベル 1)」(params)の項目は §7.2 の表。
「特徴」(trait)の項目は §7.2 の表。
7.6 敵の組
主な項目: 名前・敵と位置。
戦闘の強さは、CLI の kaede-rpg battle <敵の組> --runs 20 で勝率を確かめられます(§14)。
db/troops.json(file:db/troops)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 敵の組 | troops |
戦闘で一度に出てくる敵の組み合わせの一覧。イベントの戦闘や、マップで出会う敵はここの組を指します。 | 一覧(1 件は§7.6 の「敵の組」の表) | なし(必須) | 必須 |
敵の組(troop)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
敵の組を指す名前。戦闘の命令やマップの出会う敵の設定から、この id で呼びます。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
エディタの一覧などで敵の組を見分けるための名前。 | 文字 | なし(必須) | 必須 |
| 敵 | members |
この組で出てくる敵と、戦闘の画面での位置。1 行に 1 体です。 | 一覧(1 件は§7.6 の「敵」の表) | なし(必須) | 必須 |
| BGM | bgm |
この組との戦闘で流す BGM。システムの戦闘の BGM より先に使います。 | 素材の ID(種類 bgm) |
なし(システムの戦闘の BGM を流す) | |
| 戦闘の背景(床) | background |
この組との戦闘で後ろに描く背景のうち、床の絵。 | 素材の ID(種類 bg) |
なし(床も壁も空なら、戦闘を始めたマップの戦闘の背景を使う) | |
| 戦闘の背景(壁) | background2 |
この組との戦闘で後ろに描く背景のうち、壁の絵。床の絵の上に重ねます。 | 素材の ID(種類 bg) |
なし(床も壁も空なら、戦闘を始めたマップの戦闘の背景を使う) |
敵(troop_member)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 敵 | enemy |
出てくる敵。データベースの敵から選びます。 | 敵の ID | なし(必須) | 必須 |
| X(設計画面 1920×1080) | x |
戦闘の画面で敵を置く横の位置。1920×1080 の設計の画面での座標です。 | 0〜1920。左端が 0。 | 960(画面の横の中央) | |
| Y(設計画面 1920×1080) | y |
戦闘の画面で敵を置く縦の位置。1920×1080 の設計の画面での座標です。 | 0〜1080。上端が 0。 | 500 |
7.7 状態
主な項目: 名前・アイコン(ゲームではまだ出しません)・行動の制限・続くターン(最小と最大)・戦闘の終わりで治るか・毎ターンの HP の増減(%)・能力値の倍率・特徴。
db/states.json(file:db/states)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 状態 | states |
毒・眠りなど、戦闘で仲間や敵にかかる状態の一覧。技やアイテムの効果・特徴から id で指します。 | 一覧(1 件は§7.7 の「状態」の表)。id が dead の状態(戦闘不能)は予約で、書かなければ自動で足されます。 | なし(必須) | 必須 |
状態(state)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
状態を指す名前。技の付ける状態・特徴の状態にかからない・条件式などから、この id で呼びます。 | ID(英小文字で始まり、英小文字・数字・_)。dead は戦闘不能の予約です。 |
なし(必須) | 必須 |
| 名前 | name |
戦闘のメッセージ(「〜には毒が効かなかった」など)や画面に出る状態の名前。 | 文字 | なし(必須) | 必須 |
| アイコン | icon |
この状態を表す小さな絵。素材の UI から選びます。 | 素材の ID(種類 ui) |
なし(出さない) | |
| 行動の制限 | restrict |
この状態の間、行動できなくするかどうか。眠り・麻痺などに使います。 | none・cannot_act。none 制限なし・cannot_act 行動できない。 |
none(行動できる) | |
| 続くターン [最小, 最大] | turns |
状態が続くターン数の最小と最大。かかったときにこの範囲から決まり、ターンの終わりごとに 1 減って 0 で治ります。 | 一覧(1 件は 0 以上)。例 [2, 4]。数を 1 つだけ書くと最小と最大が同じになります。 | [1, 1](1 ターン) | |
| 戦闘の終わりで治る | releaseOnBattleEnd |
戦闘が終わったときにこの状態を治すかどうか。切ると戦闘のあとも残ります。 | はい・いいえ(true・false) |
true(治る) | |
| 毎ターンの HP の増減(%) | slip |
この状態の間、ターンの終わりごとに増減する HP を、最大 HP に対する割合で書きます。毒は負の数です。 | -100〜100。単位は%。例 -10 で毎ターン最大 HP の 10%減る(HP 1 より下げない)。 | 0(増減しない) | |
| 能力値の倍率 | paramRate |
この状態の間、能力値に掛ける倍率。攻撃アップ・防御ダウンなどに使います。 | 項目の組(§7.4 の「足す能力値(装備)」の表)。能力値ごとに倍率を書く。例 {"atk": 1.5} で攻撃 1.5 倍。書かない能力値は 1 倍。 | なし(どの能力値も 1 倍) | |
| 特徴 | traits |
この状態の間に付く特徴(能力値の倍率・属性の効き・状態にかからない・たたかうで状態・毎ターンの HP)。 | 一覧(1 件は§7.2 の「特徴」の表) | なし(特徴なし) |
「足す能力値(装備)」(params_partial)の項目は §7.4 の表。
「特徴」(trait)の項目は §7.2 の表。
7.8 クエスト
主な項目: 名前・説明・目標(変数がその値以上・アイテムをその数持つ・受けてから敵をその数倒す)・報酬(お金・経験値・アイテム)。
クエスト: データベースの クエスト に目標と報酬を書き、イベントの命令 クエスト(quest)で受ける(start)・達成(complete)・失敗(fail)・目標を満たしていれば達成(advance)を指示します。達成で報酬を配り、画面の上にお知らせが出ます。条件式では quest.<id>.state(0 受けていない・1 進行中・2 達成・3 失敗)と quest.<id>.ready(目標を全部満たした)が読めます。プレイヤーはメニューの クエスト で進み具合を見られます。見本では、長老の頼みを引き受けると「ねずみ退治」を受け、王を倒して長老に知らせると達成します。
db/quests.json(file:db/quests)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| クエスト | quests |
クエストの一覧。イベントの命令 クエスト(quest)で受ける・達成・失敗を指示し、プレイヤーはメニューのクエストで進み具合を見ます。 | 一覧(1 件は§7.8 の「クエスト」の表) | なし(必須) | 必須 |
クエスト(quest)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
クエストを指す名前。命令 quest や条件式の quest.<id>.state・quest.<id>.ready から、この id で呼びます。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
メニューのクエストや、受けた・達成したときのお知らせに出るクエストの名前。 | 文字 | なし(必須) | 必須 |
| 説明 | description |
メニューのクエストで、選んだクエストの下に出す説明の文。 | 文字(複数行) | なし(出さない) | |
| 目標 | goals |
達成の目標。全部を満たすと quest.<id>.ready が真になり、命令 quest の advance で達成になります。 | 一覧(1 件は§7.8 の「目標」の表) | なし(目標なし。いつでも満たしている扱い) | |
| 報酬 | rewards |
達成したときに配る報酬(お金・経験値・アイテム)。 | 項目の組(§7.8 の「報酬」の表) | なし(報酬なし) |
目標(quest_goal)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 種類(var 変数・item アイテム・defeat 倒す) | kind |
目標の種類。変数がその値以上か、アイテムをその数持っているか、受けてから敵をその数倒したかで満たします。 | var・item・defeat。var 変数・item アイテム・defeat 倒す。 |
なし(必須) | 必須 |
| 変数(var) | var |
種類が var のときに見る変数。 | 変数の ID | なし(種類が var のときは書く) | |
| アイテム(item) | item |
種類が item のときに数える所持品のアイテム。 | アイテムの ID | なし(種類が item のときは書く) | |
| 敵(defeat) | enemy |
種類が defeat のときに倒した数を数える敵。クエストを受けてから倒した分だけ数えます。 | 敵の ID | なし(種類が defeat のときは書く) | |
| 数(変数はこの値以上) | count |
満たすのに要る数。変数はこの値以上、アイテムはこの数を持つ、敵はこの数倒すと満たします。 | 1 以上 | 1 | |
| 画面に出す文(空なら作る) | text |
メニューのクエストで目標として出す文。 | 文字 | なし(種類と相手から「〜を 3 体倒す」のような文を作る) |
報酬(quest_rewards)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| お金 | gold |
達成したときに渡すお金。 | 0 以上 | 0(渡さない) | |
| 経験値(パーティの全員) | exp |
達成したときに、パーティの全員にそれぞれ渡す経験値。 | 0 以上 | 0(渡さない) | |
| アイテム | items |
達成したときに渡すアイテムとその数。 | 一覧(1 件は§7.10 の「アイテム」の表) | なし(渡さない) |
「アイテム」(item_count)の項目は §7.10 の表。
7.9 合成
主な項目: できる物と数・材料と数・お金。
合成: データベースの 合成 に作り方(材料とできる物)を書き、イベントの命令 合成の画面(craft_screen。作れる作り方を絞ることもできます)を作業台などに置きます。手に入れる道の無い材料があると、検査が知らせます。見本では、村の作業台でねずみの尻尾 2 つから薬草を作れます。
db/recipes.json(file:db/recipes)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 合成の作り方 | recipes |
合成の作り方の一覧。イベントの命令 合成の画面(craft_screen)を置くと、プレイヤーがここの作り方で材料から物を作れます。 | 一覧(1 件は§7.9 の「合成の作り方」の表) | なし(必須) | 必須 |
合成の作り方(recipe)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
作り方を指す名前。命令 合成の画面で作れる作り方を絞るときに、この id で指します。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前(空ならできる物の名前) | name |
合成の画面の一覧に出す作り方の名前。 | 文字 | なし(できる物の名前を出す) | |
| できる物 | result |
作るとできるアイテムとその数。 | 項目の組(§7.10 の「アイテム」の表) | なし(必須) | 必須 |
| 材料 | materials |
作るのに使う材料のアイテムとその数。作ると所持品から減ります。手に入れる道の無い材料があると、検査が知らせます。 | 一覧(1 件は§7.10 の「アイテム」の表) | なし(必須) | 必須 |
| お金 | gold |
作るのにかかるお金。足りないと作れません。 | 0 以上 | 0(かからない) |
「アイテム」(item_count)の項目は §7.10 の表。
7.10 システム
主な項目: お金の単位・戦闘の BGM・勝利の ME(ゲームではまだ鳴らしません)・最初の所持品・逃走の成功率の式・勝ったあとに全回復・勝利の画面(既定は出す)・入手のお知らせ(既定は出す)・既定の文字の音・「たたかう」の既定のアニメ・属性の一覧・戦う人数(パーティの先頭から。既定 4。残りは控え)・控えの経験値(%)・負けたらゲームオーバー(切ると作品全体で負けても続く)。
db/system.json(file:db/system)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| お金の単位 | currency |
戦闘の報酬・お店・クエストの報酬などでお金の数の後ろに付ける単位。 | 文字 | G | |
| 戦闘の BGM | battleBgm |
戦闘で流す BGM。敵の組に BGM があれば、そちらを流します。 | 素材の ID(種類 bgm) |
なし(敵の組にも無ければ流さない) | |
| 勝利の ME | victoryMe |
戦闘に勝ったときに鳴らす ME(短い曲)。 | 素材の ID(種類 me) |
なし(鳴らさない) | |
| 最初の所持品 | initialItems |
ゲームを始めたときに持っているアイテムとその数。 | 一覧(1 件は§7.10 の「アイテム」の表) | なし(何も持たない) | |
| 逃走の成功率の式 | escapeFormula |
戦闘で「逃げる」が成功する確率(%)の式。party.agi(仲間の素早さ)と troop.agi(敵の素早さ)が使えます。 | 文字 | 50 + (party.agi - troop.agi) | |
| 勝ったあとに全回復 | recoverAfterBattle |
戦闘に勝ったあと、仲間の HP と MP を最大まで戻すかどうか。 | はい・いいえ(true・false) |
false(戻さない) | |
| 勝利の画面を出す(既定は出す) | victoryScreen |
戦闘に勝ったときに、経験値・お金・落とした物を並べる勝利の画面を出すかどうか。 | はい・いいえ(true・false) |
true(出す) | |
| 「たたかう」の既定のアニメ | attackAnimation |
「たたかう」で出すアニメの既定。仲間に「たたかう」のアニメがあれば、そちらを使います。 | 素材の ID(種類 animation) |
なし(アニメを出さない) | |
| 入手のお知らせを出す(既定は出す) | notifyGain |
アイテムやお金を手に入れたときに、画面にお知らせを出すかどうか。 | はい・いいえ(true・false) |
true(出す) | |
| 既定の文字の音(キャラに無いとき) | textSound |
会話の文字を出すときに鳴らす効果音の既定。話す人のキャラに文字の音があれば、そちらを使います。 | 項目の組(§8.1 の「文字の音」の表)。asset 効果音・every 何文字ごとに鳴らすか(既定 2)・volume 音量(既定 0.5)。 | なし(キャラにも無ければ鳴らさない) | |
| 属性(技・特徴で使う) | elements |
火・氷など、作品で使う属性の一覧。技やアイテムの効果、武器の「たたかう」、特徴の属性の効きから id で指します。 | 一覧(1 件は§7.10 の「属性(技・特徴で使う)」の表) | なし(属性を使わない) | |
| 負けたらゲームオーバー(false で作品全体が負けても続く。既定 true) | gameOverOnLose |
戦闘に負けたらゲームオーバーにするかどうか。切ると作品全体で、どの戦闘も負けても続きます。 | はい・いいえ(true・false) |
true(ゲームオーバーにする) | |
| 戦う人数(パーティの先頭から。既定 4) | battleMembers |
戦闘に出る人数。パーティの先頭からこの人数が戦い、残りは控えになります。 | 1〜8 | 4 | |
| 控えの経験値(%。既定 0) | reserveExp |
戦闘に出なかった控えの仲間が受け取る経験値を、戦った仲間の経験値に対する割合で書きます。 | 0〜100。単位は%。例 50 で半分。 | 0(受け取らない) |
属性(技・特徴で使う)(element_def)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
属性を指す名前。技やアイテムの効果、特徴の属性の効きから、この id で呼びます。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
戦闘で出る属性の名前。弱点の表示(「弱点 火」)などに使います。 | 文字 | なし(必須) | 必須 |
アイテム(item_count)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| アイテム | item |
対象のアイテム。データベースのアイテムから選びます。 | アイテムの ID | なし(必須) | 必須 |
| 個数 | count |
そのアイテムの個数。 | 1 以上 | なし(必須) | 必須 |
「文字の音」(text_sound)の項目は §8.1 の表。
7.11 サーバー
cloud.json のサーバーの住所(server)・ゲームの id(game)・記録(records)・実績(achievements)。表の つながるか確かめる と、サーバーの定義の書き出しもここにあります。使い方は §15。
cloud.json(file:cloud)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| サーバー | server |
作者が立てたサーバーの設定。住所を入れると、お知らせ・記録の順位・クラウドセーブ・引き継ぎ・遠隔の値の欄が標準の画面に出る。 | 項目の組(§7.11 の「サーバー」の表) | なし(サーバーを使わない。欄は出ず、通信もしない) | |
| ゲームの id(空なら rpg.json の id) | game |
サーバーがこの作品を見分ける id。サーバーの npm run setup -- --game と同じにする。 | ID(英小文字で始まり、英小文字・数字・_) |
rpg.json の id | |
| 記録(順位) | records |
記録の順位に使う記録の定義の一覧。イベントの命令「記録を送る」(record)で送る。 | 一覧(1 件は§7.11 の「記録(順位)」の表) | なし(記録を使わない) | |
| 実績(住所が空でも手元で働く) | achievements |
実績の定義の一覧。イベントの命令で取らせる。サーバーの住所が空でも手元で働き、Steam で出すゲームは Steam の実績へ送る。 | 一覧(1 件は§7.11 の「実績(住所が空でも手元で働く)」の表) | なし(実績を使わない) |
サーバー(cloud_server)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 住所(https:// で始まり末尾の / なし。空ならサーバーを使わない) | url |
サーバーの住所。サーバーを立てたときに出る https://….workers.dev を書く。 | 文字。https:// で始め、末尾に / を付けない(違うと検査 R-REC-03 の error)。 | なし(サーバーを使わない) |
記録(順位)(cloud_record)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
記録の名前。命令「記録を送る」で指し、サーバーの順位もこの名前で分かれる。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
メニューの「記録・順位」に見出しとして出る記録の名前。 | 文字 | id を出す | |
| 名前(英語) | nameEn |
記録の英語の名前。今のゲームの画面は language が en でも name を出す。 | 文字 | なし(使われない) | |
| 種類(time 秒の時間・score 点) | kind |
記録の値が時間か点か。画面の値の書き方と、Steam の順位の表示が替わる。 | time・score。time 秒の時間(時:分:秒で出る)・score 点(整数で出る)。 |
なし(必須) | 必須 |
| よい順(asc 小さいほどよい・desc 大きいほどよい) | order |
どちらの値をよい記録として上に並べるか。 | asc・desc。asc 小さいほどよい(クリアの時間など)・desc 大きいほどよい(点など)。 |
なし(必須) | 必須 |
| 下限 | min |
受け付ける値の下限。サーバーはこれより小さい値を受け取らない。 | 数。max 以下にする(検査 R-REC-03)。 | なし(必須) | 必須 |
| 上限 | max |
受け付ける値の上限。サーバーはこれより大きい値を受け取らない。 | 数。min 以上にする(検査 R-REC-03)。 | なし(必須) | 必須 |
実績(住所が空でも手元で働く)(cloud_achievement)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID(英大文字・数字・_) | id |
実績の名前。イベントの命令で指し、Steam の実績の API 名と同じにする。 | 文字。英大文字・数字・_ で 1〜64 字(違うと検査 R-ACH-03 の error)。 | なし(必須) | 必須 |
| 名前 | name |
実績の画面に出る名前。 | 文字 | なし(必須) | 必須 |
| 名前(英語) | nameEn |
実績の英語の名前。今のゲームの画面は language が en でも name を出す。 | 文字 | なし(使われない) | |
| 説明 | desc |
実績の画面に名前と並んで出る説明(取り方など)。 | 文字 | 空(説明を出さない) | |
| 説明(英語) | descEn |
実績の英語の説明。今のゲームの画面は language が en でも desc を出す。 | 文字 | なし(使われない) | |
| 隠す(取るまで「???」) | hidden |
取るまで実績の画面で名前と説明を「???」にする。 | はい・いいえ(true・false) |
false(初めから見せる) |
8. キャラと素材のタブ
| キャラ | 素材 |
|---|---|
![]() |
![]() |
8.1 キャラ
- キャラ: 名前・顔・表情(名前 → 立ち絵)・既定の表情・歩く絵(画像・コマの幅と高さ・列と行・行の向きの順・歩くコマの順)・文字の音(話すときに何文字ごとに鳴らす効果音と音量)。歩く絵の既定は 3 列 × 4 行(下・左・右・上)。
characters.json(file:characters)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| キャラ | characters |
作品に出るキャラの一覧。会話の話し手・立ち絵・マップを歩く絵は、このキャラで決まる。 | 一覧(1 件は§8.1 の「キャラ」の表) | なし(必須) | 必須 |
キャラ(character)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
キャラの名前(id)。データベースの仲間・イベント・会話の話し手からこの id で指す。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
会話の窓に話し手として出る名前。 | 文字 | なし(必須) | 必須 |
| 顔 | face |
会話の窓に出す顔の素材。台詞で顔を書かないときに使う。 | 素材の ID(種類 face) |
なし(顔を出さない) | |
| 表情(名前 → 立ち絵) | expressions |
表情の名前と立ち絵の素材の対応。立ち絵を出す命令は、表情の名前で立ち絵を選ぶ。 | 鍵 → 値 の組(値は 素材の ID(種類 ch))。例 {"normal": "elder_normal", "smile": "elder_smile"}。 |
なし(立ち絵を出せない) | |
| 既定の表情 | defaultExpression |
立ち絵の命令が表情を書かないときに使う表情の名前。expressions の名前を書く。 | 文字 | なし(表情を書かない命令では立ち絵が決まらない) | |
| 歩行 | walk |
マップを歩くときの絵(歩く絵の画像とコマの並び)。 | 項目の組(§8.1 の「歩行」の表) | なし(マップに描かれない) | |
| 文字の音 | textSound |
このキャラが話すときに、文字送りに合わせて鳴らす効果音。 | 項目の組(§8.1 の「文字の音」の表) | データベースのシステムの既定の文字の音(それも無ければ鳴らさない) |
文字の音(text_sound)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 効果音 | asset |
文字送りで鳴らす効果音の素材。 | 素材の ID(種類 se) |
なし(必須) | 必須 |
| 何文字ごとに鳴らす | every |
何文字ごとに 1 回鳴らすか。 | 1〜10 | 2 | |
| 音量 | volume |
文字の音の音量。 | 0〜1。0 で無音・1 で元の大きさ。 | 0.5 |
歩行(walk)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 歩行の画像 | asset |
歩く絵の画像の素材。向きごとの行と歩くコマの列を並べた 1 枚。 | 素材の ID(種類 walk) |
なし(必須) | 必須 |
| コマの幅 | frameW |
歩く絵の 1 コマの幅。 | 1 以上。px。 | 48 | |
| コマの高さ | frameH |
歩く絵の 1 コマの高さ。 | 1 以上。px。 | 48 | |
| 列 | cols |
歩く絵の画像の列(横のコマ)の数。 | 1 以上 | 3 | |
| 行 | rows |
歩く絵の画像の行(向き)の数。 | 1 以上 | 4 | |
| 行の向きの順 | order |
画像の上の行から順に、どの向きの絵かを書く。 | 一覧(1 件は 文字)。up 上・down 下・left 左・right 右。 | down・left・right・up(下・左・右・上) | |
| 歩くコマの順 | pattern |
歩くときに使う列の順。止まっているときは 2 番目の列を出す。 | 一覧(1 件は 数)。列の番号(左が 0)。 | 0・1・2・1 |
8.2 素材
- 素材: 種類(背景・立ち絵・顔・歩く絵・タイルセットの画像・敵・ピクチャ・BGM・BGS・ME・効果音・ボイス・UI・アニメ)を選んで ファイルを取り込む… を押すと、ファイルを
media/<種類>/へ写して登録します。絵は見本が出ます。BGM はいつも繰り返して鳴ります(ゲームは「繰り返す」の印をまだ読みません)。 - アニメ(素材の種類
animation): コマを横に並べた 1 枚の画像。コマの数・1 行のコマの数・コマの幅と高さ・1 秒のコマ数・描く倍率・始まりの効果音を書きます。技・アイテム・仲間の「たたかう」と、命令animationで使います。
assets.json(file:assets)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 素材 | assets |
作品で使う素材(絵・音)の登録。鍵が素材の id で、マップ・キャラ・データベース・命令はこの id で素材を指す。 | 鍵 → 値 の組(値は §8.2 の「素材」の表) | なし(必須) | 必須 |
素材(asset)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 種類 | kind |
素材の種類。素材を選ぶ欄には、その欄に合う種類の素材だけが並ぶ。 | bg・ch・face・walk・tileset_image・enemy・picture・bgm・bgs・me・se・voice・ui・animation。bg 背景・ch 立ち絵・face 顔・walk 歩く絵・tileset_image タイルセットの画像・enemy 敵・picture ピクチャ・bgm BGM・bgs BGS(環境音)・me ME(短い曲)・se 効果音・voice ボイス・ui UI の絵・animation アニメ。 |
なし(必須) | 必須 |
| ファイル(作品フォルダからの相対) | path |
素材のファイルの場所。作品フォルダからの相対で書く。「ファイルを取り込む…」で入れると media/<種類>/ の下に写して書く。 | 文字。画像は PNG、音は OGG と WAV。 | なし(必須) | 必須 |
| タグ | tags |
素材を整理するための札。ゲームは読まない。 | 一覧(1 件は 文字) | なし(何も起きない) | |
| 繰り返す | loop |
音を繰り返して鳴らす印。BGM に付ける。今のゲームはこの欄を読まず、BGM はいつも繰り返す。 | はい・いいえ(true・false) |
なし(使われない) | |
| 鑑賞に載せる(背景・ピクチャ・BGM・§2.11.5) | gallery |
タイトルの「図鑑と鑑賞」の鑑賞に載せる。背景・ピクチャ・BGM に付け、プレイヤーが見た・聞いたものだけが並ぶ。 | はい・いいえ(true・false) |
false(載せない) | |
| コマの数(animation) | frames |
アニメ(種類 animation)のコマの数。 | 1〜200 | 1 | |
| 1 行のコマの数(animation) | columns |
アニメの画像で、横 1 行に並べたコマの数。コマが多いときは次の行へ続ける。 | 1〜200 | frames と同じ(1 行に全部) | |
| コマの幅(animation) | frameW |
アニメの 1 コマの幅。 | 1 以上。px。 | 192 | |
| コマの高さ(animation) | frameH |
アニメの 1 コマの高さ。 | 1 以上。px。 | 192 | |
| 1 秒のコマ数(animation) | fps |
アニメを 1 秒に何コマ進めるか。 | 1〜60 | 12 | |
| 描く倍率(animation) | scale |
アニメを描くときの倍率。 | 0.1〜8 | 1 | |
| 始まりの効果音(animation) | se |
アニメの始まりに鳴らす効果音の素材。 | 素材の ID(種類 se) |
なし(鳴らさない) |
8.3 タイルセット
- タイルセット: 画像・列の数・タイルごとの設定(通行
o通れる・x通れない・star上に描く)。- オートタイル(
autotiles): 画像の中に、1 種類につき横に 5 枚の帯を描きます。左から「島(四隅が外の角)」「横に続く(上下が縁)」「縦に続く(左右が縁)」「内の角(四隅だけ外が見える)」「中(全部同じ)」。ツールは 1 マスを 4 つに分け、隣に合わせてこの 5 枚から切り貼りします。帯の左上のマス(colrow)・通行・つながり方(floor地面と水/wall壁と屋根=内の角を使わない)を書きます。アニメは帯を下へコマの数だけ並べ、frames(コマ数)とfps(速さ)を書きます。マップのマスには10000+番号が入ります。見本のmedia/tiles/field.pngの 2 行目(道)と 3〜5 行目(水の 3 コマ)が例です。
- オートタイル(
tilesets/<id>.json(file:tileset)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
タイルセットの id。マップのタイルセットの欄からこの名前で指す。ファイル名 tilesets/<id>.json の <id> と同じにする(ゲームはファイル名で探す)。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 名前 | name |
タイルセットの名前。人が見分けるためのもので、ゲームには出ない。 | 文字 | なし(何も起きない) | |
| 画像 | image |
タイルを並べた画像の素材(種類 tileset_image)。 | 素材の ID(種類 tileset_image) |
なし(必須) | 必須 |
| タイルの幅 | tileWidth |
1 枚のタイルの幅。タイルは 48×48px だけを使う。 | 48〜48。px。 | 48 | |
| タイルの高さ | tileHeight |
1 枚のタイルの高さ。タイルは 48×48px だけを使う。 | 48〜48。px。 | 48 | |
| 列の数 | columns |
画像の横に並んだタイルの数。タイルの番号は左上から右へ数え、この数で次の行へ進む。 | 1 以上 | なし(必須) | 必須 |
| タイルの設定(番号 → 設定) | tiles |
タイルごとの設定(通行・入れない方向・名前)。鍵はタイルの番号。 | 鍵 → 値 の組(値は §8.3 の「タイルの設定(番号 → 設定)」の表)。鍵は 0 から始まる整数の番号。 | なし(全部のタイルが通れる) | |
| オートタイル(マップには 10000+番号で書く) | autotiles |
オートタイルの一覧。塗ると隣のマスに合わせて縁が自動でつながる。マップのマスには 10000+一覧の番号が入る。 | 一覧(1 件は§8.3 の「オートタイル(マップには 10000+番号で書く)」の表)。1 種類につき、画像に横 5 枚の帯(島・横に続く・縦に続く・内の角・中)を描く。 | なし(オートタイルを使わない) |
オートタイル(マップには 10000+番号で書く)(autotile)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 名前 | name |
オートタイルの名前。人が見分けるためのもので、ゲームには出ない。 | 文字 | 空 | |
| 帯の左上の列(タイル) | col |
画像の中の、5 枚の帯の左上のタイルの列。 | 0 以上。タイル単位(左が 0)。 | なし(必須) | 必須 |
| 帯の左上の行(タイル) | row |
画像の中の、5 枚の帯の左上のタイルの行。 | 0 以上。タイル単位(上が 0)。 | なし(必須) | 必須 |
| アニメのコマ数(帯を下へ) | frames |
アニメのコマ数。水のように動かすときは、帯を下へコマの数だけ並べて描く。エディタでは 1 コマ目を出す。 | 1〜8 | 1(動かない) | |
| アニメの速さ(コマ/秒) | fps |
アニメの速さ(1 秒に進むコマの数)。 | 0.1〜60 | 4 | |
| つながり方(floor 面・wall 壁と屋根) | style |
縁のつながり方。 | floor・wall。floor 地面と水・wall 壁と屋根(内の角を使わない)。 |
floor | |
| 通行 | pass |
このオートタイルのマスを通れるか。 | o・x・star。o 通れる・x 通れない・star 通れてキャラの上に描く(下の層の通行で決まる)。 |
o(通れる) | |
| 入れない方向(u d l r) | dir4 |
このマスに入れない辺。書いた辺の側からは入れない。 | 文字。u 上・d 下・l 左・r 右を並べる(例 ud)。u は上の辺から入れない=下へ歩いて入れない。 | 空(どの向きからも入れる) |
タイルの設定(番号 → 設定)(tile)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 通行 | pass |
このタイルのマスを通れるか。マップのタブの通行で、マスごとに上書きできる。 | o・x・star。o 通れる・x 通れない・star 通れてキャラの上に描く(下の層の通行で決まる)。 |
o(通れる) | |
| 入れない方向(u d l r) | dir4 |
このタイルのマスに入れない辺。書いた辺の側からは入れない。 | 文字。u 上・d 下・l 左・r 右を並べる(例 ud)。u は上の辺から入れない=下へ歩いて入れない。 | 空(どの向きからも入れる) | |
| 名前 | label |
タイルの名前。人が見分けるためのもので、ゲームには出ない。 | 文字 | なし(何も起きない) |
9. 変数のタブ

変数の一覧と、選んだ変数の型(真偽・数・文字)・範囲(全体/自分のフラグ)・初期値・説明。自分のフラグはイベントごとに別の値です。a b c d の 4 つは組み込みで、登録しなくてもどのイベントでも使えます(既定は false)。名前を付けたいときは範囲を「自分のフラグ」にして 1 つ登録すれば、同じ名前(例 done)をどのイベントでも使い回せます(宝箱ごとに登録しなくてよい)。右下に、その変数を読む場所・書く場所が並び、クリックするとその命令へ飛びます。
vars.json(file:vars)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 変数 | vars |
作品で使う変数(フラグ・数・文字)の一覧。イベントの条件・分岐・式から名前で読み書きする。 | 一覧(1 件は§9 の「変数」の表) | なし(必須) | 必須 |
変数(var)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| ID | id |
変数の名前。条件・分岐・式でこの名前で読み書きする。 | ID(英小文字で始まり、英小文字・数字・_) |
なし(必須) | 必須 |
| 型 | type |
変数が持つ値の型。 | bool・number・string。bool 真偽(フラグ)・number 数・string 文字。 |
なし(必須) | 必須 |
| 範囲 | scope |
変数が作品全体で 1 つか、イベントごとに別の値を持つ自分のフラグか。自分のフラグを 1 つ登録すれば、同じ名前をどのイベントでも使い回せる。 | global・self。global 全体・self 自分のフラグ(イベントごと)。a b c d の 4 つの自分のフラグは登録しなくても使える。 |
global | |
| 初期値 | initial |
ゲームを始めたときの値。型に合う値を書く。 | 文字・数・真偽 | 型の空の値(bool は false・number は 0・string は空) | |
| 説明 | note |
その変数が何のためにあるかのメモ。ゲームには出ない。 | 文字 | なし(何も起きない) | |
| 外から変わる(サーバーの遠隔の値) | external |
サーバーの遠隔の値で外から変わる変数にする。作品の中では読めるが書けず(検査 R-EXT-01)、セーブにも入らない。自分のフラグには付けられない(R-EXT-02)。 | はい・いいえ(true・false) |
false(ふつうの変数) | |
| 取りうる値(外から変わる変数) | values |
外から変わる変数が取りうる値の一覧。サーバーはこの外の値を受け取らず、play --var-matrix はこの組を全部回す。 | 一覧(1 件は 文字・数・真偽)。1〜16 個。初期値を含め、型に合う値を書く。 | なし(外から変わる変数では検査 R-EXT-03 の error) |
10. 画面のタブ

ゲームの画面(タイトル・メニュー・会話の窓・選択肢・戦闘の窓・マップの HUD など)を、JSON を書かずに、絵を見ながら直すタブです。直した画面は作品の ui/<画面>.json に保存され、製品の既定の画面より先に使われます(製品の既定そのものは直しません)。何も直さなければ製品の既定の画面のままで、見た目はテーマ(下)で替えられます。
見ながら直す
| 場所 | 中身 |
|---|---|
| 左の上 | 画面の一覧。● は作品で直したもの。テーマごとの形の差し替え(menu.crystal など)も並びます |
| 左の下 | 部品の木(画面の JSON の入れ子そのまま)。薄い行は、いまの見本の状態では出ていない部品(条件で消えている) |
| 中央 | プレビュー(ゲームと同じ描き方)。上の段に 見本・テーマ・編集/操作・↶・↷・初期状態に戻す・保存、下に部品を動かすボタンと診断 |
| 右 | 選んだ部品の欄(大きさと位置・入れ物・見た目・文字・画像・表示・動作・一覧・名前)と、いちばん下に 詳細(その部品の JSON) |
- 左で画面を選びます(例: メニュー)。
- プレビューの上で部品を押すと選びます(押した所のいちばん小さい部品。同じ所をもう一度押すと 1 つ外側の部品)。木で押しても同じです。一覧(仲間の一覧など)の行を押すと、その 1 件分の型を選び、直すと全部の行に効きます。
- 右の欄で直します。色は空にするとテーマの色に任せます。表示する値(所持金・名前など)・表示条件(顔の絵があるとき、など)・押したときの動作 は、その画面でゲームが渡す値・受ける動作の一覧から選びます(一覧の正は製品の目録
Resources/Rpg/ui/catalog.json)。欄に無い鍵は 詳細 の JSON で直せます。 - 保存 で作品の
ui/に書きます。書く前に診断し、error(ゲームが受けない動作・閉じる手段が無いなど)があれば書きません。診断の件数と最初の 1 件はプレビューの下に出ます。
- 製品の既定の画面を開いて直すと、最初の操作でその画面が作品へ写ります(上の 製品の既定の画面を作品へ写す は、まとめて写したいときだけ使います)。
- 編集/操作: 編集は、押すと部品を選びます。操作は、押すとボタンが押された扱いになり、押した動作の名前を下に出すだけです(ゲームは進みません)。
- ↶・↷(Ctrl+Z・Ctrl+Y)は、1 回の操作(欄 1 つ・ドラッグ 1 回・足す・消す・初期状態に戻す)ずつ戻る・進む。
ドラッグで動かす

- 縦・横に並べる入れ物(と格子・Modal)の中: ドラッグで 並び順 を入れ替えます(落とす所に線が出ます)。右端・下端のつまみで幅・高さ。位置は入れ物が決めるので、x・y の欄は出ません。
- 板(Panel)の中と、いちばん外の部品: ドラッグで 位置 を動かします。4 px ごとに吸着し、Shift を押している間は 1 px ずつ。画面の外へは出ません。四隅と四辺のつまみで大きさ。
- ドラッグ中は右の欄の x・y・w・h が追いかけます。離したところで 1 回の操作です。
- プレビューの下の 上へ・下へ(同じ入れ物の中で 1 つ前・後ろへ)・入れ物へ移す ▾(別の入れ物の末尾へ。所持金の行を右の列へ、など)でも動かせます。
部品を足す・消す
- 部品を足す ▾ で種類(文字・画像・ボタン・板・縦に並べる・横に並べる・区切り線・ゲージ)を選びます。選んでいる部品が入れ物ならその中の末尾に、それ以外ならその後ろに入ります。足した文字には右の欄の 表示する値 で所持金などを、ボタンには 押したときの動作 を選びます。
- 消す で、選んでいる部品を中ごと消します。いちばん外の部品は消せません。
- ゲームが渡さない新しい値(好感度など)と、新しい画面を作ることはまだできません(§16)。
見本の状態

プレビューはゲームを起動せず、見本の値で描きます。上の段の 見本 で状態を切り替え、はみ出し・重なり・切れが無いかを見ます。
| 見本 | 中身 |
|---|---|
| ふつう(仲間 2 人) | 既定 |
| 仲間 1 人・仲間 4 人 | 仲間の一覧の行の数 |
| 長い名前・7 桁の所持金 | 仲間 4 人の長い名前と、所持金 9999999 |
| 顔の絵なし | 顔の絵の無い仲間(顔の部品は条件で消えます) |
テーマ の欄は、プレビューの色と書体だけを替えます(作品の rpg.json の uiTheme は変えません)。
初期状態に戻す
- 初期状態に戻す で、開いている画面を製品の既定の中身に戻します(↶ で取り消せます)。保存すると、作品の
ui/<画面>.jsonが既定と同じ中身になります。 - 作品の画面をやめて製品の既定に戻したいときは、作品の
ui/<画面>.jsonを消します。
テストプレイと AI
- テストプレイの窓を開いたまま保存すると、窓のゲームがすぐ画面を読み直します(出している画面・会話と戦闘の窓・マップの HUD)。
- AI や CLI が作品の
ui/*.jsonを書き換えたときも、1 秒ごとの見張り(§3 の「外での書き換え」)が見つけて、画面のタブとテストプレイの窓が読み直します。 - CLI では同じ画面を
show ui:menu・set ui:menu#/root/children/0/h 56のように直せます(場所はui:<画面>#<JSON Pointer>)。checkは画面の診断(R-UI-*)も出します。
ゲーム画面のテーマ: 窓の色・枠・角の丸み・書体・飾り・選んだ項目の見せ方、テーマによっては会話・戦闘・メニュー・タイトルの配置までまとめて替えます。データベースのタブの作品の設定(rpg.json)の 画面のテーマ(uiTheme)に名前を書きます。製品には 12 の系統と、そのうち 10 の系統の色違い 20 があります(全部で 32)。
| テーマ | 見た目 |
|---|---|
fantasy(ファンタジー・既定) |
金の二重枠と四隅の飾り・明朝体 |
modern(モダン) |
丸い角と細い枠・すりガラス・ゴシック体 |
crystal(クリスタル) |
青い濃淡の窓・立体の縁・手のカーソル・黄色の選択文字 |
legend(レジェンド) |
黒い透ける窓・白い太い角丸枠・広い字間・上に並ぶ仲間の窓 |
cinematic(シネマ) |
窓を描かない映画の画面・端で消える帯・菱形の区切り線・尖った板・大小の数字 |
filigree(フィリグリー) |
唐草の絵の枠・赤いリボン・縁取りの文字・紙の吹き出し |
voyage(ボヤージュ) |
紺の板と角の飾り・青い濃淡の選択帯・手のカーソル・濃淡のゲージ |
heraldry(ヘラルドリー) |
金の紋章の輪・右へ消える帯・旗の札・尖ったゲージ・明朝体 |
rebel(レベル) |
赤・黒・白・斜めの板・ギザギザの吹き出し・傾いた名札 |
sketch(スケッチ) |
白黒・手書き風の書体・指のカーソル・顔の札と ♥ ◆ のゲージ |
dust(ダスト) |
乾いた色・ドットの書体・角の丸い白枠・下に並ぶ仲間の窓・滲ませない絵 |
dread(ドレッド) |
暗い探索・細い枠・赤い Body のゲージ・明朝体 |
fantasy |
modern |
crystal |
|---|---|---|
![]() |
![]() |
![]() |
legend |
filigree |
voyage |
![]() |
![]() |
![]() |
heraldry |
sketch |
dust |
![]() |
![]() |
![]() |
dread |
cinematic |
rebel |
![]() |
![]() |
![]() |
- 自分のテーマは、作品の
themes/<名前>.jsonに置きます(製品のResources/Rpg/themes/fantasy.jsonを写して直すのが早道)。色 11 個のほか、radius(角の丸み)・border(枠の太さ)・frame(double二重線・ornate飾り付き)・shadow(窓の影)・gradient(地の濃淡)・bevel(上端の光る線)・textShadow(文字の影)・cursorBar(選んだ行の印の帯)・font(mincho・gothic・hand手書き風・dotドット)・pixelArt(絵を滲ませない)を書けます。 - 色違い:
fantasymoderncrystallegendfiligreevoyageheraldrysketchdustdreadには色違いが 2 つずつあります。uiThemeにcrystal-jadeのように書きます。形は系統と同じで、色だけ替わります。
| 系統 | 色 2 | 色 3 | 見本 |
|---|---|---|---|
fantasy |
fantasy-parchment |
fantasy-forest |
parchment · forest |
modern |
modern-light |
modern-ink |
light · ink |
crystal |
crystal-jade |
crystal-amber |
jade · amber |
legend |
legend-navy |
legend-moss |
navy · moss |
filigree |
filigree-wine |
filigree-moss |
wine · moss |
voyage |
voyage-sunset |
voyage-night |
sunset · night |
heraldry |
heraldry-crimson |
heraldry-azure |
crimson · azure |
sketch |
sketch-cream |
sketch-blue |
cream · blue |
dust |
dust-wasteland |
dust-olive |
wasteland · olive |
dread |
dread-rust |
dread-frost |
rust · frost |
- 自分の色違いは、作品の
themes/<名前>.jsonに"base": "<系統>"と替えたい色だけを書きます。テーマのレイアウトの中の色は"$accent"や"$label"のように名前で書いてあり、テーマの色とpaletteの色が入ります。 - 画面ごとに形だけ替えたいときは、
ui/<画面>.<名前>.jsonを作り、rpg.jsonのuiLayoutsに{"message": "<名前>"}のように書きます。 - 各テーマの全部の場面(タイトル・マップ・会話・戦闘・メニューと各画面の 15 枚)は
images/kaede-rpg/themes/<テーマ>/に、色違いはimages/kaede-rpg/themes/<系統>/<色>/にあります。 - 窓の描き方の鍵(濃淡・形・立体の縁・絵の枠・縁取り・字間・回す・ぼかし・点滅など)は、画面の JSON の部品にも書けます(一覧は MomijiUI の説明書)。
- エディタの色(上の Kaede Dark・Kaede Light)とは別のものです。
入力の画面: 命令 input_name・input_number・input_item(§5)が開く画面は ui/input_name.json・ui/input_number.json・ui/input_item.json です。名前は文字欄(MomijiUI の TextInput。開くとすぐ打てる・Enter で決定)、数は桁ごとの ▲▼、アイテムは持っている物の一覧です。ほかの画面と同じく作品の ui/ に写して形を変えられます(渡す値と action は目録 catalog.json)。
画面の文言: 既定の画面の決まった文言は、文字を直に書かず "text": "{t_items}" のように文言の表の鍵で書いてあります(§2 の「作品の言語」で日本語と英語が替わる)。作品の ui/ に写した画面でも同じ鍵が使えます。言語で替えたくない文は、直に "text": "持ち物" と書きます。鍵の文の中の {gold} のような差し込みは、その画面の値で置き換わります。
テーマを配る・取り込む
作ったテーマ(色・形・絵)とその画面の形を 1 つの zip にして、別の作品に入れられます。上の段の ライセンス・テーマを書き出す…・取り込む… を使います。
- 書き出す: 上の段の テーマ で書き出すテーマを選び、ライセンス の欄を書きます(
own=自作・cc0・cc-byか、条件を文で)。テーマを書き出す… を押して zip の置き場を選びます。ライセンスが空なら書き出しません。ほかの制作ツールの素材や他人の素材は入れないでください。保存していない変更があるときは、先に 保存 します。 - 取り込む: 別の作品を開き、取り込む… で zip を選びます。テーマは作品の
themes/に、画面の形はui/に入り、プレビューのテーマがそれになります。ゲームで使うには、rpg.jsonのuiTheme(データベースのタブの作品の設定)をその名前にします(取り込みでは変えません)。
- zip に入るもの:
share.json(束の説明: 種類・名前・作者・版・ライセンス・中身の一覧・取り込む側に要るもの)と、files/の下のthemes/<名前>.json・themes/<名前>/の絵と書体・テーマの画面の形ui/<画面>.<名前>.json。作品に無い製品のテーマ(fantasy・crystalなど)は製品のものを入れます。baseの系統が製品にしか無いときは束に入れず、「取り込む側に要るもの」(requires)に書きます。 - 作品に同じ名前のテーマや画面の形があると、そのままでは入れず、名前を変えて入れるか を聞きます。はいなら
<名前>_<4 字の印>(例crystal_1a2b)で入れ、テーマの中のid・base・layoutsも新しい名前に直します。 - 束に入れられるのは
themes/とui/の JSON・絵(PNG・JPG)・書体(TTF・OTF)だけです。ほかのファイルが入った束や、ライセンスの無い束は取り込みません。 - 取り込んだ束の名前・版・作者・ライセンスは、作品の
share-log.jsonに残ります(クレジットを書くときに見ます)。取り込みは ↶ で戻せません(作品を読み直すので、それまでの ↶ の履歴も消えます)。戻すときは、share-log.jsonのfilesに書いたファイルを消します。 - 同じことは CLI の
share pack theme・share import(§14)でもできます。いま配れるのはテーマと画面の形だけです(§16)。
share-log.json(file:share-log)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 取り込んだ束 | imports |
取り込んだ部品の束の出どころの記録。取り込むたびに 1 件足される。クレジットを書くとき・取り込みを戻すときに見る。 | 一覧(1 件は§10 の「取り込んだ束」の表) | なし(取り込んでいない) |
取り込んだ束(share_import)
| 項目 | 鍵 | 何を書くか | 取りうる値 | 既定 | 必須 |
|---|---|---|---|---|---|
| 部品の名前(名前を変えて入れたら変えたあと) | id |
取り込んだ部品(テーマ)の名前。名前を変えて入れたときは、変えたあとの名前。 | 文字 | なし(必須) | 必須 |
| 部品の種類 | kind |
取り込んだ部品の種類。いま配れるのはテーマ(とその画面の形)だけ。 | theme。theme テーマ。 |
なし(必須) | 必須 |
| 束の名前 | name |
束の share.json に書かれていた束の名前。 | 文字 | 空 | |
| 束の版 | version |
束の share.json に書かれていた版。 | 文字 | 空 | |
| 作った人 | author |
束の share.json に書かれていた作った人。クレジットに使う。 | 文字 | 空 | |
| ライセンス | license |
束のライセンス。ライセンスの無い束は取り込まないので、必ず入る。 | 文字。own 自作・cc0・cc-by か、条件を書いた文。 | なし(必須) | 必須 |
| 書いたファイル | files |
取り込みで作品に書いたファイルの一覧。取り込みを戻すときは、ここに書かれたファイルを消す。 | 一覧(1 件は 文字) | 空 | |
| 変えた名前(theme:<元>・layout:<元> → 新しい名前) | renamed |
同じ名前があって名前を変えて入れたときの、元の名前と新しい名前の対応。 | 鍵 → 値 の組(値は 文字)。鍵は theme:<元> か layout:<元>、値は新しい名前(例 crystal_1a2b)。 | なし(名前を変えていない) |
11. 検査のタブ(詰まない検査)

指摘の一覧です(error は赤、warning は黄)。行をダブルクリックすると、その場所(マップ・イベントの命令・データベースの行・変数)を開きます。CLI の kaede-rpg check と同じ結果です。
| 規則 | 見つけるもの |
|---|---|
| F 系・R-REF | 必須の項目・書き方・無い素材や変数を指している |
| R-VAR | 登録していない名前・書くだけで読まない変数 |
| R-MAP | 開始位置や移動先から歩いて行けないイベント・出口の無いマップ |
| R-EV | 満たせない出現条件・使われないページ・終わらない自動のページ・並列で使えない命令 |
| R-FLOW | 行き先の無いラベル・届かない命令・呼び出しの輪 |
| R-DB | ダメージが 0 にしかならない・最初の戦闘に勝てない(20 回の試算) |
| R-GOAL | 開始位置が無い・エンディングの印が無い・エンディングがどこからも呼ばれない |
| R-TEXT | 文中の差し込みの知らない名前・credits の命令があるのに credits.txt が無い |
12. ゲームの操作(プレイヤー向け)
| 操作 | キーボード | ゲームパッド |
|---|---|---|
| 移動 | 矢印・WASD | 十字キー・左スティック |
| ダッシュ | Shift(押している間) | RB |
| 決定・話しかける・文を送る | Enter・Space・Z | A |
| 取り消し・メニュー | Esc・X | B |
| 既読スキップ(押している間) | Ctrl | LB |
| バックログ | Page Up・マウスのホイールを上へ | — |
| 全画タブの切り替え | Alt+Enter | — |
- マウスも使えます。タイトルやメニューでは、項目にマウスを乗せるとそこが選ばれ(選んでいる印はいつも 1 つ)、クリックで決まります。会話はクリックで送れます。
| メニュー | 所持品 | 装備 |
|---|---|---|
![]() |
![]() |
![]() |
| 状態 | セーブ | 設定 |
|---|---|---|
![]() |
![]() |
![]() |
- メニュー(フィールドで Esc): 所持品・技・装備・状態・セーブ・設定・タイトルへ。
- セーブ/ロード: 20 枠と、マップを移ったときのオート。
- 設定: 全体・BGM・効果音・ボイスの音量、文字の速さ、オートの待ち、窓の濃さ、オート、未読もスキップ、文字の音、全画面、窓の大きさ(1280×720・1920×1080・2560×1440)。
- 図鑑と鑑賞(タイトル): 倒した敵(弱点・落とす物)と、見た場面・聞いた曲。
- 並び替え(メニュー): 2 人を順に選ぶと入れ替わります。戦うのは先頭から決まった人数で、残りは控えです。
- クエスト(メニュー): 受けているクエストと、目標の進み具合。
- 戦闘: たたかう・技・アイテム・防御・逃げる(逃げられない戦闘もあります)・おまかせ(その仲間の行動を決めてもらう: HP が減った仲間がいれば回復、敵の弱点の技があればそれ、なければ一番弱った敵を攻撃)。

13. 生成 AI と一緒に作る
はじめに: Claude Code(Anthropic)か Codex(OpenAI)を、それぞれの公式の案内のとおりに入れます。どちらも使うには各社の契約(有料のプランか API の利用料)が要ります。入れたら、Windows の PowerShell を開き(スタートメニューで「PowerShell」と打つ)、cd で作品フォルダへ移り、claude(Codex は codex)と打って起動します。
作品フォルダで Claude Code(または Codex)を起動して、作りたいものを頼みます。AI は次を読んで、CLI で作品を直します。
CLAUDE.md(Codex はAGENTS.md): 作品フォルダの決まりと、守ること.claude/skills/のスキル 6 本: マップを作る・イベントを足す・データベース・物語・検査・遊んで確かめる.claude/settings.json: ファイルを書くたびに形の検査をし、error があれば AI に知らせる
頼み方の例: 「村と洞窟とボス 1 体の短い RPG を作って。最後まで遊べることを play で確かめて」。
長い会話は、AI が story/<章>/<話>.ks に KS(§6.1)で書きます。JSON の命令の木を 1 つずつ足すより短く、読み返しやすい形です。書いたあとは今までどおり kaede-rpg check --json で検査します。
「長老の台詞を全部やさしい口調に」のように、作品のあちこちにあるものを直す頼みでは、AI はまず kaede-rpg search 長老 --json で場所を探し(CLAUDE.md にそう書いてあります)、見つかった場所を 1 つずつ set で直します。作者がエディタで同じ場所を見るには、上の段の 探す の欄(§3)で同じ文字を探します。
仲間・技・アイテム・敵・敵の組・状態の値(値段・能力値・名前など)を一覧で見比べて直すときは、表計算(Excel・Google スプレッドシートなど)が使えます。kaede-rpg db export-csv items --out items.csv で CSV に書き出し、表計算で直して保存し、kaede-rpg db import-csv items items.csv で戻します(形は §14)。戻すと検査(check)の結果が出ます。AI に「アイテムの値段を全部 2 割上げて」と頼むときも、AI は同じ CSV を使えます(CLAUDE.md にそう書いてあります)。
AI が直したファイルは、エディタが自動で読み直します(未保存の変更が無いとき)。AI が途中で出す CLI の出力(検査の規則の名前・play の JSON の行)は AI が読むものです。作者は、エディタの検査のタブとテストプレイで確かめれば足ります。
14. CLI(kaede-rpg.exe)
CLI はコマンドラインツール(Command Line Interface)のことです。エディタのボタンを押す代わりに、Windows の PowerShell に kaede-rpg check のように命令を打って、作品を検査したり直したり遊んだりします。PowerShell は、スタートメニューで「PowerShell」と打って開きます(コマンドプロンプトでも同じように使えます)。開いたら cd で作品フォルダへ移ってから打ちます。エディタと同じ作品フォルダを同じ規則で読み書きするので、どちらで直しても同じ結果になり、生成 AI(§13)もこれを使います。プラグインの ThirdParty/Win64/kaede-rpg.exe が組み立て済みで、ソース(Tools/KaedeRpgCli/)と組み立ての脚本(Build-KaedeRpgCli.bat)も入っています。
作品フォルダで実行するか、--work <フォルダ> を付けます。--json で結果を JSON にします。終了コードは 0=合格・1=指摘あり・2=使い方の誤り・3=内部の誤り(ツールの不具合)。
| コマンド | 何をする |
|---|---|
new <フォルダ> [--language ja|en] |
作品フォルダを作る(AI 用の雛形も)。--language en で英語の画面の作品(§2 の「作品の言語」) |
validate |
形と参照の検査 |
check |
詰まない検査まで |
list <種類> |
一覧(maps events commons stories tilesets vars assets characters db:<種類>。stories は形式 format も) |
show <場所> |
中身を見る。show story:<章>/<話> --ks は話を KS(§6.1)で見る |
set <場所> <JSON>・add <親> <JSON>・remove <場所>・move <場所> <番号> |
直す |
add <親> --id <id> |
JSON を書かずに、エディタの「足す」と同じ初めの中身で足す(親は db:<種類> vars assets characters tilesets commons story:<章>/<話>) |
set story:<章>/<話> --ks @<ファイル.ks> |
話を KS で丸ごと置き換える(読めない行があれば指摘を出して変えない) |
add stories '{"story":"<章>/<話>","format":"ks", …}' |
新しい話を .ks で作る |
story to-ks <章>/<話>・story to-json <章>/<話> |
話の形式を切り替える(.ks ⇔ .json) |
refs <場所> |
変数・アイテムなどを読む場所・書く場所 |
search <文字> [--in <範囲>] |
作品全体から探す(台詞・名前・変数の名前・id。英字の大文字小文字は区別しない・§2 の「作品の中を探す」)。1 件ごとに場所 where(検査と同じ書き方で、そのまま show・set に使える。.ks の話は story:<章>/<話>#L<行>)・項目の名前 field・前後の文 text・ファイル file。--in は maps・commons・stories・db・vars・characters を , でつなぐ(例 --in maps,stories)。無ければ 0 件で終了コード 0・知らない範囲は 2 |
play --input <ファイル> [--seed <数>] |
画面なしで遊ぶ(入力の列と expect で確かめる)。--seed は乱数の種(0〜4294967295。入力の列のファイルの "seed" より優先)。同じ種・同じ入力なら、戦闘もエンカウントも毎回同じ結果 |
play --input <ファイル> --var <名前>=<値> |
外から変わる変数(§15)に値を入れてから遊ぶ(何度でも書ける)。外から変わる変数でない・取りうる値の外なら終了コード 2 |
play --var-matrix --input <ファイル> |
外から変わる変数の値の組を全部(64 組まで)、1 組ずつ通しで回す。1 組でも外れれば終了コード 1 |
cloud-defs --out <ファイル> |
サーバーに送る定義(記録と外から変わる変数)を作る(§15。通信しない) |
battle <敵の組> [--runs N] [--level L] [--seed <数>] |
戦闘だけを全員「たたかう」で試す(--runs で勝率)。--seed で乱数の種を決めると、同じ結果を何度でも出せる |
map show <マップ>・map paint … |
マップを文字で見る・塗る |
share pack theme <名前> --out <zip> --license <ライセンス> |
テーマを束(zip)にする(§10 の「テーマを配る・取り込む」)。--license(own・cc0・cc-by か文)が無ければ断る。--name・--author・--version・--description も書ける |
share import <zip> [--into <作品>] [--rename] |
束を取り込む。同じ名前があれば断る(指摘 SHARE-ID-01・終了コード 1)。--rename で <名前>_<印> にして入れ、参照も直す |
db export-csv <種類> --out <ファイル> |
データベースを CSV に書き出す(種類: actors・skills・items・enemies・troops・states)。1 行目は項目の鍵(定義表の順。鍵の集まりは schema --kind <種類> と同じ)、2 行目は項目の名前(language: en の作品は英語)、3 行目から 1 件 1 行。入れ子の項目(効果・特徴・落とす物・能力値など)は JSON の文字(例 {"atk":4})で 1 セル。無い項目は空のセル。BOM つき UTF-8・改行は CRLF(Excel でそのまま開けます) |
db import-csv <種類> <ファイル> |
CSV を取り込む。id の列で突き合わせ、ある id は CSV にある列の項目だけ変え(空のセルはその項目を消す)、無い id は末尾に足します。CSV に無い列の項目と、CSV に無い id は変えません(列は id と直したい列だけでもよく、2 行目の名前の行は消してもかまいません)。1 行目に知らない鍵がある・数の欄が数でない・入れ子が JSON でない・同じ id が 2 度、のどれかなら何も変えず終了コード 2。取り込んだら check を回して結果を出します(error があれば終了コード 1)。ツクールの CSV の形は読みません |
schema [--out <フォルダ>] |
JSON Schema |
sync-agents |
CLAUDE.md を AGENTS.md へ写す |
help |
全部の使い方 |
場所の書き方: map:village/event:elder/page:0/block:t1・db:actors/hero・var:met_elder・story:01_main/01_opening。命令の id(block: の後ろ。add で足すと text_1 のように付きます)はファイルごとに振られ、別のファイルにも同じ id があります。命令を指すときは、マップ・イベント・ページか話から書きます。末尾に #/<項目> で中の項目(例 rpg#/start/x)。まだ無い「勝ったとき」(#/winBlocks)や出現条件(#/conditions)にも、そのまま add で足せます。add <イベント> '{}' で足したページは、前のページの見た目・高さ・起動を受け継ぎます(命令と出現条件は空)。
乱数の種(seed): ゲームの中で運で決まるもの(ダメージの振れ・命中・敵の行動・ランダムエンカウント・落とす物)は、全部 1 つの乱数の列から引きます。種はその列の出発点になる数で、同じ種なら乱数の列が同じになり、同じ入力で同じ結果になります。入力の列のファイルの "seed"(見本の tests/clear.json は 42)か、play・battle の --seed で決めます。入力の列を書くときは種を 1 つ決めて書いておくと、あとで何度回しても同じ道を通ります(種を変えれば別の運で確かめられます)。
遊ぶ入力の列(tests/clear.json など)の手: move・press(decide/cancel)・until(event_end/click/choices/battle/idle/screen)・choose・battle(auto)・use・skill・equip・buy・sell・craft・swap・input(入力の画面に値を渡す: {"input": "アル"}・{"input": 1234}・{"input": "herb"}。null は取消)・close・save・load・wait・expect(記録は {"expect": {"record": {"record": "clear_time", "atLeast": 1}}}・ピクチャは {"expect": {"picture": {"no": 1, "asset": "pic_letter", "opacity": 1}}}・消えたことは {"picture": {"no": 1, "shown": false}})。どの手にも when を付けると、変数がその値のときだけ流します({"when": {"var": "halloween", "value": true}, "press": "decide"}。外から変わる変数の値ごとの振る舞いを 1 本の列で確かめる)。
書き出したゲームでも、-KaedeRpgAutoplay=tests/clear.json を付けて起動すると、同じ入力の列で最後まで自動で遊びます(結果は終了コード 0/3〔結果のファイルを書けなければ 4〕と Saved/KaedeRpg/autoplay-result.txt)。
15. サーバーの機能(クラウドセーブ・記録の順位・遠隔の値・お知らせ)
作者が自分の Cloudflare に立てたサーバーと、ゲームがやり取りする機能です。作品フォルダの cloud.json にサーバーの住所を入れるだけで、標準の画面に次の欄が出ます。住所が空(見本はこの形で入っています)か cloud.json が無ければ、欄は出ず、通信もしません(今までどおり遊べます)。
| 機能 | どこに出るか |
|---|---|
| お知らせ | タイトルの画面の欄(3 件まで) |
| 記録の順位 | メニューの「記録・順位」。自己ベストの下にサーバーの上位と自分の順位 |
| クラウドセーブ | セーブ・ロードの画面のスロットごとの「預ける」「受け取る」と状態の文(預けていない・預けてある・手元の方が新しい・サーバーの方が新しい) |
| 引き継ぎの合言葉 | 設定の画面の「引き継ぎ」の「合言葉を出す」「合言葉で受け取る」(別の PC で同じセーブを使う) |
| 遠隔の値 | 外から変わる変数(下の 4)。パッチを出さずにイベントの印を切り替える |
Steam で出すゲームは、記録と実績は Steam へ送り、預ける・受け取るの欄は出しません(Steam のクラウドを使います)。
15.1 手順
-
サーバーを立てる: サーバーのひな形(GitHub のリポジトリ
kaede-rpg-server・MIT。商品ページから案内しています)の README のとおりに、npm install→npx wrangler login→npm run setup -- --game <ゲームの id>。Node.js 22 と Cloudflare のアカウントが要ります。リポジトリには AI 用のスキルも入っていて、Claude Code に「README のとおりに立てて」と頼めば立てられます。最後にhttps://….workers.devの住所が出ます。 -
cloud.jsonに住所を入れる: データベースのタブの サーバー の表で住所を入れるか、cloud.jsonを直接書きます。ゲームの id(game)は省けばrpg.jsonのidで、サーバーの--gameと同じにします。{ "schemaVersion": 1, "server": { "url": "https://sample-quest.example.workers.dev" }, "records": [ { "id": "clear_time", "name": "クリアの時間", "nameEn": "Clear time", "kind": "time", "order": "asc", "min": 600, "max": 360000 } ] } -
つながるか確かめる: サーバーの表の つながるか確かめる を押すと、住所・遠隔の値の版・定義のずれ(作品の外から変わる変数でサーバーに無いもの・その逆)が出ます。
-
記録と外から変わる変数を書く:
- 記録:
cloud.jsonのrecordsに定義(kindは点scoreか時間time〔秒〕・orderは大きい順descか小さい順asc・下限min・上限max)を書き、イベントの命令 記録を送る(record・値は式。playtimeは遊んだ秒)で送ります。 - 外から変わる変数: 変数のタブで 外から変わる(
external)に印を付け、取りうる値(values・1〜16 個・初期値を含む)を書きます。作品の中ではふつうの変数として読めます(出現条件・分岐・式)が、作品の中からは書けません(検査 R-EXT-01)。セーブにも入りません。
- 記録:
-
定義をサーバーへ送る: エディタの サーバーの定義を書き出す…(CLI では
kaede-rpg cloud-defs --out defs.json)で書いたファイルを、サーバーのリポジトリでnpm run admin -- definitions push defs.json。記録・外から変わる変数を足したり直したりしたら、毎回送ります。 -
管理のコマンドで動かす(サーバーのリポジトリで):
npm run admin -- remote set halloween true --from 2026-10-25 --to 2026-11-01 # 期間限定を切り替える npm run admin -- notice add --ja-title "イベント" --ja-body "ハロウィンが始まりました" --en-title "Event" --en-body "Halloween has started" npm run admin -- records top clear_time # 上位を見る npm run admin -- records delete clear_time <持ち主> # 記録を消すゲームは作品を開いたときとタイトルに戻ったときに、遠隔の値とお知らせを取り直します。
見本で試す: 見本の作品には、外から変わる変数 halloween(真で、始まりの場所の右上にかぼちゃの商人が出る)と shop_rank(2 で道具屋の品ぞろえが増える)、エンディングの前の記録 clear_time、住所の空の cloud.json が入っています。住所を入れて書き出し、remote set halloween true を送ると、次の起動で商人が出ます。CLI では kaede-rpg play --input tests/play-halloween.json --var halloween=true(false でも通ります)で確かめられます。外から変わる変数の値の組を全部(64 組まで)通しで回すのは play --var-matrix --input tests/clear.json です(どれかの組で詰めば終了コード 1)。
15.2 つながらないとき
- サーバーが止まっていても、ゲームは最後まで遊べます。
- 送れなかった記録は手元にため(記録ごとに一番よい値・100 件まで)、次につながったときに送ります。
- 遠隔の値は、最後に取った値を期限まで使い、期限を過ぎたもの・取ったことが無いものは初期値で動きます。
- お知らせ・順位の欄には「サーバーにつながらない」と出ます。預ける・受け取るはそのときはできません(手元のセーブが正です)。
- エディタのテストプレイでは、預ける・記録を送るをしません(読む方はします)。試しの記録が本番の順位に混ざらないためです。
15.3 ずるへの手当て
値は遊ぶ人の PC が送るので、ずるは防げません。サーバーは次の 3 つで手当てします: 定義の下限・上限・取りうる値の外を受け取らない・送れる回数の上限・管理のコマンドで記録を消せる(records delete)。
15.4 遊ぶ人の情報(プライバシーの説明のひな形)
サーバーが持つのは、端末の鍵(ハッシュ)・預けたセーブ・順位の名前と値・送り元の IP(回数の上限にだけ使い、2 日で消える)です。アカウントとメールは持ちません。データを持つのはゲームの作者(あなた)です。次のひな形を、ストアのページかゲームの中に載せてください(作者の国の法に合うかは作者が確かめてください)。
このゲームは、オンラインの機能(クラウドセーブ・記録の順位・お知らせ)のために、〈作者の名前〉が運営するサーバー(Cloudflare)へ、端末ごとの識別子・預けたセーブ・順位に出す名前と記録を送ります。通信元の IP アドレスは、送りすぎを防ぐためにだけ使い、2 日で消します。アカウントやメールアドレスは集めません。預けたセーブと記録を消したいときは〈連絡先〉までご連絡ください。
15.5 よくある失敗
| こんなとき | 直し方 |
|---|---|
| 検査が R-REC-03 を出す・つながらない | 住所は https:// で始め、末尾に / を付けない |
| 記録が順位に出ない・「受け付けない」 | 定義を送り忘れている(手順 5)。記録の値が下限・上限の外でも受け付けません |
| つながるのに、遠隔の値が変わらない・定義のずれが出る | ゲームの id の違い。cloud.json の game(省けば rpg.json の id)と、サーバーの npm run setup -- --game を同じにする |
| 外から変わる変数を書いた所で error(R-EXT-01) | 外から変わる変数は作品の中から書けません。別の変数に写してから使う |
16. まだできないこと
- テストプレイは別の窓(UE の PIE ではない)
- ノベルの演出のうち、立ち絵を動かす
ch_move・filter・transition・mask・mask_clearは RPG のゲームの画面には描かれず、effectの揺れ(shake)と光(flash)は時間だけ待ちます(暗転・白への溶暗は、時間が過ぎてから一度に替わります)。背景と立ち絵のfadeMsも絵はすぐ替わります(BGM のフェードは効きます) - 画面のタブで、新しい画面を作ること・ゲームが渡さない新しい値(好感度など)や動作を足すこと・動き(
anim)の編集(動きは 詳細 の JSON では書けます) - 物語のプレビュー、エディタの中でのデータベースの表での一括編集(表計算で直すときは CSV・§14 の
db export-csv)、敵の組のドラッグでの配置、成長の表、計算式の試算、音の試聴 - マップ・素材などの id の付け替え(名前は変えられます)
- マップ・コモンイベント・データベース・キャラの書き出しと取り込み(配れるのはテーマと画面の形だけ)、部品を探して取り込む公開の共有場
- Mac・Linux の CLI、Windows 以外への書き出し
17. 同梱物の権利
THIRD_PARTY_NOTICES.txt を見てください(nlohmann/json・MomijiUI は MIT、BIZ UDP の書体は SIL OFL 1.1、テーマの zip を読み書きする miniz 3.0.2 は MIT)。見本の作品の絵と音は、このプラグインの作者がスクリプトで描いたものです。





















