物理エンジン
物が落ち、跳ね、ぶつかる様子を計算するサブシステム。それらしくはあるが、正確ではない。
更新ごとの処理は三段階に分かれる。衝突しそうな物体の絞り込み(ブロードフェーズ、通常は空間木を使う)、衝突位置と状態の厳密な判定(ナローフェーズ)、そして互いにめり込まないよう撃力で解消する段階だ。その後、数値積分で全体を 1 タイムステップ進める。標準は半陰的オイラー法で、安定性が十分で安価だからである。
目指すのは正確さではなくもっともらしさだ。ゲームは誇張した重力や偽の空気抵抗、静止した物体を魔法のように「スリープ」させることを平気で行う。眠った木箱は CPU を食わないのだから。商業面では Havok(1998)と PhysX が分野を牽引し、Box2D と Bullet がオープンにした。典型的な失敗は物理をフレームレートに結びつけることで、マシンごとに挙動が変わってしまう。ゲームループの固定タイムステップはまさにこれを防ぐためにある。