O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: C++ Game Programming

Video Description

Create innovative and addictive games with C++

In Detail

Looking to learn C++ from scratch and simultaneously build stunning and interactive games? Explore this Learning Path and you will get more than expected.

Start as an amateur and rise as a pro by taking this Learning Path. This Learning Path is a fun journey to the world of game programming starting from the basics of C++ such as OOP, pointers, introduction to the Standard Template Library, and finally building OpenGL-powered SFML fully-playable complex games. These games are an addictive frantic two-button tapper, a multi-level zombie survival shooter, and a split-screen multiplayer puzzle-platformer.

You will explore exciting game programming concepts such as particle effects, directional sound, OpenGL programmable Shaders, spawning thousands of objects, and more.

Prerequisites: Basic prior knowledge of game development and C is recommended, but not required.

Resources: Code downloads and errata:

  • Beginning C++ Game Programming - Part 1

  • Beginning C++ Game Programming - Part 2

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Beginning C++ Game Programming - Part 1 (6h 6m)

  • Beginning C++ Game Programming - Part 2 (2h 45m)

  • Table of Contents

    1. Chapter 1 : Beginning C++ Game Programming - Part 1
      1. The Course Overview 00:04:25
      2. The Games, C++, and SFML 00:04:24
      3. Setting Up the Development Environment 00:06:20
      4. Planning Timber!!! and Creating a Project from the Template 00:03:43
      5. Adding Project Assets and Understanding Co-ordinates 00:04:52
      6. Starting to Code the Game 00:08:38
      7. Opening a Window using SFML 00:05:22
      8. The Main Game Loop 00:04:33
      9. Drawing the Game Background 00:03:35
      10. Handling Errors 00:03:30
      11. C++ Variables 00:06:02
      12. Manipulating Variables 00:03:04
      13. Adding Clouds, a Tree, and a Buzzing Bee 00:05:00
      14. Random Numbers 00:03:23
      15. Making Decisions with if and else 00:05:15
      16. Timing 00:04:14
      17. Moving the Clouds and the Bee 00:06:34
      18. Pausing and Restarting the Game 00:03:41
      19. C++ Strings, SFML Text, and Font 00:03:18
      20. Adding a Score and a Message 00:06:35
      21. Adding a Time Bar 00:06:07
      22. Loops 00:05:04
      23. Arrays 00:04:05
      24. Making Decisions with switch 00:01:48
      25. Class enumerations 00:02:12
      26. Getting Started with Functions 00:10:37
      27. Growing the Branches 00:08:09
      28. Preparing and Drawing the Player and Other Sprites 00:03:11
      29. Handling the Player's Input 00:08:46
      30. Handling Death 00:01:50
      31. Simple Sound FX 00:03:47
      32. Improving the Game and the Code 00:02:07
      33. Planning and Starting the Zombie Arena Game 00:07:23
      34. Object-Oriented Programming 00:16:21
      35. Building Player - The First Class 00:21:28
      36. Controlling the Game Camera with SFML View 00:04:28
      37. Starting the Zombie Arena Game Engine 00:05:07
      38. Managing the Code Files 00:01:45
      39. Starting Coding the Main Game Loop 00:08:09
      40. C++ References 00:06:37
      41. SFML Vertex Arrays and Sprite Sheets 00:08:01
      42. Creating a Randomly Generated Scrolling Background 00:08:19
      43. Using the Background 00:02:43
      44. Getting Started with Pointers 00:09:30
      45. Working with Pointers 00:08:32
      46. The Standard Template Library 00:08:11
      47. The TextureHolder Class 00:05:57
      48. Building a Horde of Zombies 00:10:13
      49. Creating a Horde and Bringing It Back to Life 00:09:36
      50. Using the TextureHolder Class for All Textures 00:02:30
      51. Coding the Bullet Class 00:11:03
      52. Making the Bullets Fly 00:07:50
      53. Giving the Player a Cross-Hair 00:02:41
      54. Coding a Class for Pickups 00:11:57
      55. Using the Pickup Class 00:03:02
      56. Detecting Collisions 00:08:13
      57. Adding All the Text and HUD Objects 00:04:27
      58. Updating the HUD Each Frame 00:03:24
      59. Drawing the HUD, and the Home, and Level-Up Screens 00:02:44
      60. Saving and Loading the High-Score 00:03:13
      61. Preparing Sound Effects 00:01:32
      62. Leveling Up 00:02:41
      63. Restarting the Game 00:01:04
      64. Playing the Rest of the Sounds 00:03:14
    2. Chapter 2 : Beginning C++ Game Programming - Part 2
      1. The Course Overview 00:03:05
      2. The Thomas Was Late Game 00:10:58
      3. Structuring the Thomas Was Late Code 00:03:50
      4. Building the Game Engine 00:20:44
      5. Coding the Main Function 00:01:57
      6. Inheritance 00:04:52
      7. Polymorphism 00:02:34
      8. Abstract Classes – Virtual and Pure Virtual Functions 00:04:08
      9. Building the PlayableCharacter Class 00:13:14
      10. Building the Thomas and Bob Classes 00:05:44
      11. Updating the Game Engine to use Thomas and Bob 00:08:30
      12. Designing Some Levels 00:04:13
      13. Building the Level Manager Class 00:11:21
      14. Coding the loadlevel Function 00:03:16
      15. Updating the Engine 00:02:50
      16. Collision Detection 00:08:12
      17. Spatialization and SFML 00:05:50
      18. Building the SoundManager Class and Adding it to the Game Engine 00:06:39
      19. Populating the Sound Emitters 00:03:02
      20. Playing Sounds 00:03:31
      21. The HUD Class 00:04:41
      22. Using the HUD Class 00:03:59
      23. The SFML Drawable Class 00:05:16
      24. Building a Particle System 00:13:28
      25. OpenGL, Shaders, and GLSL 00:09:25