コンテンツにスキップ

第4部: ゲームプログラミングで頻出するパターン

GoF(第3部)が汎用の設計語彙だとすれば、この章はゲーム開発の現場で生まれた実戦パターンです。多くはRobert Nystrom『Game Programming Patterns』で整理されたもので、パフォーマンス(毎フレーム動く・大量に出る)とワークフロー(企画が調整する)というゲーム特有の圧力から生まれています。

ページ一覧

ページ 扱うパターン
Game Loop と Update Method ゲームの心臓部。固定/可変タイムステップ
Component と ECS Component、Entity Component System、継承方式との比較、GameObject/MonoBehaviour方式との比較
Event Queue・Message Bus・Pub/Sub Observerとの比較を含む通知の全体地図
Service Locator と DI 依存の配り方2方式の比較
Object Pool 通常のnew/deleteとの比較
最適化系パターン Dirty Flag、Spatial Partition、Data Locality、Double Buffer
Type Object・Subclass Sandbox・Bytecode データ駆動設計の3段階
ステートマシン(FSM/HSM) 有限/階層型ステートマシン、State と Strategy の比較
Behavior Tree と Blackboard AIの構造化
Command Buffer と入力処理 Commandパターンとの関係、描画コマンドバッファ
MVC・MVP・MVVM UIアーキテクチャ3方式の比較
Reactive Programming R3/UniRx、データフローの考え方

仕上げに 演習 を解いてください。

この章の読み方

  • 各パターンはUnityとUnreal Engineのどこに現れるかを必ず書いています。「自作する」より「エンジンが実装済みのものを正しく使う」場面の方が多いためです。
  • 最適化系パターン(Object Pool、Data Locality等)は計測とセットで使うもの。計測なしの適用は早すぎる最適化です。

主要な比較(このカテゴリの核)


全体目次 | 次: Game Loop と Update Method