Five Games: Preface (Part 0)

It finally begins. This may end up being the longest chapter because there's quite a bit I want to say before we begin, but I promise I'll try to keep thing relevant to the topic. I can edit anything before I publish it anyways. To begin I want to inform the dear reader that the code I will be showing in this series will be mostly Odin code. I do plan on showing some examples in other languages though. To show you how you can easily take what you've learned here and transfer it to any other language, engine, or framework. Before I ask you to just follow along in my language of choice, I want to explain my reason for this decision, along with many other choices I've made for this series. If you have decided that you do not care and you are going to just trust me on this then feel free to skip ahead to Part 1 where we make Pong.

Why Odin & Raylib? Why not X Engine?

There's a few reasons for this. An important one is that this series is NOT intended for programmers who already know what they're doing. This is mostly for the artist, the newbie programmer, the person who woke up one day and decided they wanted to make games, this series is what I--knowing what I know now–would have liked to have when I first started learning to make games about 4-ish years ago. This is a series of tutorials focused on learning to solve problems with programming and not a How to Make X Game tutorial. And while we are not exactly creating everything from scratch, we are getting close. This means we get to focus on the fundamentals and learn how to build anything regardless of what tool we are using. This is something that a lot of people seem to find more daunting than just opening Unity or Godot and making a game, but I hope I can show you that it's not impossible, it doesn't have to take 10 years, and you ARE capable of making a game this way right now.

Okay, but why Odin and not C/C++?

To be honest I was going to do this in C/C-like C++ and thought that it would make it simpler for the reader if I were to start there and later show examples in C# so they can easily move to their engine of choice if they wanted to after completing this series. I decided pretty much right before writing this that I was going to just use Odin. It's easy to setup and get working in any text editor, it's batteries included so a single download will get you all the tooling you need, and maybe the most important thing of all is that it's just a fun language to use. It's a good choice to show you the joy of programming!

Why no AI? AI can make these games in a single prompt.

  • You don't need it
  • It's not worth it (for your brain or your wallet)
  • This really isn't so difficult that you need to offload the workload to an llm
  • I just don't care for it

How will this help me in Unity/Godot/Etc. when I'm done here?

I'll say this here and now that I will plan to show some code for other engines and show exactly how you can take what you learn here and apply it elsewhere. This won't be something I do frequently, but I'll give you a few examples here and there to demonstrate how the language & tooling really isn't important. Atleast not nearly as important as learning the fundamentals and learning how to take what ideas you have in your mind and actually build them with code.

The Setup

The simplest way to setup Odin is to go Odin's Getting Started page and following the installation instructions there. Once you get it installed and added to the path then you can just create a .odin file and run the compiler. You can test if this works by creating a new folder and create a main.odin file inside that folder. Put the following inside your main.odin:

package main

import "core:fmt"

main :: proc() {
  fmt.println("Hellope!")
}

If you've setup VSCode or Sublime Text to run the program with the click of a button then you are done here. If not then you are able to run your program with odin run . in a terminal window and it should work without issue!

I don't understand this language! Where do I learn it?!

There are 3 pages I ALWAYS keep open when working on projects in Odin:

I will cover more about how to use all of these resources in the following chapters so don't worry if it feels like a lot looking at those pages right now. There's a simple solution for all of it.

What to Expect? I'm scared!

The complexity of the games will scale as we progress so good news is we are starting with something VERY simple. Starting off I will also give you most of the projects code to get you started and so I can focus on teaching you why I make the decisions I do regarding the code and how I get to the solutions I came up with. I will be holding your hand and taking you on a tour through the museum, quizzing you every now and then to make sure you're paying attention. Sometimes you'll be given a safe space to work on your own code with the opportunity to experiment all you like. If you've never made a game before then this will be your first! And you'll have built it all in 1 day!(if it took you longer then just tell everyone you did it in 1 day. It should take you less than 24 hours so that counts even if you spread it out)

Date: 10/10/2026

Author: MikhelOS

Created: 2026-10-10 Sat 15:03

Validate