ゲームを作るなら読んでおきたいソースコード

| | コメント(0) | トラックバック(0)

QuakeIII のソースコードがリリースされた

これは読んでおくべき・・・とは言っても、さすがに遊んでいないゲームの、しかも巨大なソースコードを読むのはツライ。

そこで私がおすすめしたいのが、Q3 と同系列の『EnemyTerritory』(*1)。ゲーム本体は完全無料であり、ソースコードも公開されている。言語は C で、構造体をバリバリに使ったアクターモデル、といった感じの作り。

入門者の福音になりそうなのが、ゲームループと描画ループを分離する考え方。

具体的には、ゲームループは 20FPS 固定だが、描画ループの FPS はクライアント PC の性能に応じて上限がない。どういうことかというと、物体の座標や遷移状態の計算に積分を用いている。つまり、始点・移動開始時間・移動ベクトルなどがわかれば、N 時間後の座標がわかるので、クライアント側では 20FPS 以上で計算して滑らかに描画することができる。(*2)

Enemy->X += Enemy->MoveX;
Enemy->Y += Enemy->MoveY;

のようにゲームを作っていたり、分離するにしてもフレームスキップ(*3)な段階の人間には、それなりに衝撃的だと思う(経験済み)。

EnemyTerritory がよくわかるところ:

ゲーム的に本当にお勧めしたいのは EnemyTerritory の前作、RtCW なんだけど、まあ、それは言うまい。

*1 こう書くとゲーム的には語弊があるが。
*2 とはいえ、割り切るべきところは割り切って、ざっくり計算していたりする。こういう取捨選択も参考になるかもしれない。
*3 N フレーム同時ステップなども含む。これも積分といえば積分か。

[本] ゲーム開発のための数学・物理学入門
[本] DirectXゲームグラフィックスプログラミング Ver. 2.0
[本] Game Programming Gems

トラックバック(0)

このブログ記事を参照しているブログ一覧: ゲームを作るなら読んでおきたいソースコード

このブログ記事に対するトラックバックURL: http://www.towofu.net/cgi-bin/mt/mt-tb.cgi/123

コメントする

このブログ記事について

このページは、towofuが2005年8月22日 01:16に書いたブログ記事です。

ひとつ前のブログ記事は「うっかり広告免除期間切れでリマインダを使うことにした」です。

次のブログ記事は「NICE GUY 人」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。