C++ Fundamentals: Learn Game Programming For Beginners
Learn to make games using industry standard C++ and Raylib.
//

Write Your First Lines of Real C++.
Learning to code can be dull, and learning C++ on top of a full game engine is a lot to take on at once. This course strips that back: you'll learn pure C++ and good programming habits by making games with Raylib, a lightweight library that keeps the engine out of the way while you learn.

Dodge Axes With Code You Wrote Yourself.
Your first project is an axe-dodging game, and it's where variables, loops and if-statements stop being abstract terms and start being the reason your character survives or doesn't. You'll compile and run it yourself in Visual Studio Code, watching your own code control what happens on screen from the very first project.

Animate a Character in Dapper Dasher.
Dapper Dasher is a side-scrolling running game, and it's where things start looking like a real game rather than a coding exercise. You'll pick up structs and functions for cleaner, more organised code, and learn to animate your 2D character so movement actually looks like movement instead of a sprite sliding across the screen.

Build Smarter Code With Classy Clash.
Classy Clash introduces Object-Oriented Programming, the way most real games are actually built. You'll use classes to organise your code around the things in your game, then use inheritance to avoid writing the same logic over and over. It's the shift from code that works to code that's built to grow.

Debug and Build Games Like a Programmer.
Three games in, and C++ isn't a mystery anymore. You'll pick up real debugging skills and work through programming puzzles that sharpen the habits you've built across every project, so you leave with proper, transferable C++ fluency, whether this was your first step into coding or a way into pure C++ from an engine like Unreal.
What you’ll learn
Compile and run your first C++ program with Visual Studio Code.
Build your axe-dodging game using the Raylib library.
Master game loops, variables, and if-statements in C++.
Animate 2D characters in your side-scrolling Dapper Dasher.
Unlock the secrets of structs and functions for cleaner code.
Dive into Object-Oriented Programming with Classy Clash.
Reduce code duplication with savvy use of inheritance.
Debug like a pro and solve programming puzzles in C++.
30 Day Money-Back Guarantee
100% refund, no questions asked.Lifetime Access
Access your content on any device, at any time.Teaching Support
Never get stuck with our teaching assistants on call.About the course
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 prerequisites, 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.

Curriculum
Instructors

Stephen Ulibarri
Hi, I'm Stephen, it's great to meet you!
I started college in 2012 at the University of New Mexico, and majored in Chemical Engineering. While interning at a national laboratory, my mentor introduced me to Python programming, and I was hooked. Shortly after, I 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, I discovered I had a passion for teaching. Students told me I explained concepts in a way they could understand, and it was an extremely rewarding experience. I soon began making courses on programming and game development.
After I graduated with my degree, my employer allowed me to take computer science courses, after which I got into the software engineering industry, working for a company that made surgical simulations for robotic surgery. I continued making courses until I quit to pursue my passion for teaching full time. I'm excited to contribute my passion and excitement to the GameDev team!




