スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

西ゲ開発に関して(6)

何か書けよ、って言われた気がしたから書いておこう。
しかし、氏の製造する言葉ひとつひとつが非常に香ばしい。アレは本当に素なんだろうか。
いや、アレが演技だなんてそんなことあるはずもないのだけれど、いささか度が過ぎる
とでもいいましょうか。もう何だかこっちが心配になってきますね、「大丈夫」なのかと。

簡潔で言うと、「お前将来ひとりで生きていけんの?」。


さて、そんな戯言はここらにしておいて西ゲーに関してですね。

Direct3Dがどうたらとか言うのは、結局のところ見栄えの良さだとか、あまり直接ゲーム部分には
関わってこない土台部分の設計になるので、やろうと思えば他のゲームやそれ以外のプログラムにも
流用しようと思えば出来るようなものです。絵を表示する、音を鳴らす、という根本的な部分を
どのようなツールで実現するか、という違いですね。鉛筆で描くか、筆で描くか、はたまたデジタルで描くか。
どうにせよ、今のところ描画できているので良しとします。つまりここはほぼ完成。

そして肝心のゲーム進行の部分です。今のところはシューティング部分の動作に関しては、
土台部分は完成しているといってもいいでしょうか。背景を描き、自機・敵機が動く。当たったら死ぬ。
なんだかんだ言ってもゲームってのは、つまりはある一定の動作のループですので、そのループの中身を
遷移させていけば敵が出てきたり、背景が流れたりするわけです。しかし全体を通してみれば、
まだタイトルも選択画面もありませんし、残機やボム、スコアも実装されていません。
ただし、すでに大体の製作ツール的なものは完成したので、あとは完全に根気と数学な気がします。
とりあえずver1.00のベータ版的なものとするためには、「メニュー画面」、「ボム」、「残機」、「スコア」、
「ポーズ画面」、「ゲームオーバー画面」・・・このくらいかね。これらを盛り込むことが出来れば、
一応全体を通してゲームの体裁が保てると言っていいんじゃないでしょうか。


ところで。シューティングで一番大事なもののひとつは、やっぱり当たり判定だと思うのですが・・・。
いやー、これがもうメンドクサイのなんのって。円と円だとか、座標軸に平行な矩形同士の衝突であれば、
ちょっと考えればすぐに済む簡単な話です。円だったら両者の半径の和が中心同士の距離より大きいか否か、
矩形であれば、上下左右の辺がもうひとつとどのような位置関係か、これらを単純に比較するだけです。
ですが、回転した図形や歪んだ図形となるとまた話が違ってきます。歪んだ図形・・・は楕円等なわけですが
今回は使いません。問題は軸平行ではない直線と円の接触判定です。

まあめんどくさかったよ。問題としては簡単で、座標系上のある点からある直線へおろした垂線の距離、
これが分かれば後は半径と比較して、直線と垂線が接するかを調べるだけです。
別に垂線自体を求めるのは回転角やなんかがわかればゴリゴリと三角関数で適当に計算すればいいのですが、
問題は三角関数ですね。当たり判定にこれを使うということは、1フレームごとにsin/cosを計算しまくるので
簡単に言えば効率が悪いです。そもそも当たり判定の処理は画面上に弾が100発あったら、それ×対象数を
毎フレーム計算するんですから、多分そこらへんは考えた方がいいんだと思います。と、何処かで聞きました。

ので考えた結果ベクトル演算の復習をしました。内積とか外積とかその他もろもろ。
いやー、ベクトルって偉大ですねぇ。考えたやつはマジで天才だと思います。だから使われてんだろうけど。
ついでに行列も非常に使い勝手のいい計算ツールだということが判明。高校の数Cは行列を行列として
だけではなく、座標変換や回転に使うツールとしての側面をもっと強調すべき。

DirectX、Win32API、C++など基盤部分の理解

ツール作成

システム作成 

アルゴリズム作成 ←今ここ

バグフィックス

完成




そんなことより仮面ライダーの映画マジで面白かった。今までのライダー映画の中で一番だと思う。
基本的に毎年映画をやる季節が夏ってのが番組のど真ん中だったおかげか、今まではパラレル設定とかが
多かったんだよね。でも今回はディケイドで時期をずらしたおかげで、終盤に映画の時期が来る。
だから本編に絡んだ上で、矛盾も少なく溶け込めているってのがよかった。
最終回まで後2回しかないなんてもう1年経ったんだなぁ・・・。それにしても今回の仮面ライダーは
近年まれに見る完成度の高さだった。きっと今回のスタッフなら後2回でいい感じに番組を締めてくれると
期待しています。そしてどうやらオーズとは世界が地続きなようだけど、財団Xはショッカー的な立ち位置か。



スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。