Book Info

Book Cover

Title: Game Programming Algorithms and Techniques: A platform-agnostic approach
Author: Sanjay Madhav
Publisher: Addison-Wesley
Pages: 352
MSRP: $59.99 (Buy on Amazon; Buy from Pearson)

Table of Contents:

  1. Introduction
  2. Game Programming Overview
  3. 2D Graphics
  4. Linear Algebra for Games
  5. 3D Graphics
  6. Input
  7. Sound
  8. Physics
  9. Cameras
  10. Artificial Intelligence
  11. User Interfaces
  12. Scripting Languages
  13. Networked Games
  14. Sample Game: Side-Scroller for iOS
  15. Sample Game: Tower Defense for PC/Mac
    Appendix A: Solutions
    Appendix B: Useful Tools for Game Programmers

Extended Preview

A more extended preview of the book (TOC, Preface, Chapter 1, and Index) is available on Pearson’s site.

Back Cover Description:

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-C using 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

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