1. 本ドキュメントの目的
本ドキュメントは、GDevelopプロジェクトにおけるデータ管理の効率化を目的として開発された変換ツール『GD↔OB Converter』(以下、本ツール)の技術仕様、および運用方法を解説する公式マニュアルです。
本ツールは、人間にとって可読性の高いMarkdown(Obsidian)形式と、システム処理に適したJSON形式を相互に変換することで、ゲーム開発におけるアセット管理の工数削減を目指すものです。
2. 基本機能
本ツールは以下の二系統の変換プロセスを提供します。
-
Obsidian → JSON 変換(順変換): 階層化されたリストテキストを、GDevelopの構造体変数(Structure)または配列変数(Array)に適合するJSON形式へ変換します。
-
JSON → Obsidian 変換(逆変換): 既存のJSONデータを、編集・閲覧しやすいMarkdownリスト形式へ再構成します。
子要素もそのままObsidianでネストされるので、GDevelopの変数エディターのように親要素以下を展開・収納できます。
『GD↔OB Converter』で読み込むGDevelop側の変数を、JSON形式でファイルに保存するには、当サイトで配布している拡張機能の「DataHelper」をご活用ください。
3. 記述仕様(Syntax)
本ツールの解析アルゴリズムは、行頭のシンボルおよび特定の接頭辞に基づき、データ型を自動判別します。
3.1 構造体(Structure)の定義
行頭にハイフンおよび半角スペース(- )を記述することで、オブジェクトのプロパティを定義します。行頭のインデント(半角スペース)により階層構造を形成します。半角スペース1つで『子要素』として扱われ、半角スペースが二つなら『孫要素(子要素の子要素)』として扱われます。
3.2 配列(Array)の定義
-
ルート配列モード: 第1行に行頭シンボル(
-)を持たないテキストを入力した場合、全体が「純粋な配列」として処理されます。 -
明示的配列フィールド: 構造体内でキー名の末尾に
[]を付与することで、その配下を配列として宣言します(例:- Inventory[])。
3.3 データ型の指定方法
明示的に型を指定する場合、以下の識別子を使用してください。
-
数値型 (Number): 値の直前に
#を付与します(例:- Level: #99)。 -
真偽値型 (Boolean):
@trueまたは@falseを記述します。 -
文字列型 (String): 上記以外の入力は、すべて文字列として処理されます。
3.4 配列要素内における改行の保持
配列要素(セリフ等)において、『 |
』(パイプライン)が出現するまでの改行は、JSON出力時に改行コード(\n)として内部的に保持されます。これにより、長文のダイアログ管理が容易となります。
セリフの終わりなどに『
| 』(パイプライン)を入れると1要素として区切られます。
4. GDevelopへのインポート手順
変換されたJSONデータをGDevelopプロジェクトへ反映させるには、以下の手順に従ってください。
-
JSONデータの生成: 本ツールを用いて、設計したデータをJSON形式で保存します。
-
拡張機能の利用: 作成したデータを読み込む場合は、GDevelopのIDE内で、拡張機能『JSON Resource Loading』を導入してください。
-
アクションの実行:
-
何らかの条件下で、外部ファイルからあらかじめ宣言している変数にJSON文字列を格納します。
-
アクション「JSONをオブジェクト変数に読み込む(Parse JSON into Object Variable)」等を用いて、対象のオブジェクト配列・構造体変数へデータをバインドします。
または、シーン変数やグローバル変数として読み込みます。
最初に一括でグローバル変数に読み込むか、適宜シーン変数やオブジェクト変数に読み込むかを、状況に応じて使い分けます。
配列の場合
構造体の場合
5. 推奨される運用環境
本ツールは、以下の環境での併用を推奨しています。
-
エディタ:
(GDevelopに使用感が似ており、Markdown形式でのデータストックに最適)Obsidian -
開発環境:
(Desktop / Web)GDevelop 5
6. 補足事項
-
本ツールはクライアントサイドで動作するため、入力されたデータが外部サーバーへ送信されることはありません。
-
仕様外の記述が入力された場合、出力エリアに
// Errorという警告が表示される仕様となっています。
著者注記
本ツールは、Cratierの設計思想に基づき、AIアシスタント(Gemini)との対話を通じて最適化されました。GDevelopコミュニティにおけるデータ管理のスタンダードを目指し、今後も継続的な改善を図ってまいります。ご意見・ご要望などはコメント欄にてお願いします。








0 件のコメント:
コメントを投稿