Under Construction - Coming 2025
10,999 Reviews
Progress directly from our introductory course, expanding your programming knowledge to more advanced concepts.
Use your new knowledge to build portfolio-ready projects inspired by classic games.
No copying-and-pasting code in this course.
We explain every line of code we're using, so you understand exactly what is happening.
Everything we create is organised and implemented using modern, professional practices.
This means the techniques we learn are usable in large, professional projects.
We don't just explain what we're doing, but also why.
This builds transferrable skills, so you can take what you've learnt and apply them to your own projects.
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:
Those who already have some knowledge of C++, or are familiar with object oriented programming in another language, may be able to skip the introductory course.
The first chapter of this course includes a summary of the topics covered, to help you get caught up.
A quick crash tour of C++ basics, for those with previous object oriented programming experience.
A guide to getting our machine set up for creating SDL2 projects, across a range of operating systems
In introduction to creating a basic window and application loop using SDL2
The basics of capturing user input with the keyboard and mouse in SDL, and creating a simple framework to create a scalable UI system
A guide on how to rendering images and text onto our SDL surfaces using the sdl_image
and sdl_ttf
libraries
Putting everything we've learnt to the test by creating a clone of the classic game using SDL surfaces and events
Enhancing our program with ticking logic, allowing our objects to update continuously through time
Learn how to detect and react to keyboard input in SDL applications, either through the event loop or by directly querying the keyboard state
Learn how to interact with the mouse from SDL, including responding to mouse actions and controlling mouse movement
Using SDL_RWops
to store game data in external files
Using SDL2's hardware-accelerated 2D API to create primitive shapes, and render them on the GPU
An introduction to implementing movement and physics in our game engine
Continue your progress in this course with the following lessons. These are recommended for you based on your progress: