Learn to program with C++ by building fun games
John Horton
C++#
Game_Programming#
SFML#
OOP#
STL#
design_patterns#
Get to grips with programming and game development techniques using C++ libraries and Visual Studio 2022 with this updated edition of the bestselling series.
Key Features:
- Create fun games in C++, with this up-to-date guide covering the latest features of C++20 and VS2022
- Build clones of popular games such as a Timberman clone, a Pong game, a Zombie Survival Shooter, and a platform endless runner game
- Discover tips to expand your finished games by thinking critically, technically, and creatively
Book Description:
Always dreamed of creating your own games? With the third edition of Beginning C++ Game Programming, you can turn that dream into reality! This beginner-friendly guide is updated and improved to include the latest features of VS 2022, SFML, and modern C++20 programming techniques. You'll get a fun introduction to game programming by building four fully playable games of increasing complexity. You'll build clones of popular games such as Timberman, Pong, a Zombie survival shooter, and an endless runner.
The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as vertex arrays, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. You'll dive deep into game mechanics and implement input handling, levelling up a character, and simple enemy AI. Finally, you'll explore game design patterns to enhance your C++ game programming skills.
By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch.
What You Will Learn:
- Set up your game project in VS 2022 and explore C++ libraries such as SFML
- Build games in C++ from the ground up, including graphics, physics, and input handling
- Implement core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound
- Implement automatically spawning objects and AI to create rich and engaging experiences
- Learn advanced game development concepts, such as OpenGL shaders, texture atlases, and parallax backgrounds
- Scale and reuse your game code with modern game programming design patterns
Who this book is for:
This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful
Table of Contents
Chapter 1: Welcome to Beginning C++ Game Programming Third Edition!
Chapter 2: Variables, Operators, and Decisions: Animating Sprites
Chapter 3: C++ Strings, SFML Time: Player Input and HUD
Chapter 4: Loops, Arrays, Switch Conditions, Enumerations, and Functions: Implementing Game Mechanics
Chapter 5: Collisions, Sound, and End Conditions: Making the Game Playable
Chapter 6: Object-Oriented Programming - Starting the Pong Game
Chapter 7: MBB Collision Detection and Physics - Finishing the Pong Game
Chapter 8: SFML Views - Starting the Zombie Shooter Game
Chapter 9: C++ References, Sprite Sheets, and Vertex Arrays
Chapter 10: Pointers, the Standard Template Library, and Texture Management
Chapter 11: Coding the Texture Holder Class and Building a Horde of Zombies
Chapter 12: Collision Detection, Pickups, and Bullets
Chapter 13: Layering Views and Implementing the HUD
Chapter 14: Sound Effects, File 1/0, and Finishing the Game
Chapter 15: Run1
Chapter 16: Sound, Game Logic, Inter-Object Communication, and the Player
Chapter 17: Graphics, Cameras, Action
Chapter 18: Coding the Platforms, Player Animations, and Controls
Chapter 19: Building the Menu and Making It Rain
Chapter 20: Fireballs and Spatialization
Chapter 21: Parallax Backgrounds and Shaders
John Horton is a programming and gaming enthusiast based in the UK. He has a passion for writing apps, games, books, and blog articles. He is the founder of Game Code School.