C++ Fundamentals: Game Programming For Beginners

Learn to make games using industry standard C++ and Raylib.

   Watch Promo
 

C++ Fundamentals: Game Programming For Beginners

Learn to make games using industry standard C++ and Raylib.

Join 734,000 Strong Student Community

Get Teaching Assistant Support

Earn a Completion Certificate

Enjoy 30-Day Money-Back Promise

Lifetime Access to Course

Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), or our student chat group (10k live at any one time)

Learning to program can be dull, and learning C++ is hard enough without having to learn a game engine as well.

In this course we teach you coding the fun way, by making games! And we'll be using a library so you can focus on learning pure C++ and good programming practice.

You'll start by compiling your first program in C++, using Visual Studio Code as your text editor.

Then create your first axe dodging game using the Raylib library. This project introduces the basic concepts of programming: variables, loops and if-statements.

You expand on this in Dapper Dasher, by building a side-scrolling running game. In addition to covering essential programming concepts such as structs and functions, you'll learn to animate 2D characters and make your game pretty.

In Classy Clash we introduce Object Oriented Programming. You'll learn how this simplifies programming for games and how inheritance can avoid code duplication.

Whether you're a total beginner to programming and want to learn pure C++, or an intermediate Unreal student who wants to explore making games in pure C++, this is the course for you!

There are no course prerequesites, though it'll help if you're comfortable installing new software and excited to learn programming 🙂

All students have access to the Q&A forums where our Instructors, Teaching Assistants and Community are ready to help answer your questions and cheer on your success.


What you'll learn in this course:

  • How to write games in C++ from scratch
  • The basics of Object Oriented Programming (OOP)
  • Programming fundamentals (inc variables, loops and if-statements)
  • Clean coding practices and principles
  • How to compile and run your C++ games and apps
  • Problem solving and debugging basics with C++
  • How to use the Raylib simple games library
  • How to animate 2D characters
  • Raylib simple games library

Your Instructor


Stephen Ulibarri
Stephen Ulibarri

Stephen started college in 2012 at the University of New Mexico, and majored in Chemical Engineering. While interning at a national laboratory, his mentor introduced him to Python programming, and he was hooked. Shortly after, he picked up an interest in Unreal Engine and C++, and the rest is history.

While working as a TA for math courses at the university, Stephen discovered a passion for teaching. Students told him he explained concepts in a way they could understand, which was an extremely rewarding experience. He soon began making courses on programming and game development.

After graduating with a degree, Stephen's employer allowed him to take computer science courses, after which he got into the software engineering industry, working for a company that made surgical simulations for robotic surgery. He continued making courses until he quit to pursue his passion for teaching full time.

Stephen's excited to contribute his passion and excitement to the GameDev team & students!


Course Curriculum (11+ hours)


  Codename: First Concepts (0 hours 57 minutes)
Available in days
days after you enroll
  • Preview
    Section Intro - First Concepts (1:58)
  • Start
    PC: Installation And Setup (9:26)
  • Start
    Mac: Installation And Setup (10:20)
  • Start
    Linux: Installation And Setup
  • Start
    The Main Function (6:03)
  • Start
    Your First Program (12:01)
  • Start
    Compiler (11:08)
  • Start
    Community & Support (1:40)
  • Start
    Accessing Our Projects (4:38)
  Axe Game (2 hours 5 minutes)
Available in days
days after you enroll
  • Start
    Creating A Popup Window (9:54)
  • Start
    Data Types and Variables (6:36)
  • Start
    Data Types and Variables 2 (6:15)
  • Start
    Debugging (12:43)
  • Start
    Comparison Operators (12:14)
  • Start
    Loops (9:28)
  • Start
    Clear Background (5:17)
  • Start
    Function Return Values (6:40)
  • Start
    Drawing A Circle (5:05)
  • Start
    Moving The Circle (8:13)
  • Start
    Logical AND (4:39)
  • Start
    Drawing The Axe (7:16)
  • Start
    Logical OR (5:20)
  • Start
    Collision Detection (9:42)
  • Start
    The else Statement (6:19)
  • Start
    Finishing The Game (9:45)
  Dapper Dasher (3 hours 55 minutes)
Available in days
days after you enroll
  • Preview
    Section Intro - Dapper Dasher (4:17)
  • Start
    Setting Up dasher.cpp (8:52)
  • Start
    Velocity and Jumping (8:32)
  • Start
    Gravity And Acceleration (14:27)
  • Start
    Preventing Air Jumping (5:46)
  • Start
    Sprite Sheets And Animation (10:09)
  • Start
    Drawing From Sprite Sheets (8:34)
  • Start
    Delta Time (8:46)
  • Start
    Animating Scarfy (9:40)
  • Start
    Hazards (5:26)
  • Start
    Moving The Hazard (11:12)
  • Start
    Animating The Hazard (8:34)
  • Start
    Multiple Nebula Hazards (7:09)
  • Start
    Custom Data Types (8:48)
  • Start
    More On Custom Data Types (10:54)
  • Start
    Using AnimData (9:11)
  • Start
    Arrays (8:08)
  • Start
    Array Of Nebula Hazards (7:26)
  • Start
    For Loops (6:23)
  • Start
    Looping Through The Hazards (9:40)
  • Start
    Lots Of Nebulae (10:16)
  • Start
    Functions (5:07)
  • Start
    Refactoring (6:11)
  • Start
    Update Animation Data (7:35)
  • Start
    Scrolling Background (6:23)
  • Start
    Duplicating The Background (3:34)
  • Start
    Drawing Midground And Foreground (9:30)
  • Start
    Finish Line (2:44)
  • Start
    Collision Detection (8:29)
  • Start
    Winning And Losing (3:54)
  Classy Clash (4 hours 16 minutes)
Available in days
days after you enroll
  • Preview
    Section Intro And Map Creation (7:13)
  • Start
    Top Down Game Setup (8:11)
  • Start
    Vectors (5:55)
  • Start
    Movement (10:06)
  • Start
    Drawing The Character (9:31)
  • Start
    Animating The Character (11:04)
  • Start
    Classes (6:41)
  • Start
    Getters And Setters (6:05)
  • Start
    Scope (3:52)
  • Start
    The Tick Function (9:29)
  • Start
    Character Instance (8:02)
  • Start
    Header Files And Constructors (9:41)
  • Start
    Checking The Map Bounds (10:37)
  • Start
    Constructor Arguments (7:57)
  • Start
    The Prop Class (6:49)
  • Start
    Rendering Props (7:20)
  • Start
    Prop Collision (11:15)
  • Start
    Enemy Class (11:10)
  • Start
    Class Inheritance (11:54)
  • Start
    Inheriting From BaseCharacter (6:21)
  • Start
    Overriding Functions (7:41)
  • Start
    Variable Addresses (10:23)
  • Start
    Enemy Screen Position (3:54)
  • Start
    Enemy AI (8:27)
  • Start
    Enemy Run Animation (13:12)
  • Start
    Drawing The Sword (11:24)
  • Start
    Attack! (8:31)
  • Start
    Health And Damage (4:51)
  • Start
    Strings And Displaying Health (10:47)
  • Start
    Multiple Enemies And Course Wrap-Up (7:56)

Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Reviews

Get started now!