tinysmash update: two tanks

tinysmash-tiny

I’ve made some progress on tinysmash:

  • There are now two tanks.
  • Each tank runs from its own C# script.
  • Scripts are loaded from text assets in the Resources, so they can be edited and re-loaded while the game is running.
  • Bullets now destroy tanks.

This is much more quickly than expected getting me to the point where I can start designing the commands and sensors that the tanks (soon to be robots) expose to the player.

First steps on tinysmash

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:

Screen Shot 2018-08-02 at 9.41.06 PM.png