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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...