開発中のエディター

自分だけのアドベンチャーゲームを作ろう

開発中のエディター

全体

今のところ、ゲームはいくつもの yaml ファイルと、いくつかの処理レイヤーで組み立てられています。たとえば .psd ファイルを、私が使えるアトラスファイルに変換する処理などです。

今は yaml ファイルだけでゲーム全体を作れますが、それでもできるだけエディターで作れるほうがいいと考えています。そうすれば将来エディターも公開できて、誰でもアドベンチャーゲームを作れるようになります ;)

デザイン

GUI を作るいろいろな方法を調べ、LUA がいちばん向いているかどうかも検討しました。 Python や素の JavaScript など、いくつかのプログラミング言語で試した結果、エディターの GUI は自分で作り、LUA のままでいくことにしました。engine3 と直接やりとりでき、そこで作った関数をすべて使い回せるので、いくつも利点があります。

まだ開発中なので、今はあまり詳しく話せませんし、最終的にどんな見た目になるかもまだ言えません。

残りの部分もまだ開発中なので、この記事に追記していきます。

アップデート

2025年8月15日:今では Python と Node はほとんど使っていません。おかげで全体が少しシンプルになり、管理しやすくなりました。特に Node は、5年後もまだ動かさなければならないことを考えると、使っていて楽しいものではありませんでした。

結局のところ、エディターがするのはオブジェクトの作成、編集、削除だけです。プロジェクト自体もオブジェクトで、シーンもオブジェクトです。シーンの中には、Frameset や Audio セットのような子オブジェクトがあります。

オブジェクトにはもちろんプロパティがあり、子オブジェクトの場合は値が違うこともあります。そこで元のオブジェクトと子のプロパティを比べ、変わった部分だけを保存します。こうしてオブジェクトのデータを小さく保っています。

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

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

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

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