
Data Structures and Algorithms for Game Programming in C++
Write high-performance code and solve game development challenges with expert-led C++ solutions
Packt Publishing
Published on 30. June 2025
Book
Paperback/Softback
428 pages
978-1-83588-986-2 (ISBN)
Description
Learn C++ game programming through real-world demos of AI systems, animation, and rendering to build scalable, high-performance games using patterns you can reuse across any game engine
Free with your book: DRM-free PDF version + access to Packt's next-gen Reader*
Key Features
Build real-time 2D and 3D games using C++ with practical, executable examples
Gain proficiency in game programming domains like AI pathfinding, camera systems, animation, and rendering effects
Boost runtime efficiency with object pooling, LOD patterns, and terrain partitioning to create smoother, more responsive gameplay systems
*Email sign-up and proof of purchase required
Book DescriptionCreating responsive, intelligent games takes more than just following engine tutorials. It requires solving real development challenges with practical, efficient code. This book bridges theory and practice with proven algorithms and techniques grounded in real-world production needs, emphasizing clean, portable C++ implementations.
Starting with raylib and the custom Knight engine layer, you'll be introduced to a simple object-oriented scene and game object system. From there, you'll build responsive gameplay systems using essential data structures and algorithms, progressing through 2D rendering, collision detection, effects, and camera control before advancing to 3D graphics environments built using shaders, lighting, quad-tree terrain, and dynamic camera setups.
You'll animate characters using skeletal rigs, interpolation, and inverse kinematics for fluid movement and then develop game AI using FSMs, behavior trees, A* pathfinding, and steering behaviors. The book also covers neural networks, exploring their underlying theories, training processes, and tools. Throughout, the code is written in legacy-compatible C++ to ensure broad support across platforms and compilers.
By the end, you'll have gained the skills to build game systems that not only work but also scale, perform, and adapt like professional-grade code.What you will learn
Use C++ data structures and algorithms to build core gameplay features
Implement 2D/3D rendering with shaders, particle effects, and terrain systems
Design camera systems like third-person, top-down, and split-screen views
Optimize performance using object pooling and LOD
Animate characters using skeletal rigging, interpolation, and inverse kinematics
Build game AI with FSMs, behavior trees, pathfinding, and steering
Apply neural network concepts in a turret defense project
Who this book is forThis book is for junior game developers, hobbyists, and computer science students entering game development, as well as C++ programmers looking to strengthen their skills. While some familiarity with C++ is helpful, the examples are explained step by step to remain approachable. Whether you're starting out or reinforcing your skills before diving into game engines down the road, this book offers a clear and practical foundation to make you a more effective developer, regardless of which tools you choose later.
Free with your book: DRM-free PDF version + access to Packt's next-gen Reader*
Key Features
Build real-time 2D and 3D games using C++ with practical, executable examples
Gain proficiency in game programming domains like AI pathfinding, camera systems, animation, and rendering effects
Boost runtime efficiency with object pooling, LOD patterns, and terrain partitioning to create smoother, more responsive gameplay systems
*Email sign-up and proof of purchase required
Book DescriptionCreating responsive, intelligent games takes more than just following engine tutorials. It requires solving real development challenges with practical, efficient code. This book bridges theory and practice with proven algorithms and techniques grounded in real-world production needs, emphasizing clean, portable C++ implementations.
Starting with raylib and the custom Knight engine layer, you'll be introduced to a simple object-oriented scene and game object system. From there, you'll build responsive gameplay systems using essential data structures and algorithms, progressing through 2D rendering, collision detection, effects, and camera control before advancing to 3D graphics environments built using shaders, lighting, quad-tree terrain, and dynamic camera setups.
You'll animate characters using skeletal rigs, interpolation, and inverse kinematics for fluid movement and then develop game AI using FSMs, behavior trees, A* pathfinding, and steering behaviors. The book also covers neural networks, exploring their underlying theories, training processes, and tools. Throughout, the code is written in legacy-compatible C++ to ensure broad support across platforms and compilers.
By the end, you'll have gained the skills to build game systems that not only work but also scale, perform, and adapt like professional-grade code.What you will learn
Use C++ data structures and algorithms to build core gameplay features
Implement 2D/3D rendering with shaders, particle effects, and terrain systems
Design camera systems like third-person, top-down, and split-screen views
Optimize performance using object pooling and LOD
Animate characters using skeletal rigging, interpolation, and inverse kinematics
Build game AI with FSMs, behavior trees, pathfinding, and steering
Apply neural network concepts in a turret defense project
Who this book is forThis book is for junior game developers, hobbyists, and computer science students entering game development, as well as C++ programmers looking to strengthen their skills. While some familiarity with C++ is helpful, the examples are explained step by step to remain approachable. Whether you're starting out or reinforcing your skills before diving into game engines down the road, this book offers a clear and practical foundation to make you a more effective developer, regardless of which tools you choose later.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 23 mm
Weight
795 gr
ISBN-13
978-1-83588-986-2 (9781835889862)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

ZHENYU GEORGE LI | Charles Shih-I Yeh
Practical C++ Game Programming with Data Structures and Algorithms
Write high-performance code and solve game development challenges with expert-led C++ solutions
E-Book
06/2025
Packt Publishing
from
€29.99
Available for download
Persons
Zhenyu George Li is a veteran software engineer and passionate game developer with over 20 years in the industry. As a Senior Development Software Engineer at Unity, he advances tools and workflows that power modern games. His career spans commercial titles such as Sandbox, Halo Infinite, Magic Arena, Stela, Dead Rising 2, and The Bigs 2. With expertise in engines, AI, graphics, animation, physics, networking, and UI, he brings broad technical depth. George has also taught Unreal Engine, programming, and software engineering at institutions including Vancouver Film School, sharing his knowledge with future developers. Charles Shih-I Yeh studied computer science at the University of Southern California and began his career in games in the early 2000s. He has built proprietary engines, developed DCC tools to optimize pipelines, and designed gameplay mechanics, multiplayer systems, and tournament services for MMORPGs. Dedicated to education, Charles has lectured on game programming at several universities. He is the author of two game design books and the official Mandarin translator of several well-known programming titles, including Game Programming Gems IV.
Content
Table of Contents
Gearing Up: C++ for Game Development
Data Structures in Action: Building Game Functionality
Algorithms Commonly Utilized in Game Development
2D Rendering and Effects
The Camera and Camera Controls
3D Graphics Rendering
Rendering a 3D Game World
Animating Your Characters
Building AI Opponents
Machine Learning Algorithms for Game AI
Continuing Your Learning Journey
Gearing Up: C++ for Game Development
Data Structures in Action: Building Game Functionality
Algorithms Commonly Utilized in Game Development
2D Rendering and Effects
The Camera and Camera Controls
3D Graphics Rendering
Rendering a 3D Game World
Animating Your Characters
Building AI Opponents
Machine Learning Algorithms for Game AI
Continuing Your Learning Journey