Unity, Unreal and the rest of the available game engines are at the point where using anything else is probably quite foolish at best, and at worse it’s a total waste of time. This is a good way to say that I’m doing it anyway.

Back in the day I used to blog about coding. “The Day” was when .net was in beta and I was having lots of fun playing with the debugging API built into the runtime. I love that low level (ish) hacking around in an API to see what it can do but with all things I went away and did other things. I think I need to come back though.

The project that I’ve set myself is to create a game engine so that I get to touch all of the interesting bits of Windows that I’ve ignored for years. The last time I read from a joystick it was through DirectInput, and now that’s deader than a dead thing and replaced with XInput and raw access if you need anything better than an Xbox controller. There’s also audio. Direct2D. Direct3D 12. There’s so much for me to learn and write up along the way.

This isn’t actually going to be a tutorial on how to write a game engine however, just me documenting my experiments as I go along. It’ll not always be the right way, but as I learn I’ll work towards how best to do things. Hopefully I’ll leave a set of useful code along the way that people can learn from.

Most development will be in C++ because that’s the easiest language for most of what I want to do.

First up will be creating windows. I can do it from memory with basic Win32, but what about UWP?