2D Game Engine Development
A free online course on BTK Akademi, taught by Can Karabulut. Build your own 2D game engine in C++ and SDL at your own pace and earn a certificate.
- Where
- Online
- Language
- Turkish
- Length
- 9 hours
- Level
- Intermediate
- Price
- Free
- Certificate
- Included
- Organiser
- BTK Akademi
About the programme
Can Karabulut prepared this course for BTK Akademi, and it is open to everyone at any time. It is online and free, you learn at your own pace, and those who finish it earn a BTK Akademi certificate of participation. More than 3,800 people have joined so far.
The lessons are in Turkish, with Turkish subtitles. According to BTK Akademi, most people finish the course in about two weeks.
What You Will Learn
The course covers the core concepts and architectures of a game engine. You learn the game loop, delta time, how game objects are organised and architectural patterns such as ECS (Entity Component System). In practice you render graphics with C++ and SDL and manage scenes and the camera. Animation, collision, an event system, input and output, logging and debugging are covered as subsystems, together with asset management, layering, the user interface and a tilemap editor. By the end you can design the structure of a basic game engine of your own and build games with it.
Who It Is For
The course is for university students, game developers, people who want to learn how game engines are built and anyone who wants to build an alternative engine.
Before You Start
You need to know C++. On the mathematics side the course uses trigonometry, vectors, first and second degree equations and their graphs, two dimensional spirals and curves, and matrices. Some game development experience and a computer with a dedicated graphics card (GPU) are also needed. The course uses Visual Studio 2022, C++23, SDL2, GLM, Dear ImGui and OpenGL.
Instructors
Can KarabulutMSc computer engineer, founder of Rysesoft
Curriculum
- 01Introduction
- 02Core Concepts
- 03Setup and Configuration
- 04The Game Window
- 05Rendering Objects with SDL
- 06Game Time and Real Time Applications
- 07Player Controls and Animations
- 08Integrating Physics Engines
- 09Layering
- 10Asset Management
- 11The Animation System
- 12Displaying TrueType Fonts
- 13Sound Systems
- 14Our First Game with Our Engine
- 15Designing an Editor with Dear ImGui
