Game Development with SDL2
Learn C++ and SDL development by creating hands on, practical projects inspired by classic retro games
Who This Course Is For
This course is intended for those who already have a basic familiarity with object oriented programming in C++. It is designed as a follow up for our introductory course
Course Requirements
- A code editor and a development environment that can compile C++ code
- Basic familiarity with C++, including topics like classes, inheritance, pointers, and compilation/linking
- Those with familiarity of another programming language and object-oriented principles may be able to follow along
- The first chapter of this course includes a summary of the topics covered, to help you get caught up.
New to Programming?
If you're completely new to programming or want a thorough introduction, we recommend starting with our introductory course:
Intro to C++ Programming
Become a software engineer with C++. Starting from the basics, we guide you step by step along the way
What You'll Learn
Go beyond syntax and start creating. This course focuses on building real-time, interactive programs that mirror the architecture and logic of real games.
Continue your Journey
Build on your foundational C++ knowledge with projects and lessons that introduce advanced programming topics.
Portfolio-Ready Projects
Apply your skills to complete game-inspired projects that you can proudly share.
Understand the "Why"
This isn't a copy-paste course. We explain each part of the code so you learn how to write it yourself.
Focus on Transferrable Skills
We follow real-world, professional coding practices, so your skills are ready for serious projects.
Step-by-Step Learning
We break complex concepts into manageable steps, making even advanced topics feel approachable.
Risk-Free
Preview the first 4 chapters for free, and we offer a 30-day money-back guarantee on all purchases, no questions asked.
Course Content
This course breaks down learning into 129 lessons across 20 chapters. It's designed for easy navigation and mastery of each topic.
Chapters
Lesson 1: The SDL Library and Cross-Platform Development
An introduction to the SDL library, the problem it solves, and why we're using it to learn C++
Lesson 2: Variables, Types and Operators
Learn the fundamentals of C++ programming: declaring variables, using built-in data types, and performing operations with operators
Lesson 3: Introduction to Functions
Learn the basics of writing and using functions in C++, including syntax, parameters, return types, and scope rules.
Lesson 4: Namespaces, Includes, and the Standard Library
A quick introduction to namespaces in C++, alongside the standard library and how we can access it
Lesson 5: Conditionals and Loops
Learn the fundamentals of controlling program flow in C++ using if statements, for loops, while loops, continue, and break
Lesson 6: Classes, Structs and Enums
A crash tour on how we can create custom types in C++ using classes, structs and enums
Lesson 7: Preprocessor Directives and the Build Process
Learn the fundamentals of the C++ build process, including the roles of the preprocessor, compiler, and linker.
Lesson 8: Understanding Reference and Pointer Types
Learn the fundamentals of references, pointers, and the const
keyword in C++ programming.
Lesson 9: Operator Overloading
Discover operator overloading, allowing us to define custom behavior for operators when used with our custom types
Lesson 10: Run-time Polymorphism
Learn how to write flexible and extensible C++ code using polymorphism, virtual functions, and dynamic casting
Lesson 11: Odds and Ends: 10 Useful Techniques
A quick tour of ten useful techniques in C++, covering dates, randomness, attributes and more
First Lesson
The SDL Library and Cross-Platform Development
An introduction to the SDL library, the problem it solves, and why we're using it to learn C++
First Lesson
The SDL Library and Cross-Platform Development
An introduction to the SDL library, the problem it solves, and why we're using it to learn C++
Start Course