Chapter 1: C++, SFML, Visual Studio, and Starting the First Game
Setting up the development environment
Creating a project from the template
Understanding screen and internal coordinates
Starting to code the game
Opening a window using SFML
Drawing the game background
Chapter 2: Variables, Operators, and Decisions โ Animating Sprites
Adding clouds, a tree, and a buzzing bee
Making decisions with if and else
Moving the clouds and the bee
Chapter 3: C++ Strings, SFML Time, Player Input, and HUD
Pausing and restarting the game
Adding a score and a message
Chapter 4: Loops, Arrays, Switch, Enumerations, and Functions โ Implementing Game Mechanics
Making decisions with switch
Getting started with functions
Chapter 5: Collisions, Sound, and End Conditions โ Making the Game Playable
Preparing the player (and other sprites)
Drawing the player and other sprites
Handling the player's input
Improving the game and the code
Chapter 6: Object-Oriented Programming, Classes, and SFML Views
Planning and starting the Zombie Arena game
Building the Player-the first class
Controlling the game camera with SFML View
Starting the Zombie Arena game engine
Starting coding the main game loop
Chapter 7: C++ References, Sprite Sheets, and Vertex Arrays
SFML vertex arrays and sprite sheets
Creating a randomly generated scrolling background
Chapter 8: Pointers, the Standard Template Library, and Texture Management
The Standard Template Library
Building a horde of zombies
Using the TextureHolder class for all textures
Chapter 9: Collision Detection, Pickups, and Bullets
Giving the player a crosshair
Coding a class for pickups
Chapter 10: Layering Views and Implementing the HUD
Adding all the Text and HUD objects
Updating the HUD each frame
Drawing the HUD, and the home and level up screens
Chapter 11: Sound Effects, File I/O, and Finishing the Game
Saving and loading the high-score
Playing the rest of the sounds
Chapter 12: Abstraction and Code Management โ Making Better Use of OOP
Structuring the Thomas Was Late code
Chapter 13: Advanced OOP โ Inheritance and Polymorphism
Abstract classes - virtual and pure virtual functions
Building the PlayableCharacter class
Building the Thomas and Bob classes
Updating the game engine to use Thomas and Bob
Chapter 14: Building Playable Levels and Collision Detection
Building the LevelManager class
Coding the loadLevel function
Chapter 15: Sound Spatialization and HUD
How SFML handles spatialization
Building the SoundManager class
Adding SoundManager to the game engine
Populating the sound emitters
Chapter 16: Extending SFML Classes, Particle Systems, and Shaders
Building a particle system
OpenGL, shaders, and GLSL
Chapter 17: Before you go...