C++ Game Engine Programming by Gustavo Pezzi
Duration:30 hours total length
Release date:2022, February
Publisher:Pikuma
Skill level:Beginner
Language:English
Exercise files:Yes
Software:C++, SDL2, Lua, GLM, Dear ImGui, Sol
Course URL:https://pikuma.com/courses/cpp-2d-game-engine-development
Want to peek under the hood of game development? This course dives into the core architecture of 2D game engines. You’ll learn common programming patterns and then actually build a small engine using modern C++, SDL, and Lua scripting. Itβs all about understanding how the pieces fit together to make games tick.
π― What you’ll learn
- Understand the fundamentals of 2D game engine architecture.
- Implement a small ECS (Entity-Component-System) framework from scratch.
- Learn how to organize game objects in memory for better performance.
- Integrate Lua scripting into a native C++ engine.
- Explore topics like data-oriented design, game loop mechanics, and asset management.
β Requirements
- Skills: Basic programming concepts (loops, functions, classes), familiarity with Object-Oriented Programming (OOP).
- Tools: A code editor or IDE.
- Hardware: Windows, macOS, or Linux operating system.
π Description
This course isn’t just about making a single game; it’s about understanding the engine itself. You’ll build a functional C++ game engine from the ground up, learning how to manage entities, components, and systems with an ECS architecture. We’ll cover essential topics like data-oriented design for performance, handling game loops, managing assets, and implementing animation and collision systems. A key feature is integrating Lua scripting, allowing you to add dynamic behavior and level loading to your engine. This approach gives you a solid foundation for creating various types of 2D games.
π§βπ Who this course is for
- Beginner programmers who want to understand C++ in the context of game development.
- Developers familiar with basic programming logic and OOP concepts, regardless of their prior C++ experience.
- Anyone interested in learning how game engines are structured and built internally.
π§βπ« About the Author
Gustavo Pezzi is an award-winning university lecturer based in London, UK, and the founder of pikuma.com. With an academic background spanning institutions like Pittsburg State University, City University of London, and the University of Oxford, Gustavo brings a deep understanding of computer science and mathematics to his teaching. He’s known for making complex topics accessible and practical.
π Final Result
- A working, small-scale 2D game engine written in C++ with SDL and Lua integration, capable of being used as a foundation for various game projects.
- A portfolio piece demonstrating your understanding of game engine architecture and low-level game development.

Channel