月別アーカイブ: 2011年4月

ゲームエンジン・アーキテクチャ読了

gameenginearchitectureゲームエンジン・アーキテクチャ読み終わりました。アンチャーテッドの開発者が書いた本で、800ページ以上あります。

ゲームエンジンを作るために必要な機能について一通り書かれてます。丁寧に書かれているため、わかり易いです。まぁわからない箇所もあったけど、単に俺の勉強不足か。あと理論が書かれてるだけで、実装方法についてはほとんど書かれてません。

以下自分用メモとして思った事などを…

11.6
アニメーション同士を組み合わせるアニメーションブレンディングという手法でキャラクタの多様な動きをリアルタイムに作ってるんだね。怪我の度合いで動きを変えるとか、武器を構えたまま歩いたりとか。しかし不自然にならないように結構複雑な処理が必要です。

11.7
アニメーションブレンディングした後、さらに不自然なところを直すため、ポスト処理を行います。例として平らじゃない地面に身を屈めて、地面から物を拾い上げるアニメーションについて書かれてたけど、改めて考えると物凄く大変だ。

11.11.5.4
歩いてる時に地に足が着いているように見せるための処理。これもリアルさを考えると重要だね。

12.4.8.7
人が倒れる時とかの挙動の物理シミュレーションをラグドールと言います。確かにやられたアニメーションパターンを全部は用意してられないし、壁とか床とかで動き変わるから必要だね。

12.5.3.2
地形の当たり判定と見た目が違う場合、狭い隙間とかに弾を撃ち込めないというのは確かにと思った。弾を撃つ時だけはレンダリング用のポリゴン見て当たりを判断するのか。

14.4
ゲームワールドのロード方法。一度に1つのレベルを読み込む、狭い空間を通らせてる間に次の広いレベルを読み込むエアロック、ストリーミングで随時読み込むという3つの方法。

14.6.3
オブジェクトとサブシステムの相互依存性。猫を抱いてる人とか、ジープに乗ってる人が持ってる武器の弾倉とか、依存関係大変だ。

一通り読んで思ったのは「無理だw」という事。全ての機能を作る必要はないけど、それでも3Dをやるという事は思った以上に大変なんだね。

今作ってるのは2Dのゲームだからいいけど、3Dゲーム開発する時にはフリーのゲームエンジンを利用させてもらおうかな。ただUnity 3DとかIrrlichtとか色々あるみたいだけど、どれが良いんだろ。

渋谷で飲む

久しぶりに渋谷で飲みました。ちょっと前にも誘われたんだど、仕事忙しくて行けなかったんだよね。ビールと焼き物でまったりやりました。

その席で、メジャーデビューしたミュージシャンとも久しぶりに会ったんだけど、話の中で「プロとアマじゃ取り組み方が全然違う。アマはすぐ妥協するから一緒に出来ない」と言ってました。

俺も最近忙しさにかまけて妥協してる気がするなぁ。気を引き締めないと。

ベヨネッタクリア(ネタバレ)

bayonettaBAYONETTA(ベヨネッタ)をクリアしました。かなり難易度高かったです。クリアタイム18時間くらいだけど、実際にはもっとかかってます。

マップとか演出が凝ってて良いね。落下する破片の上で戦ったり、壁とか球体とか色んな所を歩けたり。あと主人公のエロかっこ良さに感心した。技術の進歩は素晴らしい。

戦闘だけど、とにかくすぐやられる。ウィッチタイムが基本動作なのだと気付いてから、ようやく先に進めるようになったけど、それでもやられまくり。あとボタン連打ばっかなんで、手が疲れた。

特に赤青のカニ男2人組と、ロケットに乗ってシューティングするところは辛かった。カニ男の所はセレーネの光を買ってから楽になったけど。シューティングはやられたらかなり前まで戻されちゃうんできつかった。苦痛のレベル。

敵は天使だけどなんかバスタードを思い出すデザインだったな。あとボスクラスのはとにかくでかい。それをパーツごと破壊していって倒すのは楽しかったです。

ライバルのジャンヌは最初見た目も行動もヤな奴だなぁと思ってたけど、後半の活躍がカッコ良すぎる。良いキャラだ。

ストーリーだけど、なんで天使が賢者に全面的に味方してるのかよくわからなかった。主神を復活させるからってだけ? ストーリー見返すために、難易度EASYにしてプレイし直そうかな。キャラ変更とかコスチューム追加とかのクリア特典もあるしね。