What About Making Games Without Engines?

Luke Wilson
2 min readApr 1, 2020

I love this response. There really aren’t many game engines that are only programmable in code, but if you desire one, Godot is a great choice. One can program an entire game without touching any of the graphical features of the engine, using only the freely available, MIT-licensed source code.

But I have a feeling that turns you off. Is it because you fear to rely on other people’s code and design paradigms? Maybe you’re an NIH person, too. Really a great place for someone like us, is SDL2 with C. Then, programming a 2D or 3D video game using OpenGL. That’s a major task, but I don’t discourage someone who understands the difficulty from trying.

A great community is the Handmade Network. I have a friends there with the same goals and beliefs. Many people host projects there, and one of them is Handmade Hero, a project by Casey Muratori. He programs a 2D video game completely from scratch — no foundations like SDL2 — using C++(98 iirc). They have a forum, Slack, IRC, and Discord you can get connected to them with. An interesting alternative to SDL2 is the raylib project hosted on Handmade Network, as well.

Returning to the question at hand: what about for people who are good at programming, and hate the visual stuff?

If you are looking to have fun and experiment with high-level programming of games, there are some fantasy consoles which feature no graphical interfaces, and only a language like assembly or Lua for programming. Although, the choices really don’t come down to a lot if you’re looking to program a real product from scratch, but I would certainly choose a language you are most experienced with, or don’t mind literally eating the dirt when things suck the most.

SDL2 bindings are available for virtually every programming language that can FFI with C. I think using only C with SDL2 for the sake of “low-level” is a bit exaggerated, because you’ll get further using a language like C++, or Rust, or C# even, because you won’t be scratching your head at silly bugs with your data file parsing, as often.

If I had to program my game from scratch, I would have chosen SDL2 and C++. C++ is, in my opinion, atrocious, but enables me to deliver a better quality product to my end user.

If you have any other questions, just respond again or email me. I’m glad to help in any way I can.

--

--

Luke Wilson

Licensed healthcare provider and entrepreneur. I write about business and programming.