Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!

log

2010.10.07 C++:カラーVSモノクロ


動くキャラ同士の衝突判定を実装してみました!

動くキャラと動かないキャラ・壁との衝突判定はあまり深く考えずに
実装できたのですが(といっても壁沿い移動は難しかった…苦笑)。
動くキャラ同士の場合だと”お互いの動きを考慮に入れた後、
衝突判定を行い、その結果を元に壁沿い移動して、またその
壁沿い後の座標で他のキャラと衝突していないか”…などなど。
途端にロジックが難しくなることが分かりました。これ、本当に
正確な衝突判定を行おうとした場合、下手すると衝突判定が
無限大に続いてしまうので、物理演算なんかでよく設定される
”ステップ数”っていうのはこの1フレーム当たりの衝突判定回数を
制限しているんだろうなと思いました。

そういえば、今回の処理でCPU負荷が結構かかってしまったかなと
思いましたが、まだ最大で50%程しか使用していませんでした。
GPUは思いきりこき使ってますが苦笑。余力が残っているのは嬉しいな。

comment

たけなか 2010.10.08-00:21 Edit

そろそろ攻撃やらイベントシステムやらも導入したいな。

イベントシステムは色々と今後のために、RPGツクールのような
直感的に操作できるような設計にできたらいいなと考え中。
RPGツクールはもはや過去のものといった印象がありますが、
誰でも簡単にゲームを作れるようなあの設計だけはすごいなと、
今でも光るモノを感じます。

たけなか 2010.10.08-00:39 Edit

そういえば、時々3Dゲーム関係で「ゲームでは解像度の関係で
手は大きめに作ったほうが見栄えがいい」って云いますが。。

あれはPS1のZソート時代に細かいポリゴンを使用すると
ちらつくからというのが理由なだけで、解像度に依る見栄えはあまり
関係が無いと思うんですよね。。自分で色々試してみましたが、
手が小さいからといって見栄えが悪いとは思えませんでした。
むしろ手が大きい分だけ前時代的な印象を受けてしまうという。

まぁプログラミングでも一昔前にdouble,floatの速度論争が
あったようですが。時代に応じて考え方をシフトする部分も
生じてくるというのを常日頃意識するのも大切なのかなと思いました。