I had a lot of fun with this project.
It's an interpreter for a very primitive assembly-style language.
It supports arithmetic, procedures, branches, jumps, recursion, and some utility methods like a memory dump, flags, and more.
As it turns out, there's a lot of depth and a lot to learn when it comes to designing an interpreter.
Especially, there's the challenge of providing visibility for debugging. This was a very interesting subject for me.
Here's my blog post showcasing the interpreter. I'll set up a live demo as well, when I find the time.
I'm able to vividly recollect my dreams after I wake up, and this helps me come up with interesting stories that could work as game ideas, like this one.
I was a sentient compiler that looked at high-level code written by a developer and I generate assembly instructions from the given code.
I'm asked to compile some nefarious code, that would result in damage to life and property, and I'm faced with a choice: stick to my duty and compile it, or to alter it to fail.