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...

SFML vertex arrays and sprite sheets


We are nearly ready to implement the scrolling background. We just need to learn about SFML vertex arrays and sprite sheets.

What is a sprite sheet?

A sprite sheet is a set of images, either frames of animation or totally individual graphics, contained in one image file. Take a closer look at the sprite sheet that contains four separate images that will be used to draw the background in Zombie Arena:

SFML allows us to load a sprite sheet as a regular texture in exactly the same way we have done for every texture in the book so far. When we load multiple images as a single texture, the GPU can handle it much more efficiently.

Tip

Actually a modern PC could handle these four textures without using a sprite sheet. It is worth using these techniques as our games are going to start getting progressively more demanding on the hardware.

What we need to do when we draw an image from the sprite sheet is make sure we refer to the precise pixel coordinates of the part...