今日の雑記

生きることでいっぱいいっぱい

libSDL_shmups

今回メインに発表した、「シューティングをお手軽に実装するライブラリ」。
一応、開発動機とか簡単に。後に公開した時とかに同じようなドキュメントを添付するかもしれないし、開発していくにつれ考え方とか変わっていくかもしれないけど、以下の文章は今日現在の意見として読んで頂ければ。
とりあえず、開発当初に考えていた事とかは以下のような感じです。ちょっと抜粋してみます。

 以前から思っていたのが、C とかでサンプル的なゲームを作って配布しても、プログラムがそれなりの本数でそれなりの行数の規模のものになってしまい、「さあこれからゲーム作りのためにプログラム勉強するぞ!」と意気込む人にとって、果たしてそれらがどれだけ有用なのだろうか?という疑問です。見ることのできるプログラムが増えれば増えるだけ、当然の事ながら「見なければならない」プログラムが増えることになるわけですし。って、この辺どう言えば伝わるだろうか?
 やればできると言われればそれまでなんですが、やる前に諦める可能性が高いサンプルというかフレームワークというか、そういうのしか存在しないというのは、サンプルを提供して「勉強して欲しい」と思っている人間と、そのサンプルを見て「勉強したい」と思ってる人間、双方にとって不幸なだけだよなあ、という気がしてなりません。
 それよりも、「ゲームを構築している最低限のプログラム」の本数や行数が少なければ、見るべき個所も少なくて済むわけですし、いじる個所も最低限で済む。そしてその「最低限」の部分だけを弄って目に見えた違いが出れば、学習効果も上がるんではないのかなぁ?というのがボクの考えです。この辺は、雑誌に掲載されていた「BASIC」のプログラムを弄って動作の違いを見るとか、そういうのに近い感覚まで持っていければ幸いなんですが。
 慣れてきたら、ライブラリの中身を見るようになって、そのうち「自分用の敵や自機、ステージ制御、エフェクト」処理の差し替えとか、そもそもの「ライブラリを構築する力」等に繋がってくれれば、それはそれで素晴らしいことだと思います。自分自身の構築力とか棚に上げて言ってしまいましたが。
 そういう諸々の想像というか妄想というか、以前からあったモヤモヤを解消するいい機会であり、いくつかライブラリとかを作ってみて、「ライブラリ作るの楽しいかも」という気持ちになっていたので(過去形?)、やってみることにしました。あーあ。

とまあ、こんな感じです。この辺については賛否両論色々あるとは思いますし、コレが自分にとってベターな解だとは思っているわけではありませんが、少なくとも、「サンプルを提供する」ということに対して、何らかの方向性の一つを示せればいいなあ、と。
良い物を作ってるか作って無いかはともかくとして、ある程度(=ボクのゲームくらい)のものを作ってる人がサンプルを作ると、やっぱりどうしても今まで培ってきた土台を元にサンプルを作りがちで、そうなると「ある程度の規模のものになってしまう」か「見た目の規模はそんなでも無いけどソースの関連性が複雑になりがち」みたいな感じになってしまって、結局、上で書いたようなことになってしまうんですよね。
で、今回作ってるライブラリは、それをできるだけ解消してあげたいなあ、と。「ツクール」ではないけどその感覚に近くて、しかも「プログラムしている」という感覚を持って欲しい、みたいな。
どこまで持っていけるかは解らないし、破綻する可能性だって十二分にあるけど、もし誰かがボクの考えに賛同してくれて、例えば「OO的」にこれを実装してくれてそっちの方が広く使われたとしたら、ぼくの目的は果たせたかなあ、と、そう考える次第であります。
ちなみに今日公開した現在の実装率(?)は 15% くらいです。先は長いよ。