Nearly, or I'm in the process of building one I would say. You can find the repository here. The codebase is kind of a first draft and will be subject to quite a few changes over the next few weeks. It all started out by separating the platform code from the actual game code. All the methods in main are platform stuff and the rest is quite self-explanatory. At first when I did it (while following the awesome Handmade Hero of course) it was so that I could dynamically build my game code and be able to see changes to code instantaneously as I edit the code. Kinda like a hot reloader but better because all the game state is maintained. So you can essentially debug in place by editing your code as it's running. It works because the platform layer (mostly X11 stuff) is completely independent of the game, which I initially thought was so that multiple platforms could be supported by simply having a couple of methods. It can, but little did I know it could do something as awesome as editing your code and seeing the outcome right there. But it gets better. Turns out it's more useful if you can replay the actions you took before you got to the state you are in, by saving the state and the actions up to that point. That's exactly what I'm in the process of building right now. Although I did manage to make a right mess of things this morning, mainly by not paying attention. I was too excited about what Casey was building and thinking of all the possibilities. Also, I got hit in the face by some skill issues. This time I'm okay with it. In the last twenty two days of Handmade Hero I've been hit with skill issues so many times that I'm actually accepting it at this point. It's making me a much better developer and enabling me to build some cool stuff, so I don't care that much. Okay, it bothers me a little bit to look like an idiot live on stream but it's just something I need to get over. Without a lot of help from people watching the stream I wouldn't have made it to day twenty two in about fifty or so days. It might have taken double that time.
All in all it's good stuff. Especially since last year I was wondering how a deterministic simulator worked. I tried to build one but I had no idea of where to begin or fully saw the path to building one. Now it's no longer the case. I understand quite well how one would work and how you could go about building one too.