Robocode Rumble - Java-Battle-Bot League
jsse writes: "Robocode is a game that teaches you Java while you build killer Java-Battle-Bots that fight each other to the death in an arena. The newest Robocode league in town, Robocode Rumble has just been launched. It's a joint effort by alphaWorks and developerWorks. If you're just getting started with Robocode, don't miss "Rock 'em, sock 'em Robocode!" An excellent hands-on starter. In addition "Secrets from the Robocode masters" a collection of tips from the experts, presents more advanced techniques and strategies to help destroy all and be the Java-Battle-Bot King. Previous slashdot story on Robocode can be found here."
You don't have to cry when picking up the broken shards of code and putting them into a ragged cardboard box to take home and superglue back together.
Cheaper than real robots too (ignoring the start-up costs, of course).