FPSでおなじみのスローモー。
F.E.A.RやTimeShift、パーフェクトダークやCall of Juarez、
他にもまだまだありますが、これをHSPで再現するのは難しい
と思っていました。なぜなら、モーションを作るソフトに遅くする
機能は無いですし、もちろんHSPにもモーションの速さを調節
する命令はありません。
しかし以前、偶然にもラッキなバグを発見したのです。
そのとあるバグとは自分の作ったモーションが、2倍速
で再生されてしまう、と言うものでした。
当時は悩まされましたけどねw
で、肝心の原因はモーションを再生する全く同じ命令を
別関数で一つずつ、計2つ使っていた事にありました。
これを逆手にとり同じモーション命令を5個程実行し、
モーション作成時に、目標の5倍速でデフォルトの速さに
なるようにあえて遅くアニメーションすることで実現できる
のでは?と踏んでいます。
スローモーにするには、歩く早さ、マウス感度、敵の思考時間
とにかく全ての変数と言う変数に共通のスローモー専用変数
を適用する必要があります。大変ではありますが、実現は可能
でした。しかしモーションの件で今までお手上げ状態でしたが、
ふと、思い出し逆に考えることでこの案を思いつきました。
プログラマーにとってバグは大敵であり、アイディアの塊でも
あるんですよね。もちろん、それはデバッグにより発見できるので、
デバッグはとても重要ですよね。
第一、HSPである程度本格的なFPSを作るなんぞ、
スーパーファミコンでFPSを作るようなものですし(笑)
PR