Robocode

Robocode
Startbildschirm

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 erlernen zu können. Aufgrund der einfachen Bedienung und dank der mitgelieferten Beispiele kann schon in wenigen Minuten ein simpler virtueller Roboter (im Englischen kurz: Bot) entwickelt werden. Die Entwicklung komplexerer Bots nimmt jedoch wesentlich mehr Zeit in Anspruch.

Inhaltsverzeichnis

Das Spiel

Die Spieler schreiben die Software für einen virtuellen Roboter (einen Panzer), welcher dann gegen andere Bots (von anderen Mitspielern und daher mit anderer Software) auf einem ebenfalls virtuellen 2-dimensionalen Schlachtfeld antreten. Die Bots können sich bewegen, schießen und bestimmte Variablen ihrer Umwelt wahrnehmen. Obwohl die Grundidee hinter diesem Spiel sehr einfach ist, ist es sehr schwierig eine gute Strategie für einen Sieg zu entwickeln. Die besten Bots 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.

Bei dem Spiel geht es darum, den eigenen Panzer so zu programmieren, dass er so wenig wie möglich getroffen wird und selbst so oft wie möglich die Panzer der anderen Spieler trifft. Gewinnbedingung ist, als letzter Roboter auf dem Spielfeld zu verbleiben oder in Teamspielen, alle Roboter der gegnerischen Teams vernichtet zu haben.

Das Spiel ist kein Onlinespiel, es ist also nicht möglich, Partien über das Internet auszutragen. Man kann aber eine Vielzahl an Steuerprogrammen (die teilweise sogar als Open Source vorliegen) im Internet finden, welche man dann auf seiner lokalen Maschine ausführen kann. Die Steuersoftware läuft in einer abgeschirmten Umgebung, d.h. es bestehen keine Sicherheitsrisiken beim Ausführen fremder Binärdateien. Lässt man die eigene Software gegen die fremde antreten, lässt sich die Effektivität der eigenen Software testen.

Größenbeschränkungen

Um Programmierer dazu zu zwingen, den Funktionsumfang ihrer Bots einzuschränken, gibt es verschieden Roboterklassen, die sich durch unterschiedliche Größen der Binärdateien auszeichnen. Auf diese Weise bleibt es auch Anfängern offen, sich mit etablierten Robocode-Spielern zu messen.

Man unterscheidet:

  1. Megabots ohne Größenbeschränkung
  2. Minibots mit unter 1500 Bytes
  3. Microbots mit weniger als 750 Bytes
  4. Nanobots mit weniger als 250 Bytes

Ligen

Es gibt mehrere Robocode Ligen, die bekanntesten sind:

RoboRumble@Home

RoboRumble@Home ist eine ständige Liga, die drei verschiedene Disziplinen in allen Klassen austrägt. Die Disziplinen sind:

  1. 1-on-1, wobei nur 2 Roboter auf das Spielfeld gelassen werden
  2. melee, eine Massenschlacht mit mehr als zwei Robotern; wer als letzter übrig bleibt, gewinnt
  3. team, Gruppen treten gegeneinander an.

In den Modi 1-on-1 und melee tritt jeder Roboter mindestens ein mal gegen jeden anderen an. Im Team-Modus scheiden Teams nach einer Niederlage aus (KO-System).

Robocode Little League

Die Robocode Little Leage war spezialisiert auf größenbeschränkte Bots. Die RLL ist momentan nicht mehr aktiv.

Einige wichtige Bots

Die besten Bots in allen Klassen und Disziplinen (Stand Februar 2006)

RR@H Champions

Klasse Disziplin Bot Kommentar
Megabots 1-on-1 Dookious Hochspezialisierter 1-on-1 Bot. Seit langem ungeschlagen und Open-Source.
melee Aleph
teams Aleph Eine spezialisierte Team-Version von Aleph
Gesamt Shadow Ein hervorragender Allrounder
Minibots 1-on-1 Pugilist Open-Source-Bot. Über ein Jahr lang Tabellenerster.
melee GlowBlowMelee
Gesamt - Durch die Größenbeschränkung sind die Bots sehr spezialisiert.
Microbots 1-on-1 Thorn Open Source
melee Shiz Open Source
Gesamt - Durch die Größenbeschränkung sind die Bots sehr spezialisiert.
Nanobots 1-on-1 Splinter Open Source
melee Lib Open Source
Gesamt DoctorBob Für seine Klasse schlägt sich dieser Bot recht gut in allen Disziplinen.

Besondere Bots

Der lange Zeit als unschlagbar geltende SandboxDT ist noch immer ein starker Gegner und definiert noch heute die Trennlinie zwischen Spreu und Weizen.

Technisch besonders interessant sind Shadow, der das sogenannte 'WaveSurfing' einführte und FloodMini, ein Open-Source Minibot, der die StatisticalTargeting-Technologie etablierte.

In den letzten Jahren gilt CassiusClay, ebenfalls Open Source, als einer der technisch ausgefeiltesten Bots.

Phoenix, die aktuelle Nummer 2 der RR@H, zeigte erstmals eine grafische Debug-Umgebung.

Weblinks

 Commons: Robocode – Album mit Bildern und/oder Videos und Audiodateien

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Robocode — Infobox Software name = Robocode caption = collapsible = author = Mathew Nelson developer = Flemming N. Larsen released = latest release version = 1.6.0.1 latest release date = June 02, 2008 latest preview version = latest preview date =… …   Wikipedia

  • Robocode — Splash screen de Robocode Robocode est un jeu vidéo éducatif libre créé et distribué gratuitement par IBM. Il est destiné à l apprentissage du langage de programmation Java. Les joueurs programment un logiciel contrôlant les réactions d un ou… …   Wikipédia en Français

  • Программерская игра — Игра для программистов  компьютерная игра, в которой человек не участвует напрямую в игре. Вместо этого он пишет управляющую программу, сражающуюся с себе подобными программами. Такие игры являются сложным и нетривиальным упражнением для… …   Википедия

  • TankAI — is a Robocode clone written in Microsoft Visual C# 2005 by Michael T. Moosman. TankAI is currently in beta and no official release date has been set. Like Robocode , TankAI is designed to help people learn programming in a fun environment and can …   Wikipedia

  • Игра для программистов — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Griffith College Dublin — Infobox University name =Griffith College Dublin native name =Coláiste Uí Ghríofa, Baile Átha Cliath established =1974 type =private students =8,500 campus = Urban, convert|7|acre|m2 calendar =Semester affiliations =HETAC, HECA president… …   Wikipedia

  • Automata-based programming (Shalyto's approach) — Automata Based Programming is a programming technology [1] . Its defining characteristic is the use of finite state machines to describe program behavior. The transition graphs of a state machines are used in all stages of software development… …   Wikipedia

  • Programmierspiel — Screenshot von Core War Ein Programmierspiel ist ein Computerspiel, bei dem der Spieler keinen direkten Einfluss auf den Spielverlauf hat, sondern statt dessen ein Computerprogramm in einer domänenspezifischen Programmiersprache schreibt, das die …   Deutsch Wikipedia

  • Strategisches Programmierspiel — Ein Programmierspiel ist ein Computerspiel, bei dem der Spieler keinen direkten Einfluss auf den Spielverlauf hat, sondern statt dessen ein Computerprogramm in einer domänenspezifischen Programmiersprache schreibt, das die Steuerung der… …   Deutsch Wikipedia

  • Switch-технология — технология разработки систем логического управления на базе конечных автоматов, охватывающая процесс спецификации, проектирования, реализации, отладки, верификации, документирования и сопровождения. Предложена А. А. Шалыто в 1991 году [1].… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”