Skip to content
UdemyGame Development FundamentalsPaid courseAll LevelsCertificate

Learn C++ and Make a Game from Scratch (Udemy.com)

Complete Game Development Series 04 - Learn the Fundamentals of C++, Git, CMake, and Make a Game from Scratch

Created by: Jingtian Li

Last updated July 2024

icon
What you will learn

  • Learn the Fundamentals of C++
  • Make a Complete Game with C++
  • Learn C++ Application Development Proces
  • Adapt to Git and GitHub SCM
  • Adapt the CMake Build Tool

How it compares

Against the other 281 rated Udemy courses in Game Development Fundamentals on CourseDuck:

  • Rating4.6 out of 5higher than 57% of them
  • Reviews342#101 of 282 by number of reviews
  • Length38.3 hourslonger than 97% of them
  • Last updatedJuly 2024earlier than 51% of them

icon
Course Description

In this comprehensive course, students will delve deeply into the fundamental aspects of C++, explore the language's core concepts, study the principles of Object-Oriented Programming, and achieve mastery over the intricacies of memory management. The curriculum goes beyond theoretical knowledge, extending to the creation and practical utilization of C++ libraries and executables, equipping learners with tangible, applicable skills. Emphasizing tools relevant to the industry, the course seamlessly integrates Git and CMake into the workflow, ensuring that students acquire essential instruments widely employed in software development.


Having established a robust foundation, the course then progresses to the dynamic creation of a complete game from scratch. This exciting phase involves leveraging C++ in conjunction with a carefully chosen array of powerful libraries. Through immersive, hands-on experiences, students not only cultivate a profound understanding of C++ but also witness firsthand its practical applications in real-world scenarios.


Upon completing the course, participants will have garnered valuable insights and proficiency, empowering them to confidently pursue careers in software engineering for game development. Furthermore, the acquired knowledge acts as a sturdy launching pad for further studies, encompassing advanced topics like Unreal Engine and broader application development.


This course stands as the fourth installment in a comprehensive game development series and marks the initial exploration of C++. Importantly, students aspiring to study C++ and subsequently delve into Unreal Engine are not obliged to complete the preceding three courses in the series.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Jingtian Li

Jingtian Li is an Associate Professor of game development. He is specialized in 3D content creation (modeling, texturing, rigging) and programming(C/C++, C#, Python). He has a Master degree of computer graphics, and has published many books and articles about game development, as a well rounded generalist, Jingtian can take on many jobs, and is fluent with Unreal Engine, Unity, Maya, Blender, Substance P/D, Houdini, he is dedicated in teaching students and professionals with new techniques and tools to create engaging games and animation.

icon
More courses by Jingtian Li

$84.99

$79.99

$10.99

icon
More Game Development Fundamentals courses

$94.99

$19.99

$89.99

$59.99

$13.99

$94.99

icon
Reviews

4.6

342 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Gary McLean on 7/28/2026

Jingtian covers the fundamentals of C++ reasonably well but he doesn't really include any challenges or quizzes or other tests so you can test your knowledge. He does suggest researching certain things before the next lecture but I think programming challenges he details and you do and he could then go over would be a lot more helpful. Also he sometimes goes over certain c++ before actually explaining them which can be a bit confusing for instance he has some examples that used pointers before he actually goes over pointers. He also talks about the explicit key word in classes before he explains what exactly it does. Other than that he does do a good job of going over the fundamentals and also how you can setup programs to use various c++ type files like .h files and then compiling and linking them. He also does a good job about how to set up different types of libraries.

By Bruno Rouchouse on 6/25/2026

I just finished the entire course, and I want to evaluate it fairly. I learned a lot while taking it, but perhaps not in the way one might expect. The greatest value of this course for me is that Jingtian Li takes you from start to finish through the complete development of a polished 2D arcade game using SFML and C++, which is exactly what I'm learning at the moment. That said, this is clearly not a beginner's course. Luckily I had already a good background on the concepts. Note also that some of the C++ concepts are quite advanced, and the way the game is developed follows a very top-down approach that, in my opinion, very few developers could reproduce unless they've already built a similar project aside or are highly experienced—which Jingtian Li very well may be! If you watch Handmade Hero on YouTube for instance, you'll notice that even an expert like Casey Muratori constantly experiments, makes mistakes, and refactors the code as the project evolves. That's not really the case here. As a result, I frequently had to pause and study and deep dive into many concepts elsewhere— delegates and event handling, templates, variadic templates, smart pointers, and much more. In the end, this actually became a great learning experience, especially now that AI and LLMs make it so easy to dive deeper into specific topics. I also think it's a missed opportunity that the game has no sound. Audio is such an important part of game development that I would have preferred a chapter on sound over the introduction to Git, especially since Git isn't used throughout the course. On the technical side, I completed the whole project using Visual Studio 2026 and SFML 3.1. But after that, I replaced the default build system with a Unity Build, reducing full build times from 1 minute 36 seconds to just 6 seconds. That said, I completely understand and respect the choice of CMake for its portability across Windows, macOS, and Linux. I noticed several comments from people who gave up on the course, and that's unfortunate. One thing that could have helped enormously would have been providing the source code after each episode (or using Git properly so students could check out each milestone). That way, learners who get stuck could catch up instead of abandoning the project. So, somewhat paradoxically, I consider this a very rewarding learning journey, even though I don't think the teaching itself is particularly game developer beginner friendly. Finally, I won't comment on the numerous typos. They're occasionally distracting, but the instructor isn't a native English speaker—and neither am I. The people who criticize that the most are often those who don't speak a second language themselves. I didn't take that into account in my rating.

By shankar Potnuru on 5/7/2026

Thank you so much Jingtian Li Sir, I am learning so many things. I take this course for Cmake and advanced C++. Usually we can find that there are lot of C++ courses, but few only covers Cmake. Teaching is very nice. I already bought his unity Exterminator course. That is excellent one, so i bought. Not yet completed this, currently watching the section7, fully satisfied. Once again thank you Jingtian Li Sir.

By Jon Lin on 11/3/2025

Coming from a java background, I really like this course so far. I have entered the section on deconstructures but so far this course has been excellent and I hope it continues like this. My only complaint, this is the only C++ course from this instructor, at least as of now. I also already took a C++ Unreal course on Udemy but after about 15-20 hours, I felt like the basics of c++ weren't really covered because so much was being done by Unreal.

By Devarakonda Mohit Varsha on 2/2/2025

I've successfully finished the course and here is my honest review of it. For developers that are new or just starting out in their careers, this course might be a bit challenging and hard to grasp. I suggest you folks to stick till the end. Overall the course is very well structured and here are a couple of extensions I would suggest : 1. Looking at the 'Audio' aspect of the game. 2. Creating a proper installer. (say windows type installer .exe) 3. Optimize the clean cycle. (I see minor jitter every time the clean cycle destroys the objects). 4. Some level of introduction to multi threading would be great. Cheers to "Jingtian Li" - from a fellow developer and gamer. (^_^) - Wish to see more of such amazing content.

By Oleg F. on 12/14/2024

I understand reviewers who would criticize this course for being not particularly beginner friendly. Indeed, the learning material gets complex very quickly and instructor's pace can be challenging to follow. That said, if you like me have game development or general programming experience and want to dive in headfirst into the C++ game development - this course is for you. The learning effect is enormous, the author doesn't take any shortcuts and endorses clean and professional code standards. Very recommended.

By Gabriele Ceraico on 6/15/2024

So Im at lesson 30, si my review is still not complete. Anyways everything is great exept there are some lessons where the difficulty level escalates so much quickly. But in particular lesson 30 is too much difficult, no explaination on what we are actually doing just him typing and commeting whn we are not understanding anything, I truly didn't understand a single thing he did in that lesson. He goes into the files withput even explaining what should we do and what do those files mean. For every other lesson it's good and he has a very calming voice and you can tell he is very skilled in coding. Overall a good teacher and I recommend this course Edit: As I write again i am at lesson 50 now, and I just wanted to keep updated the rewiew and so I will do the same in the future. As I said before, you can tell that the teacher is really an expert, but the whole "Classes" section is hell. I struggle to even the idea of watching a nerw lesson, beacuse while in the other parts it all kept being real, like something that you can see how is gonna be useful for you, now it's just talking without a goal. I watch the lessons and I say to myself "how is thios gonna be useful to me?". Now i'm not saying that it is actually useless, no absolutely not, but just that as a Student it all seems kinda pointless, in this sections there are many things that are meant to be used so that it can be easier for us and that we dont commit mistakes but it all just becomes harder and harder. I just really hope to make it to the end of this section, again the teacher is wonderfull but it seems like he is telling us just meaningless stuff, for that reason I have to downgrade my rewiew from 4 stars to 3.5 stars, but again I will still continue updating and hopefully I'll higher again my vote.

By Uga Buga on 5/28/2024

Hello! I took the course to delve deeper into pure c++, ive been a an UE developer and technical designer for the past 6 years with a multiple released games, but even with the knowledge from UE ive learned a lot about the actual pure c++ which is quite different to unreal's. Unreal has its own framework which kinda handholds you. This one is great for developing pure c++ if u already have some coding knowledge. I especially liked how the course not only teaches you coding but also the tools around it, CMake, Git, managing assets. Demystifies a lot of magic that game engines do under the hood which might feel daunting. Thanks!

By Dominik Tworek on 4/28/2024

Hi, I just completed the course. I came here with 2 years self learning in Java and Typescript. I became interested in Game Development and I was looking for a course that introduce me to C++ programming. If you know any programming language this course will fit you perfectly. If you don't know programming I would rather focus on a pure C++ language course instead of this. Jingtian introduced fast track over C++ with a focus on differences from high-level programming languages. The game engine itself is based on Unreal Engine architecture which is very good (once you jump into the UE you will know well what is going on in the code). Some popular libraries are used in this course what is also nice. I strongly recommend this course!

By Vitalii Nazarov on 3/14/2024

Extremely useful course!! Absolutely recommended! Especially if you have some background in C++ (6 month or so..) Firstly it's a practical course with "Repeat after me" technic, showing you the way a programmer thinking while coding, from blank page at the very beginning to fully working project at the end. And it's mostly about OOP and Architectural Design. Widely used Smart pointers, Templates, Data structures. Also you'll get some understanding of CMake and Git. Recommendation: I would recommend you follow the instructor doing the same coding in your IDE, run it, then debug row by row to understand what is actually going on in your code. Then compare your code with original on github. And after that commit it in your local repository. In this way you'll have history flow and full commit track. I'm nearly ending this course and do really enjoy it. Thank you Mr. Jingtian Li for your work!

Showing all 10 reviews on CourseDuck

Read all 342 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100