LSDEDE とは?
LSDE(LS Dialog Editor)は、ゲームおよびソフトウェア開発者向けの無料ツールで、ビジュアルダイアローググラフ編集、AI翻訳、音声生成、i18nコード統合、プロジェクト診断を統合しています。対話グラフを、scene、block、connection、dictionary、action signature を含む blueprint(JSON、XML、YAML、CSV)として出力します。詳細: https://lepasoft.com/ja/software/ls-dialog-editor
LSDEDE(LSDE Dialog Engine)は、これらの blueprint を読み込み実行するマルチランタイム engine です。複数の言語で利用可能なため、各種ゲームエンジンやフレームワークにネイティブ統合できます。
利用可能なランタイム
| ランタイム | 言語 | 対象 | ソース |
|---|---|---|---|
| TypeScript | TypeScript / JavaScript | リファレンス実装 | lsde-ts |
| C# | C# (.NET Standard 2.1) | Unity, Godot Mono, .NET | lsde-csharp |
| C++ | C++17 | Unreal Engine, カスタムエンジン | lsde-cpp |
| GDScript | GDScript | Godot 4 | lsde-gdscript |
すべてのランタイムは同じ blueprint フォーマットを共有し、共通のクロス言語テストスイート(42テストケース)に合格しています。
アーキテクチャ
すべてのランタイムは同じ callback 駆動型グラフディスパッチャー パターンに従います:
- Blueprint — LSDE から出力されたファイル(JSON、XML、YAML)。scene、block、connection を含みます。
- Engine — blueprint を検証し、内部グラフを構築して block を handler にディスパッチします。
- Handler — 各 block タイプ(dialog、choice、condition、action)に反応するホストアプリケーション側の関数です。
- ゲーム本体 — condition、action、キャラクター解決は、登録された handler callback によって処理されます。
Blueprint
│
▼
Engine ◄── next() ──┐
│ │
dispatch │
│ │
▼ │
Handlers ────────────┘設計原則
- ゼロ依存 — どの言語でもランタイム依存関係なし。
- フレームワーク非依存 — あらゆるゲームエンジンや UI フレームワークで動作します。
- Callback 駆動型 — 内部レンダーループなし。準備ができたら
next()を呼びます。 - 2階層 handler — グローバル(engine レベル)と scene レベルの handler、
preventGlobalHandler()付き。 - クロス言語準拠 — すべてのランタイムが同じ blueprint に対して同一の出力を生成します。
