I had long forgotten about RoboWar, a game originally for Mac OS Classic where you programmed robots in a stack-based language that would battle each other in a 300x300-pixel square. I remember spending hours tweaking my robot so that it might stand a chance against such legendary tournament-winning bots such as Arachnoid.
This would be a fantastic project to recreate, as there doesn't seem to be a (released) version available for the non-Mac, non-Windows platforms.
In regards to building a Scheme interpreter to better learn Scheme, I've also come to the realization that I don't know what I'm doing. I have wrapped my head around Parse::RecDescent, which is generally a good thing. I'm working my way through Eli Barzilay's incredibly-well-prepared material for his Programming Languages course to find a solid approach to the whole thing.
Emily has been a bit curious about this whole Scheme thing. It dawned on me that Scheme might be a good resource for her to use to start dabbling with programming -- I asked if she was decent at Excel, to which she replied "yes," and I mentioned that functional programming is much like a spreadsheet with calculations... cells depending on other cells and everything. I installed DrScheme, pointed her at How to Design Programs, and gave her a few pointers.
My roommate has lovingly loaned me his copy of Linux Programming by Example. I'm about two-thirds through it and, while not fully memorizing everything, I've learned a boatload. Arnold Robbins really knows his stuff, from C history to differences in implementations. His examples are really clear and useful, and I'd highly recommend this book to anyone who's just finished K&R and/or wants to start writing practical C on one of the best operating systems on which to develop.