[蘇生][復讐]今日のプロファイリング

蘇生絵

昨日描いた中ボス絵をいじった。顔の形が気持ち悪かったのとアンチエイリアスが気持ち悪かったのを直した。
それと雑魚敵絵。中ボスの絵を雛形として使おうと企んでいたら、雑魚敵絵とボス絵でサイズが違って断念。その仕様を決めたのは自分であるのだが。それで雛形を新しく作って、一体完成させた。デザインをどうするか悩んだので色をテーマとしていろいろ着せ替える方針でいく。

蘇生弾幕

弾幕も書いた。画面が弾で埋め尽くされる、というコンセプトで考えてたら4面で作ったのと被ったのでやや狂わせた。

復讐スクリプト

ループを使うために新しく構文を作るのは面倒で、だからと言って再帰を使うと処理速度やスタック不足が不安だったので、ループを行う関数を定義してD言語側のループを利用した。
速度の計測も行った。テスト用に適当に書いたスクリプトの実行速度をプロファイラで測ったら20ミリ秒で、60FPSのゲーム中で使うには絶望的に遅かったのだが、詳しく見たらコンソールに出力する関数の呼び出しで実行速度の9割程度を占めていたので大きな問題はなさそう。
テスト用よりも実用的な以下のスクリプト(インデントがつぶれた)

(begin
(define i 0)

(for i 1 30
(begin
(if (or (= (% i 3) 0) (= (% i 10) 3))
(display "baka")
(display i)
)
)
)
)

の実行にかかったのが26.5ミリ秒、そのうち22.3ミ秒が出力の時間。
ゲームでの使用に向けた設計の変更も済ませたので、明日にでもゲーム内で実際に使ってみようと思う。