おとといのやつ
コレ > http://d.hatena.ne.jp/isshiki/20051220/p1
のアルゴリズムをまとめておこう。実装したやつのを。
考え方自体は簡単で、読んだ本でも数枚の図が入った状態で2ページと言う簡潔っぷり。
- 基準点を決める
- そこから粒子を落とす(実際に落とすわけではないけど)。
- 落とした先に粒子があればその場を含めた9方向の移動先を決める。
- 移動先が自分の高さより高かったら 3 をやり直す。同じか以下なら次へ。
- 粒子の位置を決定。
- 低確率で、適当ににフィールドを揺らす。実装では「2.25%」。
- 基準点を更新。 2 へ。
- 以上を満足いくまで繰り返す。
簡単に書くとこんな感じ。それでおとといのような画像ができます。
ただ、現状ではものすごく処理に時間がかかる。ゲームに使用している「512×2048」の画像を埋めようとすると、どう頑張っても7秒くらいかかる。リアルタイム性はおろか、起動時の初期化ですら憚られる時間だ。何か考えないと。
今考えてるの。
- 小さい画像に作ってそれを拡大する方法が良いのかな?
- 思い切って縦方向を半分にして高速スクロールでごまかす。
- やっぱアルゴリズムの見直し。
うーん・・・。