LUMINA 制作者向け入門マニュアル
ノベル/ADV をシナリオスクリプトで作り始める人のための入門です。
フォルダの触り方、最初の1シーン、よく使う命令、フラグ/マクロ/タイトル/セーブなど、作成に必要な手順をまとめています。
LUMINA はマルチプラットフォーム対応です。
同じシナリオ・素材・基本的な開発フローを共有しながら、Windows / Steam / Android / ブラウザで起動できます。
Linux / iOS / PlayStation系 / Switch系は開発中で、現時点では起動できません。
また完全互換ではなく、Windows で使える機能の一部は Android / ブラウザでは制限されます。
同じシナリオ・素材・基本的な開発フローを共有しながら、Windows / Steam / Android / ブラウザで起動できます。
Linux / iOS / PlayStation系 / Switch系は開発中で、現時点では起動できません。
また完全互換ではなく、Windows で使える機能の一部は Android / ブラウザでは制限されます。
このマニュアル(作成系)で扱うこと
フォルダの見方、最初のシナリオ、よく使う命令(背景・立ち絵・台詞・選択肢・BGM・フェード)、フラグと分岐、マクロ、タイトル/設定画面の接続、命令ダイジェスト、セーブ/ロード
フォルダの見方、最初のシナリオ、よく使う命令(背景・立ち絵・台詞・選択肢・BGM・フェード)、フラグと分岐、マクロ、タイトル/設定画面の接続、命令ダイジェスト、セーブ/ロード
扱わないこと(詳細は公式マニュアルへ)
エンジン紹介の深掘り・できることの全体像・運用ビルドの詳細・全 API/全コマンド一覧・プラグイン/ツール仕様・ライセンス
エンジン紹介の深掘り・できることの全体像・運用ビルドの詳細・全 API/全コマンド一覧・プラグイン/ツール仕様・ライセンス
5分で始める(Windows)
まず Windows の lumina.exe で試します。編集するのは、lumina.exe の隣にある GameData\data0 フォルダです。
GameData\data0\scenario\にmy_first.txtを作り、03章のサンプルを貼ります。文字コードは UTF-8 で保存します。- 同じ
GameData\data0のsystem\title_enhanced.txtを開きます。228 行目付近のloadScenarioの行を、scenario/my_firstに書き換えます(03章)。 lumina.exeを起動します。最初に「起動設定」のダイアログが出ます。OK を押すとゲームが始まります(キャンセルを押すと終了します)。- タイトルの「はじめから」を押して、シナリオが動くか確かめます。
- 04章で表現を広げます。
タイトルを書き換えずに試す(Windows)
lumina.exe --start-scenario=scenario/my_first で起動すると、ロゴとタイトルを飛ばして、そのシナリオから始まります。--start-label=talk を足すと、ラベル *talk から始まります。
開発中は .txt を保存して、ゲームを再起動するだけで反映されます。暗号化した .lsf は配布前に作ります(02章)。
エンジンの開発環境では、build\win\bin\Release\GameData\data0 が編集する場所です。
Android/ブラウザで試す
Android とブラウザは、Windows のデータをパックしてから動かします。詳しい手順は 02章 にあります。
- シナリオとシステムスクリプトの
.lsfを作ります(配布物には.txtが入りません)。 - Windows の Release をビルドします。配布用の一式が
build\win\bin\master\Releaseに作り直されます(ここは編集しません)。 build-pack-data.ps1で、その一式から.lafパックを作ります。- Android またはブラウザ向けにビルドして、実機やブラウザで確かめます。
命令の全件リファレンスやシステム API の網羅は 公式マニュアル を参照してください。05章 に feature_demo などの学習リソースへの導線もあります。
用語ミニ辞典
| 用語 | 意味 |
|---|---|
| シナリオスクリプト | 本編用。行頭の命令と、行頭タブの文章で書きます(scenario\*.txt) |
| システムスクリプト | 起動・タイトル・UI 用。先頭に // @lumina と書く形式です(古い // @tjs も使えます。system\*.txt) |
| ラベル | *名前 で付けるジャンプ先 |
.lsf | 暗号化したスクリプト。配布物には .lsf だけが入ります |
GameData | lumina.exe の隣のデータフォルダ。data0〜data8 が入っています |
| 実行モード | Debug(開発用の道具が使える)と Release(配布物)の 2 つ。決め方は 02章 |
feature_demo | 機能を順に見られる紹介デモ(基本サンプル/応用サンプル) |
対応プラットフォームの考え方
| 項目 | 基本方針 |
|---|---|
| 共通で使うもの | シナリオ、画像、音声、システムスクリプト、基本的なフォルダ構成 |
| 起動できる環境 | Windows / Steam / Android / ブラウザ |
| 開発中(起動不可) | Linux / iOS / PlayStation系 / Switch系 |
| 互換性 | 基本は共通。ただし完全一致ではなく、一部機能はプラットフォーム差がある |
| 制作者の進め方 | まず Windows で作って確認し、Android/ブラウザはパックしてから確認する |
読む順番
| 章 | 内容 |
|---|---|
| 01. はじめに | LUMINA で何ができるか/2種類のスクリプト/起動の流れ |
| 02. 環境とフォルダ | どこを編集するか/data0〜data8/.txt と .lsf/実行モード |
| 03. 最初のシナリオ | 1シーンを書いて動かす |
| 04. よく使う命令 | 背景・立ち絵・文章・選択肢・BGM・フェード・ボイス・動画 |
| 06. フラグと分岐 | setvar / if / #if・永続フラグ・cg_flag |
| 07. マクロ | macro フォルダ・BG_ マクロ・INIT_ALL などの使い方 |
| 08. タイトルと設定 | title_enhanced・ConfigMenu・loadScenario |
| 09. 命令ダイジェスト | カテゴリ別の命令一覧 |
| 10. セーブとロード | セーブの種類・保存先・オートセーブ |
| 05. 次のステップ(任意) | feature_demo・ほかのサンプル・ツール・公式マニュアルへの案内。途中でも後でも可 |
主な機能への入口
| 機能 | 入口 | 参照 |
|---|---|---|
| 多言語 | system\Localization.txt と data0\lang。環境設定で言語を切り替えます | 08章 |
| フローチャート | system\Flowchart.txt。到達した場面は setflowflag で記録します | 06章 |
| バックログ | 組み込み済み。ホイールを上へ回すと開きます(system\Backlog.txt) | 08章 |
| オートセーブ | 選択肢・scenetitle・autosave で自動保存します | 10章 |
| ルール画像の場面切り替え | data7\rule の白黒画像。bg / wipe / trans | 04章 |
公式マニュアルとの関係
| マニュアル | 役割 |
|---|---|
| 本冊(Creator Manual) | 作成系 — シナリオ・素材・接続の作り方、よく使う命令、制作フロー |
| 公式マニュアル | エンジン紹介・できること — 構成/運用/仕様、ツール・プラグイン、命令の完全一覧 |
「エンジン全体で何ができるか」「命令の全件を調べる」ときは公式マニュアルへ進んでください。
スクリーンショットについて
各章に画像枠を用意しています。images/ に同名の PNG を置くと自動表示されます。
一覧は images/README.txt を参照してください。
クイックリファレンス
| やりたいこと | 代表コマンド/API |
|---|---|
| 背景表示 | bg 0 bg01a / BG_FADE bg01b 30 |
| 立ち絵 | chara_show 0 smile center 30 |
| 台詞 | name "…" → 行頭タブの文章 |
| 選択肢 | choice "A" *label_a "B" *label_b |
| 変数 | setvar 名前 値 / addvar 名前 値 |
| 条件分岐 | if 名前 >= 5 *label / #if "名前 >= 5" … #endif |
| 本編開始(システムスクリプト) | System.loadScenario("scenario/ファイル名") |
| Windows で直接起動 | lumina.exe --start-scenario=scenario/ファイル名 |
| 章の登録 | scene_start ch01 "第1章" … scene_end ch01 |
| 暗号化 | ScriptEncryptor.exe -e -p "(Config.txt のパスワード)" --ext txt "…\ファイル.txt"(Config.txt だけ --default-key) |
全命令は 公式 第10章 を参照してください。
編集する場所
編集するのは、lumina.exe の隣の GameData\data0\ です。エンジンの開発環境では build\win\bin\Release\GameData\data0\ を使います。
lumina.exe の隣の GameData\data0\
build\win\bin\masterは、ビルドが毎回作り直す配布用の出力です。ここは編集しません。- 開発環境の Release と Debug は、
GameDataがそれぞれ別のコピーで、設定も違います(02章)。 - 開発環境の
GameDataにはdata0\system\DevMode.txtがあるので、Debug 実行モードで起動します(デバッグメニュー・FPS 表示・lumina_debug.log・Shift+D の道具パネル)。