I love Zachtronics' games, but they're kind of in the uncanny valley of gameplay for me. After a few hours, I start to wonder why I'm optimizing all these in-game circuits when I could be doing the same with my actual code! (On the other hand, they also make me realize how great Woz must have felt when he got Breakout down to just 44 chips.)<p>The performance comparisons to other players is a brilliant feature, though.
TIS-100 is way more pleasurable to program on than real hardware. It is so easy to debug! Everything is visible.<p>People accomplished great things back in the 8-bit era with the tools they had, but the stuff they do today with the same hardware is truly mind blowing. I attribute that at least partially to things like that C64 emulator [1] where you can just view all of the system's memory during execution.<p>[1] <a href="http://icu64.blogspot.com/2009/09/first-public-release-of-icu64frodo.html" rel="nofollow">http://icu64.blogspot.com/2009/09/first-public-release-of-ic...</a>
This game is brilliant, in case you haven't tried it. Also, it will teach you the true fury of stream programming with only twelve instructions and a single addressable register.
> This game is kind of a throwback to the kinds of games I used to make<p>I think this is a very important part. Personally I enjoyed pre-spacechem games a lot (e.g. <a href="http://www.zachtronics.com/the-codex-of-alchemical-engineering/" rel="nofollow">http://www.zachtronics.com/the-codex-of-alchemical-engineeri...</a>) because they were difficult and because they were very simple. Spacechem got grander and it was still fun, but for my simple tastes infinifactory isn't bare enough.
This is neat, but you can do some real hacking on software with something like <a href="http://www.ollydbg.de/" rel="nofollow">http://www.ollydbg.de/</a>