In the 1990s and early 2000s I played this great game called Robot Battle by Brad Schick. It’s an open-ended programming game where you use a programming language called Robot Scripting Language (RSL) to program battle bots to shoot at each other. The bots look like tanks, consisting of a tracked body, turret, and radar. The arena is viewed from top-down and, in addition to the robots, would also contain mines that you would want your robots to avoid, and cookies that give you more energy. The game relied heavily on its community, initially connected via the Robot Battle Mailing List (RBML), later via the Robot Battle Registry web forum.

The Robot Scripting Language would allow you to program in a purely sequential way, checking various inputs one at a time and reacting to them, or in a more advanced event-driven manner. The game shipped with a few example robots and a manual that got you going. Once you were ready to test your bot, you would unleash it into the arena with others. At this point you became part of the audience, no longer able to affect the outcome. Usually you’d also want your robot to play multiple games so that you could say with more confidence that your robot beats the other or others, say, 67% of the time.

Robot Battle 1.4 was a significant update from 1.3. The former version was created for Windows 3.1 whereas the latter was natively for Windows 95, allowing it to run even on today’s Windows with no issues! The older version, however, needs an emulator. I’ve successfully been using winevdm, where you just drag and drop your .exe file over otvdmw.exe to run it.

I was unable to find any gameplay videos of the game – unsurprisingly, as YouTube didn’t exist until 2005 and recording your screen wasn’t really a thing yet. Anyway, I decided to rectify the situation and just recorded some battles between the sample bots myself. Here’s version 1.3 in action:

And here’s version 1.4:

Version 1.4 looks better and has more options, including bigger arenas. However, if you are seriously debugging your robots in it, you’ll probably want to use the high contrast skins for them, which makes it much easier to see where each part is pointing, though it also mutes the visual flair.

While doing some light research for this post I came across Robocode. It was started in 2000 and is still being maintained. Robocode was directly inspired by Robot Battle, but in Robocode you program in Java (or, in the later version called Tank Royale, any language that can talk to its API!). Looks interesting for sure! Other current examples of programming games are Battlecode by MIT and Screeps.

Finally, a funny anecdote. Years after my most active time in Robot Battle I was on some programming course in the university. I got assigned to a group with some people that were previously unknown to me – although one of them had a really familiar name that I just couldn’t place. It took me almost the entire course until I finally cracked it: the guy had been a member of the Robot Battle Mailing List! 😄

Have you ever played Robot Battle or any other programming games? I’d love to hear about it in the comments!

PS. I did a quick social media search on Robot Battle. Much to my surprise I found this guy Greg reminiscing the game on Bluesky last December! Check out his thread here.