Game Programming Algorithms and Techniques: A Platform-Agnostic Approach (Paperback)

Sanjay Madhav

  • 出版商: Addison Wesley
  • 出版日期: 2013-12-19
  • 售價: $1,980
  • 貴賓價: 9.5$1,881
  • 語言: 英文
  • 頁數: 352
  • 裝訂: Paperback
  • ISBN: 0321940156
  • ISBN-13: 9780321940155
  • 相關分類: Algorithms-data-structures
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

Game Programming Algorithms and Techniques is a detailed overview of many of the important algorithms and techniques used in video game programming today. Designed for programmers who are familiar with object-oriented programming and basic data structures, this book focuses on practical concepts that see actual use in the game industry.

 

Sanjay Madhav takes a unique platform- and framework-agnostic approach that will help develop virtually any game, in any genre, with any language or framework. He presents the fundamental techniques for working with 2D and 3D graphics, physics, artificial intelligence, cameras, and much more.

 

Each concept is illuminated with pseudocode that will be intuitive to any C#, Java, or C++ programmer, and has been refined and proven in Madhav’s game programming courses at the University of Southern California. Review questions after each chapter help solidify the most important concepts before moving on.

 

Madhav concludes with a detailed analysis of two complete games: a 2D iOS side-scroller (written in Objective-Cusing cocos2d) and a 3D PC/Mac/Linux tower defense game (written in C# using XNA/ MonoGame). These games illustrate many of the algorithms and techniques covered in the earlier chapters, and the full source code is available at gamealgorithms.net.

 

Coverage includes

  • Game time management, speed control, and ensuring consistency on diverse hardware
  • Essential 2D graphics techniques for modern mobile gaming
  • Vectors, matrices, and linear algebra for 3D games
  • 3D graphics including coordinate spaces, lighting and shading, z-buffering, and quaternions
  • Handling today’s wide array of digital and analog inputs
  • Sound systems including sound events, 3D audio, and digital signal processing
  • Fundamentals of game physics, including collision detection and numeric integration
  • Cameras: first-person, follow, spline, and more
  • Artificial intelligence: pathfinding, state-based behaviors, and strategy/planning
  • User interfaces including menu systems and heads-up displays
  • Scripting and text-based data files: when, how, and where to use them
  • Basics of networked games including protocols and network topology

商品描述(中文翻譯)

《遊戲程式設計演算法與技巧》是對當今遊戲程式設計中許多重要演算法和技巧的詳細概述。本書針對熟悉物件導向程式設計和基本資料結構的程式設計師,專注於實際應用於遊戲行業的實用概念。

Sanjay Madhav採用了一種獨特的平台和框架無關的方法,可以幫助開發幾乎任何類型、任何語言或框架的遊戲。他介紹了處理2D和3D圖形、物理、人工智能、攝影機等基本技術。

每個概念都以偽代碼進行說明,對於任何C#、Java或C++程式設計師來說都很直觀,並且在Madhav在南加州大學的遊戲程式設計課程中經過改進和驗證。每章後的評論問題有助於在繼續學習之前鞏固最重要的概念。

Madhav最後詳細分析了兩個完整的遊戲:一個2D iOS橫向捲軸遊戲(使用Objective-C和cocos2d編寫)和一個3D PC/Mac/Linux塔防遊戲(使用C#和XNA/MonoGame編寫)。這些遊戲展示了前幾章中涵蓋的許多演算法和技術,並且完整的源代碼可在gamealgorithms.net上獲得。

內容包括:

- 遊戲時間管理、速度控制和確保在不同硬體上的一致性
- 現代移動遊戲的基本2D圖形技術
- 用於3D遊戲的向量、矩陣和線性代數
- 3D圖形,包括座標空間、照明和著色、z緩衝和四元數
- 處理當今各種數位和類比輸入
- 包括聲音事件、3D音效和數位信號處理的聲音系統
- 遊戲物理學的基礎,包括碰撞檢測和數值積分
- 攝影機:第一人稱、跟隨、樣條等
- 人工智能:路徑尋找、基於狀態的行為和策略/規劃
- 用戶界面,包括菜單系統和頭部顯示
- 腳本和基於文本的數據文件:何時、如何和在哪裡使用它們
- 網絡遊戲的基礎,包括協議和網絡拓撲