2D C++ Game Engine Course
The highest level course offered at RP4K: experienced students learn how to make a capable 2D c++ Game Engine. The engine features an SDL2 core and renderer, a rapid-prototyping friendly Entity / Component / System model, Box2D Physics, an Event System, JSON Scene loading, and Lua run-time scripting. Students expand their C++ knowledge, and get introduced to Software Engineering fundamentals like working with the command line, backing up projects and coordinating with Version Control and object-oriented design patters.
Chapters:
- Visual Studio 2012 Project Creation, Command Line, Git, and BitBucket
- Project Dependencies, Starting the Engine & The Singleton Pattern
- Systems, Setting up the Renderer
- The Entity Component System Model
- The Rendering System
- Loading Scenes with JSON & Separating the Game from the Engine
- Input
- Events System
- Physics System with Box2D
- Behaviour System & Lua Scripting
Tool & Library Topics:
- Adding External Libraries to Visual Studio Projects
- Debug vs. Release Builds
- Intro to the Command Line using Bash
- Intro to Version Control and Project Backup using Git & BitBucket
- SDL2 (Window Creation, 2D Rendering, Image & Texture Loading, Player Input)
- RapidJSON (Scene Loading & JSON Parsing)
- Lua (Run-tine Entity Behaviour Scripting)
- LuaCPPInterface (Lua / C++ Binding)
Programming Topics:
- Singleton Pattern
- Inheritance
- Interfaces & Abstract Classes
- Binary Numbers & Arithmetic
- Conversion between Binary & Decimal Numbers
- Truth Tables
- Bitwise Operators
- Bitmasks
- Dictionaries (C++'s std::unordered_map)
- Delegates
C++ Topics:
More info (and a video!) can be found on Real Programming 4 Kids' website.