2008/11/18

・『あぺぽぺ』。 フィールド作成の部分をツール化できそうだ。 またひとつ副産物ができそう。 できあがったら公開する。 目標としてはちょうど良い。 遅くても今月中には…。 でも待てよ、 このツール自体が最初の構想に近いし、 3年前に似たようなプログラムを作っている。 そうか、 まわりまわってこういう形になるのか。

・なんのことか分からないはずだから解説。 好きな画像を読み込んで、 スタンプを押すように絵を描くソフトウェアです。 とてもシンプルで、 簡単に絵らしきものができあがるのが特徴です。 子供でも容易に扱えると思う。 発展的な機能として、 ゲームに組み込んで使うための、 2次元カメラ対応、 プライオリティ制御、 スクロール機能などを作る予定です。 出力データは直で編集できるようにテキストのLuaソースコードにしたい。 あとは名前だけ(個人的に)愛着がわくものを考えなければ。

・プライオリティ制御の見通しが甘かった。 スタンプ形式のデータと、 プレイヤーキャラクターとの描画順番の問題。 スタンプ形式のデータは名前どおり、 押した順番に表示させたい(そうでなければ意味がない)が、 プレイヤーより奥に立っている表示物に対しては、 奥に表示させたいし、 反対に手前に表示させる必要もある。 スタンプデータひとつでひとつの表示物なら、 マップチップみたいに表示位置を見れば手前か奥か判別できる。 しかし、 スタンプをぺたぺた押して、 それをひとつの表示物として扱いたいい場合は、 どうすればキャラクターとの前後関係を作れるか?という問題だ。

・こう書くと、 なんら難しくはない。 いくつかのスタンプデータをひとまとめにして、 キャラクターとの表示順番を比較すれば良いだけだ。 最初から、 こういう問いを立てれれば問題にはならなかった。 つまり、 恥ずかしい話だが、 この問いが立てれなかったわけだ。 問い自体が混沌としていて、 クリアになっていなかった。 そういう話だ。 何か問題がありそうだ、 というレベルの認識だけがあった。 ま、 無いよりはとてつもなくマシではある。 実際に作ってみて初めて、 「あ、 だめだこりゃ」と気がつくことも多い。

・どのような表現をしたいのか?すなわち目的は何か?どのような条件があるのか?どのようなデータを持てば解決できるか?あるいはそのデータを持てるか?こういう小さな問いをひとつずつ考えてみて、 良さそうならほかの小さな問いともつき合わせて、 だめだったり良かったりを繰り返して、 ようやく全部の問いに答えられそうなやりかたが見つかった。 それが終わった後で、 全体の問いを整理しつつ書き出してみると最初に書いた問いになった。 つまり、 全体の問いが一番最後に出てきたという、 なんとも不恰好な手順になってしまった。 これはわたしが問題解決に時間のかかっている一つの原因だと思える。

・たぶん何とかなると思う。 しかし、 論理が甘いことが多いから、 実際にプログラミングして確かめなければ安心はできない。 実装前の段階で、 つまり実際に作らず頭の中で証明してしまえるのが偉い人なのだろう。

謝辞
Picnic CSS
T.T
©
Shirado Masafumi