言うだけなら簡単。

DXRubyにプリセット画像を用意するというネタを思いついた。
ゲームは作ってみたいけど絵は描けないという人は多いだろう。少しは自分で描く努力をしなさい、というのは簡単だが、俺みたいに何度となく努力しては挫折して、を繰り返す人もいるわけで、もし切り捨てるならまず自分自身を切り捨てなければならない。
まあ、もともとそのようなことは考えていて、DXRubyのサイトには一応「素材」というページができる予定であった。頓挫しているが。ついでに「学習」というページも。


さて、今回のネタは素材ページを作るのではなく、アーカイブに画像ファイルを含めるでもなく、プリセット画像というところだ。
具体的にどうするかと言うと、DXRubyの拡張ライブラリ自体に画像データを埋め込み、いつでもそれを引っ張り出して使えるようにする。
ツクールのランタイム内蔵の画像データみたいな感じだ。
この利点は、
・とりあえずそれっぽい何かを動かしてみたい人がとても簡単にチャレンジできる。
・DXRubyがインストールされていればそこに画像もあるから、絵にこだわらないミニゲームみたいなものはソースを配布するだけでよくなる。
・もちろん外部の画像も使えるから、プリセット画像に制限されることは無い。
欠点は、
・ライブラリが大きくなる。必要無い人にとってもそのサイズが増えてしまう。
・俺が描くことはできず、誰かに描いてもらうとなるとライセンス関連で問題が出る。


アーカイブに画像ファイルを含めるのとどう違うかというと、DXRubyをインストールするだけでいつでも画像が扱えるようになる、と言うところが違う。
ファイルを含めてもそれを使うためにはスクリプトと同じ場所にコピーしないといけない。ライブラリと同じ場所にインストールしてもロードできないからだ。これは思った以上に手間で、そういうものを管理する必要が無くなるというのはすばらしいことだ。


上記欠点の一つ、サイズの問題は結構大きい。ツクールのランタイムがばかでかいのはみなさん辛いところだろう。
ファミリーベーシックみたいにその画像しか使えないのならまだわかるが、そうでもないのに100%全員がその影響を受けるというのは大変イマイチだ。
そこで、DXRubyのアーカイブには含めるが、本体とは別の拡張ライブラリとして(現在のDXRubyExtensionみたいに)作る、というアイデアがある。
なんかテキトーなモジュール名で定義して、その中のメソッドを呼ぶとImageオブジェクトが生成されて返る、みたいな。
この形であれば、それを使うゲームをexe化すると一緒に入るし、使わなければ入らないし、DXRubyがインストールされていればそこに入ってるし、ソースだけ公開するのも問題ない。
この手はなかなかよさげだ。
もう一つの欠点、ライセンス関連については権利者との対話で解決するしかない。


と、まあ、思いつきを語るのは簡単なことなのだが、実際にそれをやるには言うまでもなく誰かの協力が必要だ。
プリセットで含めるならそこそこ品質の高い絵が望ましいが、しかしそれがあんまり綺麗すぎると逆に自作ゲームが見劣りするとかいうおかしな状況にもなりえる。そのあたりのバランスも難しいところで、更には俺が「描いて頂く」弱い立場であることも話をややこしくする。
まあ、そうそう理想的に行くわけも無く。
とりあえず、描いてくれる人がいたら次のバージョンで添付してみようかしら、みたいな。