2012年1月24日火曜日

またか…ヽ(´Д`;)ノアゥ…

1日にコーヒーを4杯以上飲む魔偶です。

最近はMZ開発で、レーザーの処理についてアルゴリズムを考察してました。
朝飯食べてる時とか、通勤のJRに乗っている時とか、会社で休憩のトイレの時とか、寝る前とか。

具体的には…発射する方法、発射したレーザーが伸びるアニメーション、もちろん発射した時点~発射中~画面外に出て喪失するまでの自機との当たり判定などです。

そのアルゴリズムの中で個人的に一番奥深く捉えているのは、自機との当たり判定。
やはりシューティングゲームたるもの、自機とレーザーとの当たり判定はなるべく厳密に行いたいものなのです。
そーしないと、レーザーに当たってもいないのにダメージを受けた、もしくは逆に、当たってるのにダメージ受けてないよ?変じゃね?ってことになるわけです。

んなシューティングゲームありえんわぁ。
(/ω\)イヤン

ってことで、レーザーの処理に関するアルゴリズムや参考になりそうなコードを色々とググッてみると、C言語で書かれているものが多数あるものの、基本的にはピタゴラスの定理とベクトルを利用すれば厳密な当たり判定がなんとかなるようで…。

はい…ベクトルわかりません。
'`ィ (゚д゚)/

というわけで、違うアルゴリズムを考察して、ピタゴラスの定理もベクトルも利用せずに、開発言語のHSPで利用するhspdxfixライブラリ内の命令を利用して「ひょっとしてなんとかなるかも?」という状態にこぎついたのがついさっきです。
ε-(´∀`*)ホッ

いや、まだアルゴリズムを導いただけで、HSPのスクリプトで検証してないから安心するのは早いかも。

しかし…今回は回避できそうだとしても、「ベクトルを勉強するしかないのか?」という課題は再びどこかで遭遇しそうだなぁと思いました。

0 件のコメント:

コメントを投稿