C++ Fundamentals: Game Programming For Beginners
Learn to make games using industry standard C++ and Raylib.
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
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)
PreviewSection Intro - First Concepts (1:58)
StartPC: Installation And Setup (9:26)
PreviewMac: Installation And Setup (10:20)
StartLinux: Installation And Setup
StartThe Main Function (6:03)
StartYour First Program (12:01)
StartCommunity & Support (1:29)
StartLinks & Resources
StartAccessing Our Projects (4:38)
StartCreating A Popup Window (9:54)
StartData Types and Variables (6:36)
StartData Types and Variables 2 (6:15)
StartComparison Operators (12:14)
StartClear Background (5:17)
StartFunction Return Values (6:40)
StartDrawing A Circle (5:05)
StartMoving The Circle (8:13)
StartLogical AND (4:39)
StartDrawing The Axe (7:16)
StartLogical OR (5:20)
StartCollision Detection (9:42)
StartThe else Statement (6:19)
StartFinishing The Game (9:45)
Frequently Asked Questions
"The instructor is clear, concise, and he obviously enjoys his subject matter. With this single course you can and will create engaging and entertaining games! It could also be a springboard into a career doing something you have always wanted to do – code games…
If you are going to choose your own adventure in the gaming development world, this is a great place to begin."
"Before taking the course I have been intimidated by the C++ language believing that it was this
terrifying behemoth of a program to understand, or even more program in. I have also seen that C++ has been used in several popular software and games, and thus the desire to get a foot in the door with this language exists.
After taking this course I do not feel the intimidation, and will want to continue growing deeper in both the programming and game development journey."
"It's really friendly and it slowly explains each concept without confusion. I really appreciate that you took the time to explain concepts like collisions and functions from scratch. The visuals were friendly too, with tidy arrows and well guided to the eye."