開発中のエディター
自分だけのアドベンチャーゲームを作ろう

全体
今のところ、ゲームはいくつもの yaml ファイルと、いくつかの処理レイヤーで組み立てられています。たとえば .psd ファイルを、私が使えるアトラスファイルに変換する処理などです。
今は yaml ファイルだけでゲーム全体を作れますが、それでもできるだけエディターで作れるほうがいいと考えています。そうすれば将来エディターも公開できて、誰でもアドベンチャーゲームを作れるようになります ;)
デザイン
GUI を作るいろいろな方法を調べ、LUA がいちばん向いているかどうかも検討しました。 Python や素の JavaScript など、いくつかのプログラミング言語で試した結果、エディターの GUI は自分で作り、LUA のままでいくことにしました。engine3 と直接やりとりでき、そこで作った関数をすべて使い回せるので、いくつも利点があります。
まだ開発中なので、今はあまり詳しく話せませんし、最終的にどんな見た目になるかもまだ言えません。
残りの部分もまだ開発中なので、この記事に追記していきます。
アップデート
2025年8月15日:今では Python と Node はほとんど使っていません。おかげで全体が少しシンプルになり、管理しやすくなりました。特に Node は、5年後もまだ動かさなければならないことを考えると、使っていて楽しいものではありませんでした。
結局のところ、エディターがするのはオブジェクトの作成、編集、削除だけです。プロジェクト自体もオブジェクトで、シーンもオブジェクトです。シーンの中には、Frameset や Audio セットのような子オブジェクトがあります。
オブジェクトにはもちろんプロパティがあり、子オブジェクトの場合は値が違うこともあります。そこで元のオブジェクトと子のプロパティを比べ、変わった部分だけを保存します。こうしてオブジェクトのデータを小さく保っています。

エディターのスクリーンショット

エディターのスクリーンショット