LUMINA 制作者向け入門マニュアル

ノベル/ADV をシナリオスクリプトで作り始める人のための入門です。
フォルダの触り方、最初の1シーン、よく使う命令、フラグ/マクロ/タイトル/セーブなど、作成に必要な手順をまとめています。

LUMINA はマルチプラットフォーム対応です。
同じシナリオ・素材・基本的な開発フローを共有しながら、Windows / Steam / Android / ブラウザで起動できます。
Linux / iOS / PlayStation系 / Switch系は開発中で、現時点では起動できません。
また完全互換ではなく、Windows で使える機能の一部は Android / ブラウザでは制限されます。
このマニュアル(作成系)で扱うこと
フォルダの見方、最初のシナリオ、よく使う命令(背景・立ち絵・台詞・選択肢・BGM・フェード)、フラグと分岐、マクロ、タイトル/設定画面の接続、命令ダイジェスト、セーブ/ロード
扱わないこと(詳細は公式マニュアルへ)
エンジン紹介の深掘り・できることの全体像・運用ビルドの詳細・全 API/全コマンド一覧・プラグイン/ツール仕様・ライセンス

5分で始める(Windows)

まず Windows の lumina.exe で試します。編集するのは、lumina.exe の隣にある GameData\data0 フォルダです。

  1. GameData\data0\scenario\ に my_first.txt を作り、03章のサンプルを貼ります。文字コードは UTF-8 で保存します。
  2. 同じ GameData\data0 の system\title_enhanced.txt を開きます。228 行目付近の loadScenario の行を、scenario/my_first に書き換えます(03章)。
  3. lumina.exe を起動します。最初に「起動設定」のダイアログが出ます。OK を押すとゲームが始まります(キャンセルを押すと終了します)。
  4. タイトルの「はじめから」を押して、シナリオが動くか確かめます。
  5. 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章 にあります。

  1. シナリオとシステムスクリプトの .lsf を作ります(配布物には .txt が入りません)。
  2. Windows の Release をビルドします。配布用の一式が build\win\bin\master\Release に作り直されます(ここは編集しません)。
  3. build-pack-data.ps1 で、その一式から .laf パックを作ります。
  4. Android またはブラウザ向けにビルドして、実機やブラウザで確かめます。

命令の全件リファレンスやシステム API の網羅は 公式マニュアル を参照してください。05章 に feature_demo などの学習リソースへの導線もあります。

用語ミニ辞典

用語意味
シナリオスクリプト本編用。行頭の命令と、行頭タブの文章で書きます(scenario\*.txt)
システムスクリプト起動・タイトル・UI 用。先頭に // @lumina と書く形式です(古い // @tjs も使えます。system\*.txt)
ラベル*名前 で付けるジャンプ先
.lsf暗号化したスクリプト。配布物には .lsf だけが入ります
GameDatalumina.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 / trans04章

公式マニュアルとの関係

マニュアル役割
本冊(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\