08-09-2024, 08:02 AM
Last updated 1/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 149 Lessons ( 31h 49m ) | Size: 7.1 GB
Learn the fundamentals of 2D game engine development and create a simple game engine using C++ SDL and Lua scripting
This course is a gentle and comprehensive introduction to the fundamentals of 2D game engine architecture. We'll discuss several of the most popular programming patterns used in game development and try to put all the theory we learn into context by coding a small 2D game engine using modern C++, SDL, and Lua.
We will write, together, a small ECS framework from scratch to manage our entities, components, and systems. We will discuss how engine programmers design their code and how we should think of organizing game objects in memory with performance in mind.
The tools you'll need
c++ game engine tools
C++ is a powerful compiled language
SDL2 is a library for cross-platform rendering and input
GLM is a math helper library
Dear ImGui is a library to create UI for engine tooling
Sol is a binding library for modern C++ & Lua
Lua is fast and easy to use scripting language
We'll try to write most of our engine code from scratch. All these libraries and tools are cross-platform, so you'll be able to code along with either Windows, macOS, or Linux!
Is this course for you?
The target audience for this course are beginner programmers that wish to learn more about how C++ works in the context of game development. Therefore, students must already know how to code and be familiar with basic concepts of programming and logic. You should be able to write if-else statements, loops, functions, and classes using simple OOP.
You do not need to know C++ before enrolling; many successful students have a background in web, mobile, and game development, working with languages like Java, Python, Ruby, Go, Swift, JavaScript, Ada, Zig, Kotlin, and many others.
How is this course different?
This course is not just a simple tutorial on how to create a game with C++. This is the opportunity for you to think about the abstraction of what a "game" really is and all the pieces that need to interact to make them happen. More than that, this course allows you to write from scratch the code of a small C++ engine that can be used to create many types of games.
We will also touch other important topics like ECS, data-oriented design, STL containers, C++ templates, game loop, SDL rendering, event systems, asset management, memory management, and performance. And finally, we'll also learn how to embed the Lua language into our native C++ code to add scripting power to our engine.
While there are other resources about game engine development out there, they are either too theoretical or overwhelmingly long. If you are looking for a gentle introduction to the world of game engine programming and want to learn how games really work under the hood, then you should definitely take this course!
Homepage