Robocode is an open source educational game started by Mathew Nelson (originally provided by IBM). Currently contributions are being made by various people; officially Flemming N. Larsen and Pavel Å avara are working on Robocode to keep it current and fix the bugs. The game is designed to help people learn to program in Java or, starting in version 1.7.2, .NET Framework programming languages (C#, VB.NET, etc.), and enjoy the experience. It is very easy to start - a simple robot can be written in just a few minutes - but perfecting a bot can take months or more.
Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots can move, shoot at each other, scan for each other, and hit the walls (or other robots) if they aren't careful. Though the idea of this "game" may seem simple, the actual strategy needed to win is not. Good robots can have thousands of lines in their code dedicated to strategy. Some of the more successful robots use techniques such as statistical brown townysis or attempts at neural networks in their designs.
I found this game when I was browsing around on the Ubuntu Software Center, and it looked interesting.
So I thought I'd share it with you guys.
There's going to be a bigger OP later, I'm just lazy.