Aufmacher

Intelligenzbolzen

Strategiespiel NERO

01.03.2007
Im ungewöhnlichen Strategiespiel Neuro-Evolving Robotic Operatives, kurz NERO, machen Sie aus einer Horde extrem dummer Roboter eine schlagkräftige Mechano-Armee.

Langsam taumeln die kleinen Kreaturen im großen Sandkasten umher. Immer wieder rennen sie planlos gegen die aufgestellten Mauern oder stoßen mit ihren eigenen Kollegen zusammen. Während einige von ihnen sterben, steht die nächste Generation schon in den Startlöchern. Zuckerbrot und Peitsche sorgen für schnelle Lernerfolge. Die intelligentesten der Kreaturen erreichen irgendwann die gegnerische Konkurrenz. Ab hier beginnt ein harter Überlebenskampf, aus dem nur der Stärkste als Sieger hervorgeht.

Was wie ein Auszug aus einem Biologiebuch klingt, beschreibt in Wahrheit ein waschechtes Computerspiel. In NERO [1] trainieren Sie die künstliche Intelligenz einer kleinen Roboterarmee. Durch ein geschickt aufgebautes Trainingsgelände sowie entsprechende Belohnungen und Strafen erlernen die eigentlich dummen Teammitglieder eine gezielte Angriffsstrategie. Steht diese, stellen Sie ein Team aus den bislang besten Robotern zusammen, das anschließend seine Leistungsfähigkeit im Kampf gegen ein anderes Team beweisen muss.

Abbildung 1: Der Startbildschirm von NERO gewährt auch Zugang zu zwei hervorragenden Tutorials, die beim Einstieg in die Bedienung helfen.

Diese ungewöhnliche Spielidee entstammt ursprünglich einem Forschungsprojekt der Universität in Austin, Texas. Die Basis bildet eine dort entwickelte, spezielle maschinelle Lerntechnik (mehr dazu im Kasten "Hirnforschung"). Mit deren Hilfe lernen die Roboter tatsächlich aufgrund von guten und schlechten Erfahrungen und verbessern so Schritt für Schritt ihre Fähigkeiten und Angriffsstrategien. Die direkte Kontrolle der Roboter in den Kämpfen bleibt dem Spieler verwehrt: Der Reiz des Spiels liegt in der Trainingsphase.

Hirnforschung

Jeder Roboter besitzt in NERO ein eigenes Gehirn. Ähnlich wie das menschliche Pendant besteht es aus einer Menge von simulierten Nervenzellen, die untereinander Informationen austauschen. Ein solches künstliches Gehirn bezeichnet man als neuronales Netzwerk (Artificial Neural Network). Grob vereinfacht verändert NERO während des Trainings die Verdrahtung der simulierten Gehirnzellen mit Hilfe eines komplexen Regelwerks. Auf diese Weise lernen die Roboter und passen ihr Verhalten der Umgebung an.

Nach einer fest definierten Zeit sterben die Robots. NERO prüft nun, welche von ihnen sich im Hinblick auf die vorgegebenen Ziele am geschicktesten (vorgegeben durch positive und negative Sanktionen) verhalten haben. Die Software kombiniert die besten künstlichen Gehirne miteinander und pflanzt das Ergebnis einem der neugeborenen Roboter ein. Durch diese Strategie siebt NERO die weniger erfolgreichen Einheiten aus, ganz so wie es Darwin in seiner Evolutionstheorie beschreibt ("survival of the fittest", der am besten Angepasste überlebt).

Das komplette, in NERO verwendete Verfahren hört auf den kryptischen Namen "real-time NeuroEvolution of Augmenting Topologies" (kurz rtNEAT) und wurde maßgeblich von Ken Stanley an der Universität von Austin entwickelt. Wer etwas tiefer in die komplexe Materie eintauchen möchte, findet unter [2] genügend Material.

Installation

Die Entwickler bieten NERO ausschließlich in einer bereits fertig ausführbaren Fassung an. Es genügt somit, die Linux-Version unter [1] herunterzuladen und in ein Verzeichnis der Wahl zu entpacken. Tippen Sie ./nero.bin in ein Terminalfenster, um das Spiel zu starten.

Lassen Sie sich dabei nicht durch den etwas unglücklichen Verzeichnisnamen nero_101_ubuntu irritieren – NERO läuft auch unter anderen, modernen Linux-Distributionen. Allerdings versagt zur Zeit die Bibliothek libSDL-1.2.so.0 von Debian Unstable. Erscheint beim Start von NERO eine Fehlermeldung, die den Text X11_KeyToUnicode enthält, ersetzen Sie diese Bibliothek durch eine ältere Version (siehe Kasten "LibSDL-Problem").

Eine weitere Hürde kann ein fehlender oder falscher Grafikkartentreiber sein. Während des Spielverlaufs stellt NERO allerdings eher Anforderungen an den Prozessor als an die Grafikkarte. Ruckelt also die Bildschirmausgabe, verursacht diesen Fehler nicht unbedingt ein falsch konfigurierter Treiber.

LibSDL-Problem

Um an die ältere Version libSDL-1.2.so.0.7.2 von Ubuntu Dapper Drake zu kommen, laden Sie das Paket libsdl1.2debian-all vom LibDSL-Mirror [3] herunter und entpacken es über den Befehl:

sudo dpkg-deb --extract libsdl1.2debian-all_1.2.9-0.0ubuntu2_i386.deb

Kopieren Sie die libSDL-1.2.so.0.7.2 in das Verzeichnis /usr/lib und löschen Sie zunächst über sudo rm libSDL-1.2.so.0 den Link zur neueren SDL-Bibliothek. Dann setzen Sie einen neuen Link zur älteren Version der LibSDL über das Kommando:

sudo ln -s /usr/lib/libSDL-1.2.so.0.7.2 /usr/lib/libSDL-1.2.so.0

Nun sollte Nero funktionieren. Treten Probleme mit anderen Programmen auf, machen Sie die Verlinkung rückgängig.

Rekrutierung

Nach dem Spielstart gilt es zunächst, eine Roboterarmee auszubilden (Train Soldiers, Abbildung 1). Dazu wählen Sie als erstes ein passendes Trainingsgelände (unter Select an Arena). Für den Anfang empfiehlt sich ein leerer Sandkasten (Virtual Sandbox), die noch extrem dummen Blechbüchsen nicht gleich mit einem verwinkelten Labyrinth zu überfordern.

Am unteren Bildschirmrand taucht nun die Kontrollleiste auf. Mit ihrer Hilfe bestücken Sie den Sandkasten und regeln die Belohnungen und Strafen. Zunächst postieren Sie ein Angriffsziel auf dem Feld. Dazu wählen Sie aus dem linken Kasten zunächst einen statischen Pappkamerad (Static Enemy) als Trainingspartner aus. Ihn platzieren Sie über den Eintrag Add Enemy aus dem Kontextmenü der rechten Maustaste irgendwo auf dem Spielfeld (Abbildung 2).

Abbildung 2: Im Trainingsmodus platzieren Sie als erstes einen Gegner. In diesem Fall handelt es sich nur um eine Attrappe ( Static Enemy), wie das untere Kontrollfenster zeigt.

Jetzt bringen Sie die eigenen Roboter ins Spiel. Dazu klicken Sie auf der freien Fläche wieder mit der rechten Maustaste und wählen Launch Team. NERO wirft jetzt kontinuierlich neue Einheiten in den Sandkasten. Wie lange jede von diesen dort vor sich hin lernt, bestimmt der unterste Schieberegler im rechten Kontrollkasten (Lifetime Slider). Sobald diese Zeit abläuft, sterben die Roboter und lösen sich in Luft auf. Deren bis dato gelernten Fähigkeiten gehen aber nicht verloren, sondern wechseln über komplexe Mechanismen auf die Neugeburten über, die eine unsichtbare Hand aufs Spielfeld wirft.

Grundausbildung

Anfangs wissen die Roboter noch nicht, dass sie den kleinen Pappkameraden angreifen sollen (Abbildung 4). Dazu müssen sie ihn zunächst möglichst schnell erreichen und in einem zweiten Schritt das Feuer auf ihn eröffnen. Belohnen Sie dieses Verhalten, festigt es sich mit der Zeit als "gut" im Gehirn des Roboters.

Für Zuckerbrot und Peitsche sorgen die vertikalen Schieberegler im rechten Kontrollkasten (Abbildung 3). Der äußerst linke Balken regelt das Erreichen des Gegners. Befindet er sich im grünen Bereich, belohnt NERO jeden Roboter, der den Pappkameraden findet. Zeigt er hingegen nach unten in den roten Bereich, bestraft die Software die Roboter beim Erreichen des Gegners. Je höher der Balken, desto stärker fallen Belohnung beziehungsweise Strafe aus.

Abbildung 3: Im zweiten Trainingsschritt fügen Sie Hindernisse wie diese Mauer hinzu. Über das Kontextmenü und ein paar Mausbewegungen lässt sie sich schnell in die gewünschte Form bringen.

Links oben im rechten Kontrollkasten blinkt nun ein kleines rotes Licht. Es weist auf veränderte Werte hin. Um sie anzuwenden, klicken Sie auf die grün aufleuchtende Schaltfläche Apply. Nach einer Weile sollten alle Roboter zielgerichtet die Pappfigur erreichen. Sie verfolgen nun die Strategie: "Laufe direkt zum Gegner".

Abbildung 4: Die eigenen Roboter in Blau stürmen hier noch etwas unbeholfen von links auf die Mauer zu. Einer nimmt sogar schon Kurs auf den platzierten Gegner.

Im Manöver

Allerdings wäre es in einem späteren Gefecht fatal, würden die beiden Parteien einfach nur stupide und wild um sich schießend aufeinander zu rennen. Zudem gibt es auf den Schlachtfeldern auch Hindernisse, hinter denen die Roboter sehr gut Deckung suchen könnten. Folglich sollten Sie die einfache Strategie noch etwas verfeinern. Dazu setzen Sie ein paar Hindernisse zwischen die eifrig lernenden Roboter und die Gegnerattrappe. Dies geschieht wieder über einen Klick mit der rechten Maustaste auf einen freien Bereich des Sandkastens.

Aus dem auftauchenden Menü wählen Sie Add Objekt, und schon erscheint eine formschöne Mauer. Sobald Sie den Steinklotz erneut mit der rechten Maustaste anklicken, dürfen Sie ihn nach Herzenslust verschieben, verformen und sogar rotieren. Die Roboter werden sich zunächst wieder extrem ungeschickt anstellen und recht blind gegen die Mauer rennen. Mit der Zeit lernen sie jedoch, das Hindernis zu umgehen. Dabei entwickeln sie sogar recht ungewöhnliche Strategien, die nicht direkt auf der Hand liegen, aber dennoch extrem effizient zum Ziel führen (Abbildung 5).

Abbildung 5: Hier findet das Training in einer komplexeren Arena statt und der Gegner schießt zurück (an den roten Blitzen zu erkennen). Ein Klick auf seinen Rand versteckt das linke Kontrollmenü zur besseren Übersicht.

Nachdem die Roboter die Grundlagen kennen, steigern Sie nun den Schwierigkeitsgrad ein wenig. Dazu fügen Sie weitere Hindernisse und Trainingspartner hinzu. Letztere gibt es übrigens auch in drei schießenden sowie einer laufenden Fassung. Die Auswahl im linken Kontrollkasten bestimmt genau diesen Gegnertyp.

Als fast noch wichtiger erweist sich jedoch die Relationen zwischen Belohnung und Strafe: Schon eine kleine Änderung der Balken zueinander verändert das Verhalten der Roboter komplett. Je höher ein Balken, desto aggressiver verfolgen die Blechbüchsen das zugehörige Ziel. Drehen Sie beispielsweise nur den Balken unter Stick Together voll auf, rotten sich die Soldaten möglichst dicht zusammen – und entwickeln dabei zugleich eine geballte Feuerkraft. Bestrafen Sie dieses Verhalten hingegen und drehen den Balken bei Approach Enemy voll auf, so verteilen sich die Roboter im Sandkasten und suchen gleichzeitig einen Gegner. Dieses Vorgehen ermöglicht auch recht ausgefeilte Strategien.

Die ausgebildete Mannschaft speichern Sie über Save Army am unteren Bildschirmrand. Um sie später weiter zu trainieren, wählen Sie Select a Starting Team im Menü Create Training Mission.

Nach dem ausgiebigen Training der Roboter stellen Sie unter Create Team im Hauptmenü ein neues Roboterteam zusammen. Im rechten unteren Teil zeigt der Bildschirm alle bislang gespeicherten Teams an. Sobald Sie eines von ihnen aussuchen, erscheinen oben rechts alle Teammitglieder – die besten zuerst. Per Add Unit fügen Sie den Roboter dem neuen Team hinzu. Auf diese Weise entsteht eine Armee aus unterschiedlichen Spezialisten. Das Ergebnis sollten Sie allerdings vor dem ersten richtigen Einsatz im Trainingslager testen.

Im Einsatz

Sobald das Team steht, dürfen Sie es in den richtigen Kampf schicken. Am meisten Spaß macht ein Duell gegen die Armee eines befreundeten Spielers. Im Hauptmenü wählen Sie dazu Battle Mode. Wer alleine spielt, muss gegen den Computer (vs. CPU) antreten. Per Host Battle initiieren Sie eine neue Netzwerkpartie, der ein anderer Mitspieler auf seinem Computer per Join Battle beitritt.

Bei einem Spiel gegen die CPU wählen Sie zunächst eine Arena und die beiden Teams, die gegeneinander antreten sollen. Unter Battle Type stellen Sie noch die Spieldauer ein. Nach ihrem Ablauf gewinnt das Team mit den meisten Überlebenden. Im Fall von Destruction dauert ein Spiel bis zur kompletten Vernichtung einer der Armeen. Es genügt nun ein doppelter Mausklick auf Begin und schon stürmen die Roboter aufeinander los (Abbildung 6 und 7). Ab hier schauen Sie nur noch zu. Neben den einzelnen Akteuren färbt NERO übrigens auch die Schüsse in den Teamfarben ein, so dass Sie genau nachvollziehen können, welches Team gerade feuert.

Abbildung 6: Hier tobt gerade ein Kampf zwischen zwei mitgelieferten Teams. Sie erkennen die zwei verschiedenen Strategien sehr gut: Während sich die roten Roboter an Wänden orientieren, verteilen sich die blauen quer über das Feld.
Abbildung 7: Derartige Nahkämpfe beobachten Sie nur selten. Als viel wichtiger erweist sich stattdessen die globale Strategie des gesamten Teams.

Fummelige Kamera

Den Blickwinkel auf das gesamte Geschehen steuern Sie über [Q],[E],[W],[A],[S] und [D]. Diese Tasten ermöglichen jedoch nur Gleitbewegungen. NERO kennt aber auch noch einen speziellen Flugmodus, den Sie über [M] aktivieren. Ab dann bestimmt die Maus den sichtbaren Bereich, während die eingangs erwähnten Tasten die Bewegungen steuern.

Fazit

NERO bietet eine grandiose Experimentierwiese für alle, die sich mit künstlicher Intelligenz beschäftigen. Andererseits kann das Spiel seinen wissenschaftlichen Ursprung kaum verleugnen: So verbringen Sie die meiste Zeit mit dem Aufstellen von Hindernissen und Gegnerattrappen im Trainingsmodus. Lediglich die Duelle über ein Netzwerk motivieren langfristig – vorausgesetzt Sie finden einen weiteren begeisterten NERO-Spieler.

Unterm Strich empfiehlt sich das ungewöhnliche Strategiespiel somit für alle, die spielerisch in die Welt der künstlichen Intelligenz eintauchen möchten oder die sich schon lange eine actionreichere Variante des Knuddelspiels Creatures wünschen (kki/jlu).

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare