Skip to content

2D Game Engine Development - Basic Gameplay Features

Photo of Massimo Gauthier
Hosted By
Massimo G.
2D Game Engine Development - Basic Gameplay Features

Details

CLASS DESCRIPTION
Since many attendees so far haven't had a ton of experience working with existing engines, this week we'll be looking at how to add very basic versions of a number of features that can be built upon later by implementing a simple example platformer game in real-time. This will cover:
- Basic input procs
- Basic math structs and functions
- Basic collision
- Simple entities and global game state
- Basic platformer physics

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; what parts and systems game engines are made of
  • Manual memory management and Data-Oriented coding practices
  • How projects like these are compiled and built
  • How 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, Game Maker, etc. 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. Since we've had a number of people already familiar with low-level languages show up looking to get into game development, I'll also do my best to touch on general game coding topics you might pick up working with an existing engine.

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.
  • 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
  • Github Desktop: For tracking and backing up changes to your project(s). If you have a different preferred solution for source control, feel free to use that.

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. You can find instructions on how to do so on Odin's overview page: https://odin-lang.org/docs/overview/

IF YOU DID NOT ATTEND THE INTRODUCTORY CLASSES I would highly recommend familiarizing yourself with the following resources before attending for the first time:

(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