Game Development with SDL2

Learn C++ and SDL development by creating hands on, practical projects inspired by classic retro games

4.5 (16,431 reviews)
Your Progress0%

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

4.6 (26,515 reviews)
View Recommended Course

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.

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++

Start Course