試験公開中

このエントリーをはてなブックマークに追加

Game Programming Patterns

インプレス

4,180円 (3,800円+税)

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は米国大手ゲーム会社でゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを解説。

関連サイト

本書の関連ページが用意されています。

内容紹介

開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。

書誌情報

  • 著者: Robert Nystrom(著), 武舎広幸(監訳), 阿部和也,上西昌弘(訳)
  • 発行日: (紙書籍版発行日: 2015-09-24)
  • 最終更新日: 2017-01-12
  • バージョン: 1.0.1
  • ページ数: 392ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

ゲームプログラミングの初級・中級者。初級・中級のプログラマー

著者について

Robert Nystrom

プロフェッショナルプログラマーとして20年の経歴を持つ。そのうち10年はゲームプログラミングに従事。米国大手ゲーム会社のエレクトロニック・アーツに8年間在籍。

武舎広幸

マーリンアームズ株式会社代表取締役。機械翻訳など言語処理ソフトウェアの開発と人間翻訳に従事。東京工業大学大学院博士課程に入学。米国オハイオ州立大学大学院、カーネギーメロン大学機械翻訳センター(客員研究員)に留学後、同社を設立。

阿部和也

1973年頃よりFORTRAN、1980年頃よりBASICでプログラミングを始める。COBOL、PL/I、Cを経て、1990年にビットマップフォントエディタ「丸漢エディター」を発表。現在はPerl、PHP、JavaScriptにより病院情報システムの機能拡張に取り組んでいる。

上西昌弘

学生時代から講義や趣味でプログラミングに親しむ。製造業の情報部門で3D CGおよびAI技術をベースにした開発業務に長年従事した。コンピュータ関係を中心とした書籍の翻訳に参加するとともに、産業翻訳に携わっている。

目次

謝辞

目次

  • 0.1 既存の本について
  • 0.2 デザインパターンとのつながり
  • 0.3 この本の読み方
  • 0.4 サンプルコードについて
  • 0.5 これから進む道

第1章 アーキテクチャ、実行速度、ゲーム

  • 1.1 ソフトウェアアーキテクチャとは何か
  • 1.2 分離のコスト
  • 1.3 実行効率と実行速度
  • 1.4 悪いコードの良い点
  • 1.5 バランスの保持
  • 1.6 単純さ
  • 1.7 うまくやるヒント

■Part II デザインパターン再訪

第2章 コマンド

  • 2.1 入力の設定
  • 2.2 アクターへの指示
  • 2.3 「取り消し」と「再実行」
  • 2.4 クラスが良くて関数はダメ?
  • 2.5 参考情報

第3章 フライウェイト

  • 3.1 木があってこその森
  • 3.2 1,000 個のインスタンス/3.3 フライウェイトパターン
  • 3.4 木を生やす場所
  • 3.5 パフォーマンス
  • 3.6 参考情報

第4章 オブザーバ

  • 4.1 達成の認定
  • 4.2 実装
  • 4.3 「処理速度が遅すぎる」
  • 4.4 「動的メモリ確保の処理が多すぎる」
  • 4.5 残った課題
  • 4.6 現在のオブザーバ
  • 4.7 オブザーバの今後

第5章 プロトタイプ

  • 5.1 デザインパターン「プロトタイプ」
  • 5.2 言語の理論的枠組みとしてのプロトタイプ
  • 5.3 プロトタイプとデータモデリング

第6章 シングルトン

  • 6.1 シングルトンパターン
  • 6.2 使用する理由
  • 6.3 使用をためらう理由
  • 6.4 代替手段
  • 6.5 シングルトンに残されたもの

第7章 ステート

  • 7.1 みんなそうだった
  • 7.2 解決手段としての有限状態機械
  • 7.3 列挙と分岐
  • 7.4 「状態」のパターン/7.5 各状態のクラス
  • 7.6 状態への委任
  • 7.7 状態のオブジェクトの存在場所
  • 7.8 入口処理と出口処理
  • 7.9 うますぎた話
  • 7.10 階層的状態機械
  • 7.11 プッシュダウン・オートマトン
  • 7.12 どれほど有用なのか

■Part III シーケンスのパターン

第8章 ダブルバッファ

  • 8.1 パターン誕生の背景
  • 8.2 パターン/8.3 パターンの適用条件
  • 8.4 パターン使用上の注意/8.5 パターンのサンプルコード
  • 8.6 検討項目
  • 8.7 参考情報

第9章 ゲームループ

  • 9.1 パターン誕生の背景
  • 9.2 パターン/9.3 パターンの適用条件/9.4 パターン使用上の注意
  • 9.5 パターンのサンプルコード
  • 9.6 検討項目
  • 9.7 参考情報

第10章 更新メソッド

  • 10.1 パターン誕生の背景
  • 10.2 パターン/10.3 パターンの適用条件
  • 10.4 パターン使用上の注意
  • 10.5 パターンのサンプルコード
  • 10.6 検討項目
  • 10.7 参考情報

■Part IV ビヘイビアのパターン

第11章 バイトコード

  • 11.1 パターン誕生の背景
  • 11.2 パターン
  • 11.3 パターンの適用条件/11.4 パターン使用上の注意
  • 11.5 パターンのサンプルコード
  • 11.6 検討項目
  • 11.7 参考情報

第12章 サブクラスサンドボックス

  • 12.1 パターン誕生の背景
  • 12.2 パターン/12.3 パターンの適用条件/12.4 パターン使用上の注意
  • 12.5 パターンのサンプルコード
  • 12.6 検討項目
  • 12.7 参考情報

第13章 型オブジェクト

  • 13.1 パターン誕生の背景
  • 13.2 パターン/13.3 パターンの適用条件/13.4 パターン使用上の注意
  • 13.5 パターンのサンプルコード
  • 13.6 検討項目
  • 13.7 参考情報

■Part V 分離のパターン

第14章 コンポーネント

  • 14.1 パターン誕生の背景
  • 14.2 パターン/14.3 パターンの適用条件/14.4 パターン使用上の注意
  • 14.5 パターンのサンプルコード
  • 14.6 検討項目
  • 14.7 参考情報

第15章 イベントキュー

  • 15.1 パターン誕生の背景
  • 15.2 パターン/15.3 パターンの適用条件
  • 15.4 パターン使用上の注意
  • 15.5 パターンのサンプルコード
  • 15.6 検討項目
  • 15.7 参考情報

第16章 サービスロケータ

  • 16.1 パターン誕生の背景
  • 16.2 パターン/16.3 パターンの適用条件
  • 16.4 パターン使用上の注意
  • 16.5 パターンのサンプルコード
  • 16.6 検討項目
  • 16.7 参考情報

■Part VI 最適化のパターン

第17章 データ局所化

  • 17.1 パターン誕生の背景
  • 17.2 パターン/17.3 パターンの適用条件
  • 17.4 パターン使用上の注意/17.5 パターンのサンプルコード
  • 17.6 検討項目
  • 17.7 参考情報

第18章 ダーティフラグ

  • 18.1 パターン誕生の背景
  • 18.2 パターン
  • 18.3 パターンの適用条件
  • 18.4 パターン使用上の注意
  • 18.5 パターンのサンプルコード
  • 18.6 検討項目
  • 18.7 参考情報

第19章 オブジェクトプール

  • 19.1 パターン誕生の背景
  • 19.2 パターン/19.3 パターンの適用条件
  • 19.4 パターン使用上の注意
  • 19.5 パターンのサンプルコード
  • 19.6 検討項目
  • 19.7 参考情報

第20章 空間分割

  • 20.1 パターン誕生の背景
  • 20.2 パターン/20.3 パターンの適用条件/20.4 パターン使用上の注意
  • 20.5 パターンのサンプルコード
  • 20.6 検討項目
  • 20.7 参考情報

著者について

Home 書籍一覧 Game Programming Patterns ▲ ページトップへ戻る