Skip to main content

About this book

C++ is the language behind most of today's computer games. This 96-page C++ Game Development Primer takes you through the accelerated process of writing games for otherwise experienced C++ programmers. After reading this book, you’ll have the fundamental know-how to become a successful and profitable game applications developer in today’s increasingly competitive indie game marketplace.

For those looking for a quick introduction to C++ game development and who have good skills in C++, this will get you off to a fast start. C++ Game Development Primer is based on Learn C++ for Game Development by the same author, giving you the essentials to get started in game programming without the unnecessary introduction to C++.

Table of Contents

Chapter 1. Managing Memory for Game Developers

Memory management is a very important topic in game development. All games go through a period in development where memory is running low and the art team would like some more for extra textures or meshes. The way memory is laid out is also vitally important to the performance of your game. Understanding when to use stack memory, when to use heap memory, and the performance implications of each are important factors in to being able to optimize your programs for cache coherency and data locality. Before you can understand how to approach those problems you will need to understand the different places where C++ programs can store their data.
Bruce Sutherland

Chapter 2. Useful Design Patterns for Game Development

Design patters are like blueprints for your code. They are systems you can use to complete tasks that are very similar in nature that arise while you are developing games. Just as STL data structures are reusable collections that can be used when needed to solve specific problems, design patterns can be utilized to solve logical problems in your code.
Bruce Sutherland

Chapter 3. Using File IO to Save and Load Games

Saving and loading game progress is a standard feature of all but the most basic games today. This means that you will need to know how to handle the loading and saving of game objects. This chapter covers one possible strategy for writing out the data you will need to be able to reinstate a player’s game.
Bruce Sutherland

Chapter 4. Speeding Up Games with Concurrent Programming

Processor manufacturers have hit a ceiling on the number of cycles their CPUs can execute per second. This can be seen with modern CPUs in desktop computers, tablets, and mobile phones where CPU speeds are rarely seen over the 2.5 Ghz mark.
Bruce Sutherland

Chapter 5. Supporting Multiple Platforms in C++

There will come a time in your game development career when you have to write code which will only work on a single platform. That code will have to be compiled out of other platforms. You will more than likely also have to find alternative implementations for each of the platforms you will be working on. Classic examples of such code can usually be found in interactions between your game and online login and microtransaction solutions such as Game Center, Google+, Xbox Live, PlayStation Network and Steam.
Bruce Sutherland

Chapter 6. Text Adventure

The C++ programming language is a tool which will serve you well while trying to build video games. It provides low-level access to processors which allows you to write efficient code for a wide variety of computer processors.
Bruce Sutherland
Additional information