ゲームエンジン・アーキテクチャ第2版 も監修させていただきました
4月 2, 2015 コメントを残す
ゲームエンジン・アーキテクチャ 第2版が発売されました。
今回も、監修をさせていただきました。
といっても、元の訳がよくできているので、非常に短い時間で監修を行うことができました。
また、前回同様に湊さんにも行っていただいたので、安心して作業ができました。
見逃している間違いがありましたら、私の責任です。ごめんなさい。教えていただけると助かります。
変更された点についてですが、下に書き出してみました(全てを書き出したわけではないので、参考までに)。
第1版から第2版への変更は、5年たったということで、PS3(アンチャーテッド 黄金刀と消えた船団)世代からPS4(The Last of Us)世代へのアップデートが主ですが、将来の課題であったオーディオの項目も追加されています。また、C++11についてもページをとって説明されています。サンプルコードもそれに合わせてきちんと修正されてるのが素敵なところです。
個人的に良かったのは、第1章の最後。リソースに関するデータベース利用やwebの管理画面の話が追加されていて、ソーシャルゲームの人にとっては当然かと思いますが、コンシューマゲームだと、あまり導入が進んでいないところだと思うので、それが、ノーティドッグでは着実に導入されている点にさすがだなぁと感じました。
また、もうひとつは、++pじゃ無くてp++にノーティドックではコード標準を切り替えたというお話。おっさんプログラマは、(あえて読み難い)プレインクリメント演算子を使うように仕込まれてきたと思うので、この変更は以外に感じるのではないでしょうか(詳細は本文で!)。
他にも、キビバイトとか、知らないネタもあったので、第1版を買われた方も新たな気持ちで楽しめるのではないでしょうか。
本の値段は高いと感じられるかも知れません。しかし、私は、第1版が品切れになってから、若手に「とりあえずこれを読んでおけ」と指示する本がなくなって困った経験をもってますので、販売されている内にお買い求めいただくのが吉かと思います。
修正された項目は多いので、1つ1つが詳細に解説されているわけではないという点で過度な期待は禁物ですが、興味がある項目がありましたら、ぜひ、手にとってみてください!!
[非公式&適当] ゲームエンジン・アーキテクチャの第1版から第2版での変更点
- 全体的な変更
- 解説するゲームエンジンのベースが「アンチャーテッド」から、「アンチャーテッド+The Last of Us」に拡張
- 主なターゲットがPS3, Xbox 360からPS4, Xbox Oneに変更
- 画像など、最新の事例に差し替え
- 第1章 イントロダクション
- 「プレイヤー主導コンテンツ」について追加
- エンジンの例として、DICEのFrostbite、CryENGINE、ソニーのPhyreEngine、Unity、プログラマではない人向け2Dゲームエンジンが追加
- 「PS4のコアダンプ機能」について追加
- UE4の3Dオーディオレンダリングエンジンの紹介の追加
- 「リソースデータベース」について追加
- 「Webベースのユーザーインターフェイス」について追加
- 第2章:仕事用ツール
- 複数スタートアップのデバッグについて間違い修正
- 第3章 ゲームのためのソフトウェアエンジニアリングの基本
- 「C++11」について追加
- 「キビバイト」について追加
- 「パイプライン、キャッシュおよび最適化」について追加
- 第4章 ゲームのための3D計算
- 「擬ベクトルと外積代数」について追加
- 「quaternionの成分表記」について追加
- 「デュアルクォータニオン」について追加
- 「平面の方程式」について追加
- 「gccのvector型」について追加
- 「SSE組み込み命令を使ったコーディング」について追加
- 「SSEドキュメント内の専門用語」について追加
- 例として出したコードにconstを追加して改善
- 第5章 エンジンサポートシステム
- 「プレインクリメント演算子→ポストインクリメント演算子」推奨に変更
- 独自仕様のコンテナクラス作成の利点に「並列データストラクチャのコントロール」を追加
- 「UTF-32、 UTF-8」について追加
- 「char vs wchar_t」について追加
- 「WindowsのUnicode」情報の更新
- 事例として、ノーティドッグのローカリゼーションツールについて追加
- 第6章 リソースとファイルシステム
- SSDについて追加
- 第7章 ゲームループとリアルタイムシミュレーション
- 「スクリーンティアリング」について追加
- PS4、Xbox Oneについて追加
- 第8章 ヒューマンインターフェイスデバイス(HID)
- SIXAXISからデュアルショックに変更
- 第9章 デバッグおよび開発のツール
- Redisを使ったTTYチャンネルを管理について追加
- 第10章 レンダリングエンジン
- 「浮動小数点数深度バッファ」について追加
- 「GPUの歴史の概要」にコンピュートシェーダ追加
- 「PS4のシェーダリソーステーブル」について追加
- 「OIT」について追加
- バンプマッピング、ディスプレースメントについて追加
- 「物理ベースのシェーディング」について追加
- 「空のレンダリング順序」について追加
- 第11章 アニメーションシステム
- モーフターゲットの頂点数の増加について追加
- 「リターゲット・ポーズ」について追加
- 「PlayStation 2での最適化」を削除
- 「自動アップデート」のツールについて追加
- UE3からUE4の例に変更。(加算ブレンディングができない記述の削除)
- IKの目標点に動的なオブジェクトを追加
- 第12章 コリジョンと剛体力学
- PhysXでAPEX情報について追加
- PhysX、Havokでサポートプラットフォーム追加
- Unrealエンジンの物理的マテリアルシステムについて追加
- ノーティドッグでの弾丸処理について追加
- 「高度な物理的要素」に、物理によるオーディオの合成、GPGPU追加
- 第13章 オーディオ
- 章自体が新規追加
- 第14章 ゲームプレイシステムの概要
- 「特別なオブジェクトのタイプ」について追加
- 第15章 ランタイムのゲームプレイ基本システム
- 「PlayGo」について追加
- 第16章 まだやることがあるってこと?
- 「オーディオ」について削除
- 人工知能について修正