I’ve dived into a fun side project called tinysmash, and it’s an homage to RoboWar, the 1990 Mac programming robot battle game.
There are certain very magical things about RoboWar, summarized as follows:
The concept of a “robot” is very abstract, since you can create any icon art you want. This allowed for conceptual robots and subverting and playing with robot design.
The game held tournaments, and you could build your robot against copies of the recent tournament winners, so the overall metagame continued to evolve.
I also want to make at least one change to the RoboWar formula:
RoboWar’s very low-level programming language RoboTalk actually gets in the way of tactical focus. I want to use a higher level language that gets the players thinking strategically right away. This comes at a cost of “hotrodding” your robot by shaving off clock cycles, etc.
I mocked up a basic arena, and today I searched for interpreters that could run the code to control my robots. I considered Python and LUA interpreters, but decided on Dynamic C# by TrivialInteractive. It’s a wonderful, simple package, and I’m using their tank game demo as a basis for further tinkering: