C++ Fundamentals: Game Programming For Beginners (Udemy.com)
Learn to make games using industry standard C++ and Raylib
Created by: GameDev.tv Team
Last updated March 2025
What you will learn
- 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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100
Course Description
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.
Instructor Details
- 4.6 Rating
2,564 Reviews
GameDev.tv Team
Learn to make video games with the world’s most loved game dev school.
At GameDev tv, we help aspiring developers actually finish their dream games. Whether you're starting from scratch or levelling up your skills, our courses guide you step-by-step through real projects — all while having fun along the way.
We’ve taught over 1 million students how to design, develop, and publish their own games using Unity, Unreal, Godot, Blender, C#, C++ and more.
From total beginner to advanced indie dev, we’ve got you covered — with some of the highest-rated and best-selling game development courses on Udemy.
Our mission? Simple. Make learning game dev accessible, practical and fun!
Come join the GameDev tv community — and let’s build something awesome together.
More courses by GameDev.tv Team
Complete C# Unity 2D Game Development (Updated To Unity 6) (2026)
4.7 (108,559 Reviews)
Provider: Udemy
Time: 17.3h
$174.99
Unreal Engine 5 C++ Game Development (Fully Updated in 5.6) (2026)
4.7 (75,108 Reviews)
Provider: Udemy
Time: 26.3h
$174.99
Complete Blender Creator: 3D Modelling (Compatible with 4.3) (2026)
4.8 (69,132 Reviews)
Provider: Udemy
Time: 13.8h
$199.99
Blender Character Creator for Video Games (2026)
4.8 (9,160 Reviews)
Provider: Udemy
Time: 34.3h
$159.99
Blender Environment Artist: Create 3D Worlds in Blender 5.1 (2026)
4.7 (4,501 Reviews)
Provider: Udemy
Time: 14.3h
$159.99
Math For Video Games: The Fastest Way To Get Smarter At Math (2025)
4.7 (2,056 Reviews)
Provider: Udemy
Time: 13.4h
$119.99
More C++ courses
Unreal Engine 5 C++ Game Development (Fully Updated in 5.6) (2026)
4.7 (75,108 Reviews)
Provider: Udemy
Time: 26.3h
$174.99
The Complete dbt Bootcamp: Zero to Hero + Certification Prep (2026)
4.7 (11,907 Reviews)
Provider: Udemy
Time: 13.1h
$84.99
Unreal Engine 5 C++ The Ultimate Game Developer Course (2026)
4.7 (9,386 Reviews)
Provider: Udemy
Time: 53.1h
$124.99
C++ Data Structures & Algorithms + LEETCODE Exercises (2026)
4.7 (3,314 Reviews)
Provider: Udemy
Time: 10.4h
$109.99
Mastering 4 critical SKILLS using C++ 17 (2026)
4.7 (2,555 Reviews)
Provider: Udemy
Time: 33.5h
$84.99
Reviews
By Nikhil Kushwaha on 10/25/2025
Stephen is a great teacher, course is made more interesting and is always hooked up because its from gamedev.tv, they are professionals. I love the way course got me curious till the end and I learned many basic stuff and terminologies about how games really work and how to bring your "pseudo code" to reality. Hoping to get more of this, and I will credit you guys for sure in my game as a vote of thanks. Again a Big Thank you stephen and gamedev.tv for teaching this.
By Marco L on 7/1/2024
I think the course offered me a lot. The teacher manages to convey the concepts explained very well. Perhaps the course does not claim to teach C++ to a novice but gives the opportunity to put it into practice to those who already have a minimal knowledge of C / C++ or similar languages, who perhaps started studying without fully understanding what to do with these knowledge. In my case the course also managed to clarify concepts that were misunderstood or previously understood in a not very clear way. At the end of the course I definitely feel more enriched. A heartfelt thanks to the author and his staff for their efforts in carrying out these projects.
By Danish Ahmed on 5/12/2024
This course is definitely designed for the beginners as it initiates from basics, however i would like to mention that in the third/last section the instructor got some pace which is quite normal as we have got the basics know how but it is also true that the Top down game also have some intense logic which could not be beared at once so have to watch multiple times now what i like them to do is elborate the logic in some detail so that we can have a stronger grasp.
By Jay Stewart on 1/19/2024
I've learned a lot in this course. And it's on a topic that I want to do. Creating video games is something I've wanted to learn since childhood, but never understood until now. I appreciate this, I'm dedicated to learn more! I'm still practicing, and a little bit each day helps absorb the knowledge the instructor gives. I wouldn't say I've memorized everything, but my understanding is a lot better and I feel I'll be confident enough to make some games after.
By Malisony Lisa Grasso on 12/29/2023
I have followed the entire course more than once but I must say that there are many, too many problems. 1) The course is supposed to be for beginners, but it is actually for those who already have some basic knowledge of C++. In fact, to follow the course it is essential to combine collateral study on external sources (such as books, online articles, tutorials or even other courses) in order to fill the gaps. This ultimately leads to the question of why very important things like using the suffix f to define float values aren't explained the first time they're used. In this way the unaware student, especially if he stops to test new ways to implement the first two games, risks learning a wrong habit (not putting the suffix f makes the value double even if it is declared as float). And breaking a habit is harder than learning a new thing. 2) In the introductory section, when you have to write your first program, the teacher does not make you use C++, but C. In fact, during the lesson he has "stdio" added as a standard library (which is a C library) which allows you to use the "printf" command to print text to the console. In reality the library to add had to be "iostream", which is the C++ one, and use the std::cout command. Reading Q&A about this topic it suggests the lack of desire to explain concepts such as the using namespace directive. As a result this makes the course name misleading. 3) On more than one occasion the teacher tends to prefer programming that winks more at C than at C++: - I already mentioned the use of the "stdio" library instead of "iostream". - like C-style arrays instead of arrays in C++, for example, std::vector (if you look for the codes of games developed in C++ you will find that it is the most used array type). - Converting variable types by prefixing (type) to the variable name (or a value) is also C-style. Which is often not recommended since you run the risk of using it improperly by not producing the expected behavior, which is easily avoidable by using C++ casts like the static_cast operator instead. Furthermore, since C-style casts are just a type name in parentheses and a variable/value, they are both hard to identify (making code harder to read) and even harder to search for. If you then add that the Raylib library is written in C, I started to have serious doubts about the language teached in this course. 4) Apart from a few challenges, the lessons lack real exercises that can allow the student to consolidate the concepts of the course. The only strong point I found is the explanation methodology accompanied by images, diagrams and examples. But even so, if you don't study with external sources, the course becomes useless. I don't really feel like recommending it due to the fact that C style is used more (as in the case of the Hello World program written with printf instead of std::cout, or C style arrays instead of C++ ones with std:: array or std::vector, not to mention type conversions). If these points were to be corrected and especially if the course were updated to the new C++ standards, I might change my opinion.
By Antonino Spena on 3/2/2023
This was exactly what i was looking for. A complete course with tons of explanations on C++ and the characteristics of the language. I appriciated Raylib beacause the lack of UI keep you on thinking about the code and the logic of it. Great support in the question section with teachers always ready to respond in a couple of hours. I would definitley raccomand this course for strarting the game dev journey, even to people without programming knowledge.
By Witmore Lockwood Quinn on 1/11/2023
The course was great, I was able to see how C++ is use in game development, before I was only able to do basic little app like add two number and print the result. a positive criticism is in the last lecture, it would have been good to demonstrate how to have the tow enemy attack from different direction on the screen, probably something I can figure out on my own but would have been nice for a wrap-up.
By Vinicius Rodrigues on 8/9/2022
I came from the UE5 C++ developer course when I got about halfway through, and could no longer follow the C++ programming, even though it was intended for beginners. I then found this course, which taught me the fundamentals!! This course helped make code less scary to look at, and even taught me how to find and troubleshoot errors in my code! I 100% recommend this course as a must for complete beginners.
By Derrick Valentine on 4/27/2022
I completed this course first off, unlike some people who just watch 20min and review it. This course is best watched with YouTube videos, not to say the instructor is not great (he is, i have tried other c++ courses and never finished them). But he shows you what concepts are, then why they are useful but if you want to go deeper (like I did with pointers) you may find additional resources helpful. All in all 5 stars he shows you the basics and you will have enough understanding to know why you are doing what you are doing and continue your own education at your own pace. Thank you for the amazing course!
By Michael Greenwood on 8/29/2021
This is a great class! The description says "For Beginners"; and it is. The class starts with simple c and progress toward c++. At the end of the class you will have a good grounding in how to write and use c++. The projects are fun. The first project is an introduction or demo of how things are drawn on the screen and controlled by the player. The final project has many layers of drawing, moving and interacting. I highly recommend this class to everyone who wants to start in the game-creation field.











