Mastering C++ Game Animation Programming: Enhance Your Skills with Advanced Game Animation Techniques in C++, OpenGL, and Vulkan

· Packt Publishing Ltd
Ebook
544
Pages
Ratings and reviews aren’t verified  Learn More

About this ebook

Develop a compact game engine-like animation application in C++ using OpenGL 4 or Vulkan through hands-on implementation in this part-color guide


Key Features

Learn how to build a game engine–like skeleton application using a modern graphics API

Explore compute shaders, visual selection, UI creation, visual programming, configuration file handling, collision detection, behavior controls, and more

Create your own virtual world with naturally acting inhabitants

Purchase of the print or Kindle book includes a free PDF eBook


Book Description

With two decades of programming experience across multiple languages and platforms, expert game developer and console porting programmer Michael Dunsky guides you through the intricacies of character animation programming. This book tackles the common challenges developers face in creating sophisticated, efficient, and visually appealing character animations.

You’ll learn how to leverage the Open Asset Import Library for easy 3D model loading and optimize your 3D engine by offloading computations from the CPU to the GPU. The book covers visual selection, extended camera handling, and separating your application into edit and simulation modes. You’ll also master configuration storage to progressively build your virtual world piece by piece.

As you develop your engine-like application, you’ll implement collision detection, inverse kinematics, and expert techniques to bring your characters to life with realistic visuals and fluid movement. For more advanced animation and character behavior controls, you’ll design truly immersive and responsive NPCs, load real game maps, and use navigation algorithms, enabling the instances to roam freely in complex environments.

By the end of this book, you’ll be skilled at designing interactive virtual worlds inhabited by lifelike NPCs that exhibit natural, context-aware behaviors.


What will you learn

Master the basics of the Open Asset Import Library

Animate thousands of game characters

Extend ImGui with more advanced control types

Implement simple configuration file handling

Explore collision detection between 3D models and world objects

Combine inverse kinematics and collision detection

Work with state machines, behavior trees, and interactive NPC behaviors

Implement navigation for NPC movement in unknown terrains


Who this book is for

This book is for experienced C++ developers, game programmers, and character animators who already have basic knowledge of character animation but are curious to learn more. The book assumes advanced C++ knowledge and is ideal for those eager to delve into advanced animation techniques and create interactive virtual worlds.

About the author

Michael Dunsky is an electronics engineer, console porting programmer, and game developer with more than 20 years of programming experience. He started with BASIC at the young age of 14 and expanded his portfolio over the years to include assembly language, C, C++, Java, Python, VHDL, OpenGL, GLSL, and Vulkan. During his career, he also gained extensive knowledge of Linux, virtual machines, server operation, and infra-structure automation. Michael holds a Master of Science degree in Computer Sci-ence from the FernUniversität in Hagen with a focus on computer graphics, parallel programming, and software systems.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.