Program 3D Games in C++: The #1 Language at Top Game Studios Worldwide
C++ remains the key language at many leading game development studios. Since it’s used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav’s game programming courses at USC, it’s fun, easy, practical, hands-on, and complete.
Step by step, you’ll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You’ll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know.
- Set up your C++ development tools quickly, and get started
- Implement basic 2D graphics, game updates, vectors, and game physics
- Build more intelligent games with widely used AI algorithms
- Implement 3D graphics with OpenGL, shaders, matrices, and transformations
- Integrate and mix audio, including 3D positional audio
- Detect collisions of objects in a 3D environment
- Efficiently respond to player input
- Build user interfaces, including Head-Up Displays (HUDs)
- Improve graphics quality with anisotropic filtering and deferred shading
- Load and save levels and binary game data
Whether you’re a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You’ll master the language that top studios are hiring for—and that’s a proven route to success.