Do you want to be more than "yet another applicant that only knows Unity3D or Unreal"?
Or, do you want to really improve your programming skills with C++, OOP, and on top of that learn the fundamentals of how a simple 2D game engine works?
If that's the case... this course is for you!
We are going to implement, together, the basic architecture of a simple 2D game engine using C++, SDL, and Lua scripting.
Here is what we will cover:
The basics of a game loop and fixing our time step
Using the SDL library to handle graphics and hardware input/output
Loading dynamic entities to your game scene (enemies, vegetation, obstacles, etc.)
Creating a flexible tile-based game map
Adding components to your game objects:
Managing game assets, such as textures, sounds, and fonts
Displaying UI text and HUD elements.
Using Lua language for scripting and configuring levels
...and so much more.
This course targets beginner programmers, but it is expected that you know the basics of the Linux command-line (creating directories, copying files, etc). Also, a very basic knowledge of programming concepts (variables, loops, conditionals, functions, OOP) will help you get the most out of this course.
I will not use modern C++ for this course (C++17, smart pointers, exceptions, etc), as I believe using these will cause more harm than good for beginners. They are important concepts, but they will not be covered in this course. I will use what most developers call C++-- (which is C-style with some hand-picked useful C++ concepts).
You will be able to use the code developed in this course in Linux, macOS, and Windows. But, be aware that the instructor does not use any IDE in this course, and we will build our project using the GCC compiler directly via the Linux command line.
Join us, and learn the fundamentals of game architecture by creating a basic 2D game engine... from scratch!