Working Around A Bug In Unity’s Input System By Building For Release

Edit: Someone from Unity Tech. found this post and is working on a fix.  So that's good 😀

This post could also be titled "Why I Absolutely Hate Closed Source Game Engines (And I'm Totally Not Talking About One In Particular)".

This weekend, a couple of friends and I participated in the Game Maker's Toolkit 2018 Game Jam*.  As part of it, I dusted off an input system I wrote for a local-multiplayer Unity game a few years ago.  Since it uses XInput for Xbox controllers, I thought - "Hey, I have an Xbox One set up for devmode and I read somewhere that UWP (Universal Windows Platform) games now have unlimited resources...  Wouldn't it be neat to port our game jam game to the One?"  Yeah, that would be neat, and being able to eventually tack "Shipped Xbox One Indie Title" onto my resume would be pretty cool.  Unfortunately, it wasn't quite that simple.  So I'm writing a blog post about it, mostly because I want to rant about the last 18-or so hours of my life.  Bleh. Continue reading "Working Around A Bug In Unity’s Input System By Building For Release"

Adventures in C++ Hotloading: Changing Data Structures at Runtime

I've been working on a miniature game engine (lovingly called Mingine) as a little side-project lately.  It's very barebones right now - pretty much just a platform layer based on SDL with a sprinkle of WinAPI, a mostly-functional graphics API abstraction layer (with an OpenGL backend), some image loading code, input handling...

I hate myself for this caption
The glClear is always greener somewhere else!

Oh, and it supports C++ hot-reloading, which is actually the whole reason I started Mingine in the first place.  In this article, I'll be talking a little bit about the early state of that architecture, as well as some of my takeaways from it.  This will be a little longer than usual, so buckle up! Continue reading "Adventures in C++ Hotloading: Changing Data Structures at Runtime"

Reflection in standard C++

I've been playing with C++ a lot lately, trying to see what ways I can manipulate templates and macros.  I'm aware that it isn't a wholly original concept, but today I decided it would be a good idea to try implementing a nice reflection interface for C++.  Right now it only supports members and parent/child relationships.  The next step is to implement method metadata, and eventually I'd like the system to be extensible such that you can attach arbitrary metadata to classes and their members. Continue reading "Reflection in standard C++"