Robocode

Robocode ist ein Open-Source-Programmierspiel, bei dem virtuelle Roboter auf einem Spielfeld gegeneinander kämpfen. Entwickelt wurde es von Mathew Nelson (ursprünglich von IBM), zurzeit ist Flemming N. Larsen Hauptentwickler und nimmt Aktualisierungen und Bugfixes vor. Weiterentwickelt wird es von der Community. Es wurde entwickelt um die Programmiersprache Java im spielerischen Umgang zu erlernen zu können. Aufgrund der einfachen Bedienung und dank der mitgelieferten Beispiele kann schon in wenigen Minuten ein simpler virtueller Roboter entwickelt werden. Die Entwicklung komplexerer Roboter nimmt jedoch wesentlich mehr Zeit in Anspruch.
Das Spiel
Die Spieler schreiben die Software für einen virtuellen Roboter (Panzer), welcher dann gegen andere Roboter (von anderen Mitspielern und daher mit anderer Software) auf einem ebenfalls virtuellen 2-dimensionalen Schlachtfeld antreten. Die Roboter können sich bewegen, schießen und bestimmte Variablen ihrer Umwelt wahrnemen. Obwohl die Grundidee hiter diesem Spiel sehr einfach ist, ist es sehr schwierig eine gute Strategie für einen Sieg zu entwickeln. Die besten Roboter haben deshalb auch hunderte Zeilen Softwarecode und verfolgen bei ihrer Siegstrategie so unterschiedliche Ansätze wie statistische Analysen, ereignisbasierte Routinen oder ein künstliches neuronales Netz.