Book Image

Beginning C++ Game Programming

Book Image

Beginning C++ Game Programming

Overview of this book

This book is all about offering you a fun introduction to the world of game programming, C++, and the OpenGL-powered SFML using three fun, fully-playable games. These games are an addictive frantic two-button tapper, a multi-level zombie survival shooter, and a split-screen multiplayer puzzle-platformer. We will start with the very basics of programming, such as variables, loops, and conditions and you will become more skillful with each game as you move through the key C++ topics, such as OOP (Object-Orientated Programming), C++ pointers, and an introduction to the Standard Template Library. While building these games, you will also learn exciting game programming concepts like particle effects, directional sound (spatialization), OpenGL programmable Shaders, spawning thousands of objects, and more.
Table of Contents (24 chapters)
Beginning C++ Game Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Dedication
Preface
17
Before you go...

Building the game engine


As suggested in the previous discussion, we will code a class called Engine that will control and bind together the different parts of the Thomas Was Late game.

The first thing we will do is make the TextureHolder class from the previous project available in this one.

Reusing the TextureHolder class

The TextureHolder class that we discussed and coded for the Zombie Arena game will also be useful in this project. While it is possible to add the files (TextureHolder.h and TextureHolder.cpp) directly from the previous project without recoding them or recreating the files, I don't want to make the assumption that you haven't jumped straight to this project. What follows is very brief instructions, along with the complete code listing to create the TextureHolder class. If you want the class or the code explained, please see Chapter 8, Pointers, Standard Template Library, and Texture Management.

Tip

If you did complete the previous project and you do want to add the class from...