Skip to content

2D Game Engine Development - Introduction (Part 2)

Photo of Massimo Gauthier
Hosted By
Massimo G.
2D Game Engine Development - Introduction (Part 2)

Details

CLASS DESCRIPTION
Hey everyone, due to overlap with the BBQ event and the fact that some people won't be in Montreal this week, this Sunday's class will be shorter and mostly just cover the practical stuff we didn't have much time for last week.

Also, in response to feedback from last time, going forward I'll be adding focus on much more practical work and a bit more high-level gameplay code for those already familiar with low-level development.

COURSE DESCRIPTION
Hey everyone, it's Massimo Gauthier, and I'll be hosting a course to pass on what I've learned in the past year and a half of making my own low-level 2D game engine. Working with your own custom game engine and tools can be extremely rewarding, creatively freeing, and will make you a much better programmer in general, so I highly recommend it to anyone with an interest in games programming. This course is intended to help you get a jump-start on low-level programming, enabling you to get a simple game up and running in a matter of days, and your own proper engine (should you choose to pursue it) in a matter of months, rather than years. Even if you choose not to fully dedicate yourself to a custom engine, this course will give you a much better understanding of engine internals, manual memory management, how code is compiled, and data-oriented coding practices, improving your ability to write organized and performant software no matter what tools you use.

This course will be primarily aimed at those with some existing experience programming games in a third-party engine such as Unity, Unreal, or Game Maker. By this, I mean anyone who has hands-on experience with an existing game engine, as well as a good grasp of high-level programming basics (variables, conditionals, arrays, loops, functions, structs/classes). However, everyone is welcome, even total beginners, and I'll do my best to cater to whoever shows up.

We will be mostly working with the Odin language and SDL2, since that's what I'm most familiar with, but the course will be focused on teaching general concepts that should apply to most systems programming languages (C, C++, Zig, etc.) and low-level frameworks (Raylib, glfw, SDL3, etc.). You are not required to have any knowledge or familiarity with low-level languages and frameworks to participate in this course.

Please bring your own laptop, with the following installed:

  • Visual Studio 2022, with the “Desktop development with C++” package installed. Necessary for code compilation on Windows (if you're on Linux, you don't need this).
  • The Odin compiler. You can get the latest release here: https://github.com/odin-lang/Odin/releases/tag/dev-2025-06.
  • Github Desktop: For tracking and backing up changes to your project. If you have a different preferred solution for source control, feel free to use that.
  • VSCode: For editing project files. If you have a different preferred IDE, feel free to use that. You can see which IDEs support the Odin LSP here: https://github.com/DanielGavin/ols?tab=readme-ov-file#clients

If you're struggling to install anything, don't worry, we can help you get up and running. However, for the sake of time, please at least make an attempt to get a "hello world" program working.

(Note that the course will not cover creating your own renderer or any sort of graphics programming outside of the very basics, but I may do so in a future course.)

Photo of Montréal Game Developers group
Montréal Game Developers
See more events
Grande Bibliothèque - BAnQ
475 Boul. de Maisonneuve E, Montréal, QC H2L 4E3 · Montreal, QC
Google map of the user's next upcoming event's location
FREE
11 spots left