Best programming based games

Viewed 103833

Back when I was at school, I remember tinkering with a Mac game where you programmed little robots in a sort of pseudo-assembler language which could then battle each other. They could move themselves around the arena, look for opponents in different directions, and fire some sort of weapon. Pretty basic stuff, but I remember it quite fondly, even if I can't remember the name.

Are there any good modern day equivalents?

43 Answers

I used to have a lot of fun coding my own robot with Robocode in college.

It is Java based, the API is detailled and it's pretty easy to get a challenging robot up and running.

Here is an example :

 public class MyFirstRobot extends Robot {
     public void run() {
         while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360);
         }
     }

     public void onScannedRobot(ScannedRobotEvent e) {
         fire(1);
     }
 }

I think the original game was called Core Wars (this Wikipedia article contains a lot of interesting links); there still seem to be programs and competitions around, for example at corewars.org. I never had the time to look into these games, but they seem like great fun.

If you want to step away from your keyboard, Wizards of the Coast relased a game called RoboRally that is a combative programming board game.

http://www.wizards.com/roborally/

Another good one is CEEBot. It teaches C / Java style programming in a fun, robot-programming kind of game. It is aimed at 10-15 year olds, but it is a good one.

Colobot

It's usually easy for new programmers to pick up on languages like C++ when you have a strong understanding of Java basics. Colobot allows you to program automated craft using a language almost identical to Java and to move, sense, and manipulate their environment in order to accomplish missions on a dangerous planet.

Core Wars is the classic, of course. But Rocky's Boots is another one. Imagine! There was a time (1982) when you could sell a commercial game based on logic gates!

I think .NET Terrarium is one of the best 'learn-to-program' games for the .NET platform.

I like Ruby Warrior. It is still somewhat under development, but it is a great game with a clever interface.

I'd say the most famous programming game there has been is the core wars. I don't know if you can still find active "rings" although there was a lot when I tried it some time ago (4 or 5 years).

I've never heard or Core Wars before, but it looks interesting. I do have to vouch for RoboCode, though. That's fun and challenging, especially if you have a group of people competing against either other.

Matt, I think the game you're referring to is CRobots (or one of its clones, perhaps -- my first contact was with PRobots, in Pascal, if I remember correctly). It was a lot of fun.

While it was more logic than programming per se, one I really enjoyed back in elementary school was Rocky's Boots. It had sensors, AND gates, OR gates, NOT gates, wires, timers, and all sorts of other stuff. Fantastic program for teaching a kid logic.

Go to the link and you can still play it!

Carnage Heart for PlayStation was fun. It would let you program little mechs to do battle using a flow diagram.

The Brain

I have to give a shout out to RobotWar which was the first programming "game" that I played way back in the Apple II days. It was written by Silas Warner of Castle Wolfenstein fame.

I got myself addicted to uplink a few months ago. It's not really coding based, more hacking. It's still fun and super geeky.

Although not strictly programming-based, I enjoyed a lot Robot Odyssey, a game where you wired logic gates to sensors and motors in a robot, to make it move and react to environment, to get out of a city, escaping obstacles. I played in on Apple //e, it was one of the best games on this computer (with Lode Runner! :-)).

There's racing car simulator game TORCS also where on top of the typical end user playing it (you actually "driving" the cars), you can program robots which control the cars. Regular races are held between robots created by different people.

Omega is one of them, I played it on C64 :)

There is a Spanish Java Page who organice a football leage in wich the users program the skills of their team and the strategy. You only need to download the framework and implement a little interface, then you can simulate matchs which are seen in the screen. When you are happy with your team and strategy you submit the code to the page and enters in the tournament.

Tutorials, videos and downloads:

Java Cup

I've been trying to find the original game I was thinking of - I think it was called 'bots or something like that, and ran on my Mac back in around system 6 days. I'll have to do some digging next time I'm back at my parents place.

Thinking more about it over the last day or so, I suppose it's really not all that different to writing brains for bolo (http://www.lgm.com/bolo/) or bots for Quake and those sort of games.

The game was Robowar--I used to play a bit back in college. Here's the wiki for it. I guess it's now open source and available on windows.

I played RoboWar, but the programming game I remember on the Mac was Chipwits. It came out in 1984. Completely graphical, but entertaining. From what I've seen of Lego Mindstorms, the programming style is similar.

For a modern equivalent, check out CodeRally, it's a Java programming challenge where you write a class to control a race car. The car drives around a track trying to hit check points, refilling when the gas tank runs low, and avoiding obstacles. I think you can throw tires at your opponents. You can run a tournament with several players submitting code to a central server.

There are several other programming games listed on IBM's high school outreach page, including Robocode that others already mentioned.

Related