公開 · Kevin BK
Joi Database Editorとは?実際の用途とファイル構成

「Joi Database」が別の製品に見えてしまう理由
プロジェクトが使う表記はjoiで、「Joy Database」ではありません。リポジトリ名、Javaのパッケージ、ヘルプ、出力ファイルのすべてでこの綴りが使われています。一方、検索結果にはJavaScriptの検証ライブラリJoiや、Joyという名称の無関係なサービスも混在します。
対象を特定する最も強い手掛かりは、開発元のThe joi Database Editorリポジトリです。説明文は「The joi Database用のjoiを作るエディター」としており、GitHubのトピックもJavaFXエディター、ゲーム改造ツールと分類しています。
したがって、リアルタイム分析、マルチモデル管理、機械学習コネクター、毎秒数百万件のイベント処理などをうたう説明は、このリポジトリの内容と一致しません。ストレージサーバー、クエリ言語、ネットワークプロトコル、公式ベンチマークがない以上、そのような機能を事実として扱うことはできません。
確認できる機能と確認できない主張
| 項目 | 一次資料で確認できること | 確認できないこと |
|---|---|---|
| 目的 | 特定ゲーム向けのインタラクティブコンテンツ作成 | 業務データを管理する汎用DBMS |
| アプリ形態 | Java/JavaFXのノード型ビジュアルエディター | SQLサーバーやマネージドクラウド |
| 扱う内容 | シーン、文章、画像、時間、選択肢、メタデータ | 一般的な業務テーブル、グラフ、時系列データ |
| 保存形式 | JSON、画像、ZIPエクスポート | レプリケーションや分散トランザクション |
| 根拠 | ソースコード、ヘルプ、リリース、Issue | セキュリティ監査やスケーラビリティ試験 |
JSONに構造化データを保存するだけで、そのアプリがデータベース管理システムになるわけではありません。データベースとディレクトリの違いを押さえると、検索・更新を担うエンジンと、ファイル構造や編集画面の違いが分かります。このエディターのJSONは、ゲームが読み込む作品データを表します。
プロジェクトはシーンと接続で組み立てる
同梱のGetting Startedは、シーンを中心となるコンテナとして説明しています。ワークスペースでは各シーンがノードとして表示され、ノード同士の接続が次の場面や分岐を決めます。
これはデータベース管理画面というより、分岐型ストーリーを作るツールに近い設計です。シーンを開くと、台詞、標準画像、処理、次に進めるシーンを設定できます。
- プロジェクトを作成する。作業フォルダーと言語を選びます。
- シーンを追加する。シーンはフロー上のノードになります。
- 接続を作る。通常の進行と分岐先を線で表します。
- 内容を編集する。文章、画像、タイマー、選択肢、トランジションを加えます。
- メタデータを入力する。タイトル、固有ID、ゲームのバージョン、言語、使用機能を記録します。
- 書き出して確認する。ファイルまたはZIPを生成し、対象ゲームで動作を確認します。
最後の確認は重要です。ヘルプには、エディター内の見え方とゲーム内の表示が異なる場合があると書かれています。さらに、プレビュー機能を求めるIssueも未解決です。エディターだけで最終表示を完全再生できるとは限りません。
シーンに追加できる内容
Scene Editorのヘルプは、通常処理、タイマー、ダイアログ選択肢、トランジションの4領域を説明しています。ソースツリーには、変数、条件、算術処理、グループ関連の部品もあります。
文章と画像
通常処理には文章とスタイルを登録します。シーンには標準画像を置けますが、特定の行だけ別の画像を一時表示することもできます。ヘルプは画像の高さを900〜1,080ピクセルとし、ゲームの表示を1,920×1,080として案内しています。
タイマーと時間指定
タイマーはシーンの長さを決め、特定の秒数に文章や画像を関連付けます。これは演出の時間制御です。データベースのスケジューラーのように定期クエリを実行する機能ではありません。
選択肢、条件、トランジション
ダイアログ選択肢はボタンと新しい接続点を作ります。トランジションはシーン間に短い装飾文を挟めます。変数や条件によって進行先を変え、算術ノードやグループで複雑なフローを整理できます。
リリースノートを見ると、変数と条件はバージョン9、算術ノードとグループ化はバージョン13、GIF対応とアイコン作成機能はバージョン14で紹介されています。Issueに書かれた要望は、リリースやコードで確認できるまで実装済み機能とは扱えません。
JSONファイルと画像の構成
パッケージマネージャーは言語ごとにjoi_text_<language>.jsonとinfo_<language>.jsonを探します。必要に応じてjoi_icon.pngや、各シーンで使う画像も含まれます。
メインJSONは、JOIという配列に部品をまとめます。シーンのほか、変数の変更、条件、算術ノード、グループ、グループ間の橋渡しが入ります。エクスポート時には個別ファイルのまま保存するか、ZIPにまとめられます。
情報JSONは別の役割を持ちます。ヘルプによれば、タイトル、固有ID、ゲームのバージョン、言語、利用機能を記録し、ゲーム側がパッケージを識別・絞り込みするために使います。内容とメタデータを分けるため、1つのJSONだけでは完結しません。
構造を確認するときは、プログラミングなしでJSONを読む方法が役立ちます。オブジェクト、配列、キー、入れ子を理解すれば、編集前後の書き出し結果を比較しやすくなります。
必要環境、公開バージョン、ダウンロード時の注意
Maven設定はJava 8を対象にしています。JSON処理にはJSON-javaが使われ、JavaFXの調査用依存関係としてScenic Viewが含まれます。ライセンスはMITです。
GitHub Releasesで確認できる最新バイナリは、2021年5月9日公開のバージョン14です。これは2026年7月16日時点の確認結果です。ソース設定にはバージョン15とありますが、バージョン15の配布物が公開されたことを意味しません。
- まずリポジトリのReleasesページから入手します。
- 元のZIPを残し、OSのセキュリティ機能で検査します。
- 必要なJavaランタイムを確認し、新しいJavaで必ず動くとは考えないようにします。
- 既存プロジェクトは別のバージョンで開く前に複製します。
- 最初はテスト用コピーで書き出し、JSONと画像を比較します。
- 作業に関係する未解決Issueを読みます。
- スター数、ダウンロード数、オープンソースライセンスは安全性監査の代わりにはなりません。
これらは公開ファイルと履歴から導ける確認事項であり、実際にインストールしたという体験談ではありません。現在のすべての環境での動作を保証するものでもありません。
プロジェクトの状態と向いている用途
リポジトリは2019年6月に作成されました。公開パッケージは2019年11月のバージョン6から2021年5月のバージョン14までです。後のコミットはありますが、Releasesには新しい配布物がありません。
古いから使えないと断定はできません。ただし、OS、Java、現在のゲームとの互換性は実際に確認する必要があります。未解決の要望には、ツールチップの拡充、重み付きランダム、グループ間のノード移動、長い処理の進捗表示などがあります。
The joi Database用パッケージを調べたり作ったりするなら、目的に合う可能性があります。一方、SQL、リモート接続、分散ストレージ、業務分析、汎用データベースを必要とする場合は別の製品を選ぶべきです。
よくある質問
Joi DatabaseとJoy Databaseのどちらが正しいですか?
プロジェクトは「joi」を使います。「Joy Database」では無関係な結果が混ざります。コードを探す場合はThe joi Database Editorという完全な名称が確実です。
本物のデータベースサーバーですか?
一次資料を見る限り違います。ゲーム向けJSONコンテンツを作るデスクトップエディターです。SQL、サーバープロセス、レプリケーション、クラウド運用は文書化されていません。
どのようなファイルを作りますか?
joi_text_en.jsonとinfo_en.jsonのような組み合わせ、画像、任意のアイコンを扱い、ZIPとしてまとめることもできます。
複数の言語に対応していますか?
設定には英語、フランス語、ロシア語、ドイツ語、チェコ語、スペイン語、イタリア語があり、言語ごとに本文と情報のファイルを読み込みます。
どこからダウンロードすべきですか?
GitHub Releasesで日付と説明を確認してください。表示される最新バイナリは2021年5月のバージョン14です。