Kampf der Roboter

Gladiabots – Roboterkämpfe mit selbst erstellter AI User-Artikel

Vampiro 30. Juli 2018 - 16:38 — vor 5 Jahren aktualisiert
Dieser Inhalt wäre ohne die Premium-User nicht finanzierbar. Doch wir brauchen dringend mehr Unterstützer: Hilf auch du mit!
Mit immer komplexer werdenden Flowcharts legt ihr das Verhalten eurer Roboter fest. Hier eine Subroutine zum Aufsammeln und Abliefern von Ressourcen. Bei Angriffen soll die Ressource fallen gelassen und zurückgheschossen werden. Die Abfrage verläuft gegen den Uhrzeigersinn.
Anzeige

Der Schlüssel zum Sieg: Eure Programmierung

Kernelement von Gladiabots ist sicher die Programmierung eurer Roboter. Und je weiter ihr in der Kampagne oder im Multiplayer voranschreitet, desto ausgefeilter muss eure Programmierung sein. Das Ganze läuft leicht verständlich in Flowcharts ab. Diese werden konstant entgegen dem Uhrzeigersinn abgefragt.

Neben Aktionen könnt ihr auch Bedingungen festlegen. Beispiel: Wenn Feind in "long range", schieße auf den nähesten Feind. Wenn kein Feind in "long range", bewege dich auf den Feind zu. Feinheiten etwa bei der Zielauswahl oder der Verfolgung kommen dazu. Nicht vergessen dürft ihr, dass ihr auch Ressourcen in eure Basen transportieren müsst. Und wenn das laut eurer Programmierung mit höchster Priorität geschieht kann es euch passieren, dass euer Roboter einfach abgeschossen wird ohne sich zu wehren. Umso wichtiger ist es, auf dem Schlachtfeld Erfahrungen zu sammeln und eure Programmierung entsprechend anzupassen.

Ich hielt es beispielsweise für clever, mit einem Fireleader ein Ziel zu markieren und einfach einen Feind nach dem anderen zu verschrotten. Wer sollte vom Fireleader markiert werden? Der nächste Gegner. Dieser sollte dann von allen attackiert werden. Es gab gleich folgendes Problem: Der Fireleader markierte munter nach und nach alle Gegner mit dem "Teamtag A". Warum? Markiert werden sollte ja stets der näheste Gegner. Es fehlte aber die Bedingung, dass kein Gegner markiert werden soll, wenn bereits ein feindlicher Roboter mit dem "Teamtag A" markiert worden ist. Nachdem dieses Problem gelöst war, hatte ich gleich ein weiteres. Denn alle meine Roboter griffen zwar brav den markierten Gegner an. Der zog sich aber regelmäßig zurück, wenn sein Schild niedrig war. Also praktisch dauernd. In der Konsequenz dackelten meine Roboter hinterher und wurden einer nach dem anderen von den anderen Feinden abgeschossen. Die Idee der Zielmarkierung habe ich daher vorläufig aufgehoben bis ich eine Idee habe, wie ich sie besser implementieren kann.
Mein Assault-Roboter agiert derzeit mit drei Subroutinen. Links eine Übersicht der bislang angelegten Routinen.


Ziel eurer Programmierung sollte also stets sein, eure Roboter in die bestmögliche Kampfposition zu bringen, sie vor dem Tod zu bewahren und gleichzeitig das Ressourcensammeln nicht zu vergessen. Im Idealfall programmiert ihr sie so gut, dass sie gemeinsam und koordiniert vorgehen. Die damit verbundenen Herausforderungen werden im Spielverlauf immer größer. Im Multiplayer ist es mir stets so ergangen, dass ich aufgrund einer Verbesserung deutlich bessere Erfolge erzielen konnte. Bis ich auf Feinde mit einer ausgeklügelteren Programmierung gestoßen bin. Entsprechend musste ich dann wieder an der AI meiner Roboter schrauben, um mich in der Rangliste weiter nach vorne kämpfen zu können. Das ist ein unglaublicher Motivationsfaktor, zumal bereits in dieser frühen Version von Gladiabots viele Optionen (rund 100 Parameter mit entsprechend Millionen von Kombinationsmöglichkeiten) zur Verfügung stehen und sie sich nach einer kurzen Einarbeitungszeit logisch, benutzerfreundlich und übersichtlich umsetzen lassen.

Dabei hilft auch, dass ihr jede KI-Routine speichern könnt. Zudem habt ihr die Möglichkeit, Subroutinen, etwa für den Rückzug bei niedrigem Schild oder zum Ressourcensammeln, zu entwickeln. Diese könnt ihr dann als fertige (und in sich durchaus komplexe) Subroutine jederzeit in die AI eures Sniper- oder Assault-Roboters einbauen.
Während eines Kampfes (pausierbar, spulbar, Geschwindigkeit regelbar) könnt ihr euch auch anzeigen lassen, welche AI-Routinen gerade ablaufen. Außerdem seht ihr, wer gerade wohin geht oder auf wen zielt. Die Kugeln müssen auf ein eigenes Basisfeld.

Zahlreiche Spielmodi und große Herausforderungen

Eure Roboter könnt ihr in einem von zahlreichen Spielmodi antreten lassen. Es gibt eine Solo-Kampagne (ohne Story) mit immer stärker werdenden Gegnern. Im Sandbox-Modus könnt ihr eigene Roboter gegeneinander antreten lassen und neue Routinen und Strategien testen. Im Multiplayer messt ihr euch mit Freunden und könnt gegen andere Spieler unranked Matches bestreiten. Alternativ könnt ihr euch auch auf ranked Matches einlassen und versuchen, in eine immer höhere Liga aufzusteigen. Gegner, gegen die ihr bereits gekämpft habt, könnt ihr erneut herausfordern. Schließlich gibt es auch noch einen Turniermodus, wobei für die Turniere auch bestimmte Bedingungen (beispielsweise keine Shotgun-Klasse) festgelegt werden können. Alle Partien könnt ihr euch erneut im Replay anschauen und aus euren Fehlern lernen. Einblicke in die AI-Routinen der Feindroboter erhaltet ihr übrigens nicht.

Eine Wartezeit, um den Multiplayer zu starten gibt es nicht. Das liegt auch daran, dass der Multiplayer asynchron abläuft und ihr euch letztlich die berechnete Schlacht anschaut. Die Kämpfe werden dadurch aber keinen Deut weniger spannend. Zudem gibt es, abgesehen von der Zufallskarte, kein Zufallselement. Die überlegene AI wird gewinnen. Das habe ich in der Kampagne gegen den Computer getestet. Dort stecke ich gerade in einem Level, das ich stets verliere. Auch eine mehrfache Wiederholung des Gefechts führte zu keinem anderen Ergebnis. Euer Erfolg hängt daher vor allem von eurem Köpfchen ab, nicht eurem Glück.
Bei der Programmierung steht euch eine Vielzahl von Optionen zur Verfügung, die ihr bei zunehmendem Spielverlauf und der Teilnahme in höheren Ligen auch ausschöpfen müsst, um weiter Erfolg zu haben.

Fazit und Ausblick

Gladiabots ist bereits in seiner frühen Version ein großer Spaßbringer ohne Abstürze. Bugs sind mir auch nicht aufgefallen. Der Soundtrack passt zum Spiel, das sehr ansehnlich ist und ein gutes User-Interface bietet. Eine kurze Einarbeitung, auch über das Tutorial hinaus, ist aber natürlich nötig. Der Kern ist die Programmierung eurer Roboter, die eure AI-Routinen gut nachvollziehbar in der Arena umsetzen. Das Aufeinandertreffen mit immer stärkeren Gegnern und das Erfordernis, die AI eurer Roboter immer weiter zu entwickeln und anzupassen, eure Strategien und Teamzusammensetzung zu überdenken, sind ein großer Motivationsfaktor.

Die Early-Access-Version soll neben Tweaks und Fixes auch ein Grafik-Update und ein neues Skin-System erhalten. Außerdem soll es weitere Möglichkeiten zur Zeitkontrolle in einem Match geben und der Sandbox-Modus soll weitere Inhalte bekommen.

Wenn ihr Interesse an (spielerischer) AI-Programmierung habt, solltet ihr euch den 9. August dick im Kalender anstreichen oder bereits jetzt im Playstore zugreifen.
Ich spiele mittlerweile in der "Gold league". Für ein weiteres Fortkommen sind aber komplexere Routinen nötig.

 
Vampiro 30. Juli 2018 - 16:38 — vor 5 Jahren aktualisiert
Drapondur 30 Pro-Gamer - - 161273 - 29. Juli 2018 - 14:56 #

Interessanter Artikel! Hab irgendwo noch meine Programmablaufplan-Schablone aus der Ausbildung im Keller. Das erinnert mich total daran. :)

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 14:59 #

Vielen Dank :)

xan 18 Doppel-Voter - P - 11639 - 29. Juli 2018 - 16:34 #

Schöne Sache und eine nette Nische, die da bedient wird. Kann mir die Motivation immer weiter an der AI zu feilen sehr gut vorstellen. Vielleicht schaue ich mal rein.

Wie gut macht es sich denn mobil oder doch besser am PC spielen?

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:25 #

Ja, das Konzept funktioniert echt gut. Vor allem da das Gefühl "geil es läuft", aber dann kommt die nächste Wand, die zur Verfeinerung und Verbesserung zwingt, klappt super.

Ich habe nur die Steam-Version, kann also zur Mobilversion nicht viel sagen. Aber auch bei der PC-Version verbindet man die Flowchartelemente bzw. legt neue an durch ziehen. Ich denke daher, dass man es auch gut mobil spielen kann. Die Kämpfe laufen dann indirekt ab, so dass es auch nicht auf Reaktionsgeschwindigkeit oder ähnliches ankommt.

Rainman 25 Platin-Gamer - - 55806 - 29. Juli 2018 - 16:36 #

Erinnert mich sehr an "Omega", was ich Ende der 80er Jahre eine Zeit lang begeistert gespielt habe. Gladiabots kommt mir wie die vergoldete Luxusversion davon vor, von der ich damals nur träumen konnte. :)

Early Access habe ich bisher immer ignoriert. Aber wenn das doch schon so rund läuft, dann werde ich wohl mal reinschnuppern.

Danke für den anschaulichen Artikel.

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:26 #

Das kenne ich noch gar nicht, werde ich mal googlen. Danke für den sehr interessanten Hinweis!

Ja, läuft wirklich schon rund. Ich mache auch nochmal ein Update, wenn die Updates der Early-Access-Version da sind. Allerdings klappt es zeitlich eventuell nicht ganz direkt.

Vielen Dank :)

Slaytanic 25 Platin-Gamer - - 61966 - 29. Juli 2018 - 23:08 #

Das war doch von Origin, oder?

Rainman 25 Platin-Gamer - - 55806 - 30. Juli 2018 - 0:50 #

Ja, genau. Es hatte ein rund 200seitiges Handbuch dabei. Da scheint das hier zum Glück komfortabler und zugänglicher zu sein.

Major_Panno 15 Kenner - 3706 - 29. Juli 2018 - 17:01 #

Schöner Artikel und interessantes Spiel.
Wie gut funktioniert denn der Wechsel zwischen PC und Android?

Ich könnte mir gut vorstellen, am PC die AI zu konfigurieren und mir dann auf der Couch gemütlich über Android die Multiplayer Partien anzuschauen.

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:29 #

Vielen Dank :)

Leider habe ich derzeit nur die PC-Version. Aber genau so stelle ich mir das auch vor. Ich halte es auch für sehr gut Bahngeeignet. Sowohl zum Tüfteln, als auch zum Kämpfen.

Letztlich (wenn ich die Meldungen richtig interpretiert habe) werden deine Multiplayerpartien online berechnet und du lädst das quasi (im Bruchteil einer Sekunde) runter und schaust es dir an. Zur Registrierung habe ich einen Usernamen und eine E-Mail angegeben. Der Wechsel zwischen PC und Android dürfte daher nahtlos sein. Ich VERMUTE aufgrund des asynchronen Multiplayers, dass dein aktuelles Team auch online abgelegt sein dürfte (für die Gegner). Nahtloser Wechsel.

Evoli 17 Shapeshifter - 8858 - 29. Juli 2018 - 17:11 #

Nicht mein Ding, aber danke für den Artikel :)

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:29 #

Vielen Dank :)

BruderSamedi 19 Megatalent - P - 13602 - 29. Juli 2018 - 17:32 #

Das sieht interessant aus. Wie funktioniert das denn genau mit dem Multiplayer - kann ich mich auf verfügbar stellen, ne Nacht drüber schlafen und mir am nächsten Morgen 10 Gefechte ansehen? Bin ja eigentlich kein MP-Fan, aber ohne Zeitvorgaben und -aufwand klingt das ganz annehmbar. Spielt man immer gegen die gleiche Teamkonstellation oder wird das zufällig ausgesucht?

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:32 #

Die Turniere habe ich nicht gespielt, sondern im MP nur Ranked. Dein aktuelles Team liegt glaube ich (auch) online. Du musst wenn du eine Partie (ranked) spielen willst, einfach eine Partie starten und das Spiel teilt dir einen Gegner mit ähnlicher ELO zu. Die Berechnung erfolgt GLAUBE ich online, bei dir am Endgerät schaust du es dir dann an.

Zeitvorgaben und -aufwand für den MP hast du daher 0.

Du kannst vor jeder Partie dein Team umstellen. Das heißt, du kannst dir aussuchen, welche 4 Roboter du mitnimmst (unbegrenzt Assautl möglich, von den anderen je maximal einer möglich). Dazu suchst du dir jeweils eine von dir erstellte KI aus (du kannst z.B. auch zwei Assault-Roboter mit unterschiedlicher AI ins Feld schicken). Bei Bedarf kannst du auch eine Farbe aussuchen. Dann startest du die MP Partie und kannst sie direkt anschauen.

Q-Bert 25 Platin-Gamer - P - 56241 - 29. Juli 2018 - 19:41 #

Sieht ein bisschen aus wie die Programmieroberfläche von LEGO Mindstorms (c)(tm).

Auf alle Fälle ist mein Interesse geweckt! Danke für die Vorstellung!

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:33 #

Das kenne ich wiederum noch gar nicht. Fällt auch in die Kategorie "muss ich googlen".

Sehr gerne und vielen Dank :)

Faerwynn 20 Gold-Gamer - P - 20109 - 29. Juli 2018 - 21:06 #

Da hat er recht, wobei man Lego Mindstorms auch in richtigen Programmiersprachen programmieren kann. Die mitgelieferte "IDE" ist allerdings auch so eine grafische Umgebung :)

Faerwynn 20 Gold-Gamer - P - 20109 - 29. Juli 2018 - 19:55 #

Das sieht spannend aus, allerdings mag ich solche Flowchart-Programmierung nicht. Ich würde da lieber sauberen Code schreiben. :)

Vampiro Freier Redakteur - - 119423 - 29. Juli 2018 - 20:33 #

Ja, das stimmt :)

Haha, cool. Also da wäre der "Nicht-Programmierer" denke ich überfordert. Kannst ja mal dem Entwickler schreiben, vielleicht kommt irgendwann ein Experten-Modus :-D

Slaytanic 25 Platin-Gamer - - 61966 - 29. Juli 2018 - 23:08 #

Das ist nichts für mich, aber schönen Dank für den Artikel.

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 6:35 #

Gerne, vielen Dank :)

Aladan 25 Platin-Gamer - P - 57121 - 30. Juli 2018 - 5:09 #

Würde gut zu Nintendo Labo passen, mit dem man gar nicht so unähnlich mit der Toy-Con Garage Programme entwickelt.

euph 30 Pro-Gamer - P - 129493 - 30. Juli 2018 - 5:43 #

Klingt interessant, fraglich nur, ob ich mich da reinfuchsen könnte. Danke jedenfalls für den interessanten Bericht.

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 6:36 #

Vielen Dank :)

Man waechst sozusagen mit den Aufgaben und merkt, wenn die Wand kommt, was man vllt anders machen muesste. Das muss man dann aber auch hinkriegen :)

euph 30 Pro-Gamer - P - 129493 - 30. Juli 2018 - 6:54 #

Wenn da eine iOS-Variante erscheint, dann schau ich mir das vielleicht mal an. Auf dem iPad würde ich dafür wohl noch am ehesten Zeit zum ausprobieren finden.

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 7:19 #

Soll auf jeden Fall noch kommen :) Ist halt afaik ein Einmannstudio, da ist jetzt der Fokus sicher auf dem Early Access Start.

euph 30 Pro-Gamer - P - 129493 - 30. Juli 2018 - 7:32 #

Dank gut gefülltem MoJ kann ich warten :-)

Stonecutter 22 Motivator - P - 31862 - 30. Juli 2018 - 6:15 #

Danke für den Artikel! Das Spiel muss ich mir näher ansehen!

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 6:36 #

Sehr gerne, vielen Dank :)

Xalloc 15 Kenner - 3918 - 30. Juli 2018 - 8:33 #

Ich habe bisher nur die Einleitung gelesen, aber das Konzept des Spiels klingt sehr spannend. Vielen Dank für den Artikel.

Weiß man denn schon, was es kosten wird?

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 9:27 #

Vielen Dank :)

In den USA wird es wohl 15 USD kosten. Den Europreis kenne ich leider nicht.

Habe aber eben festgestellt, dass Gladiabots auf Playstore f2P ist. Konnte meine Daten (bis auf skins, die sind mobil teuer und man kann inapp purchases fuer Punkte machen) problemlos synchen. Werde zeitnah einen Artikel zur Mobilversion machen.

Wer moechte kann gleich losspielen!

Edit: ist evtl wegen alpha status derzeit kostenlos.

zuendy 16 Übertalent - 4547 - 30. Juli 2018 - 10:34 #

Definitiv etwas für mich und was ich auf gar keinen Fall anfassen werden. (frisst zuviel meiner Zeit)

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 19:32 #

Haha, cool :) Man muss seine Grenzen kennen ;-) Habe damals deshalb mit LOTRO aufgehört, 2 Monate oder vllt. sogar 3 waren bei so einer Goldbox dabei gewesen.

Necromanus 19 Megatalent - - 18044 - 30. Juli 2018 - 19:23 #

Schöner User-Artikel. Ich muss echt sagen dass ich mit dem Game liebäugel. Programmieren finde ich an sich schon schön. Das spielerisch zu verbinden, hat garantiert seinen Reiz.

Vampiro Freier Redakteur - - 119423 - 30. Juli 2018 - 19:31 #

Vielen Dank :-)

Falls du Android hast, da ist die Alpha (derzeit?) umsonst. Die muss ich aber noch austesten. An sich das gleiche Spiel :)

Necromanus 19 Megatalent - - 18044 - 31. Juli 2018 - 7:19 #

Habe nur Geräte mit iOs. Ich denke, dass ich es mir auf Steam holen werde. Trotzdem danke für den Tipp

TheRaffer 23 Langzeituser - P - 40003 - 31. Juli 2018 - 4:22 #

Vielen Dank für den Artikel! Das Spiel werde ich mir bestimmt genauer anschauen. Die Idee mit der eigenen Programmierung der KI ist klasse! :)

Man darf nur nicht zu früh gegen eine zu hohe Wand rennen. ;)

Maverick 34 GG-Veteran - - 1264316 - 31. Juli 2018 - 18:53 #

Danke für den lesenswerten Artikel, Vampiro. Informativ und unterhaltsam, Kudos! Auch wenn es nicht mein Spiel werden wird, die Idee dahinter ist schon witzig. ;)

Vampiro Freier Redakteur - - 119423 - 31. Juli 2018 - 21:08 #

Vielen Dank :-)

Maverick 34 GG-Veteran - - 1264316 - 1. August 2018 - 12:01 #

Sowas könnte ich mir im übrigen auch im alten Tron-Universum mit seinem typischen Look gut vorstellen, als Schlachtfeld dient das Grid. Dazu als Einheiten die Panzer, Lightcycles, die Spiderbots und die Recognizer. DAS würde mich definitiv reizen. ;)

Ganon 27 Spiele-Experte - - 82427 - 1. August 2018 - 13:55 #

In meinem Informatikstudium hatte ich ein Programmierpraktikum, wo wir damals brandneue kleine Roboter von Fischertechnik so programmieren sollten, dass sie einen "Ringkampf" gegeneinander ausführen. Daran musste ich bei dem Artikel wieder denken. Das war lustig, auch wenn es selten so richtig funktioniert hat. ;-)

Das Spiel sieht nach einem coolen Weg aus, sich mit Programmierlogik zu befassen, aber ich wie ich neulich schon zu einem ähnlichen Spiel schrieb: Beim Zocken will ich nicht auch noch programmieren. Mache ich schon auf der Arbeit. :-)

Lars 20 Gold-Gamer - - 20881 - 8. August 2018 - 10:45 #

Danke für den tollen Artikel! Glaube, damit werde ich einige Zeit verbringen! :-)

Prometheus 17 Shapeshifter - - 6740 - 10. August 2018 - 21:02 #

Cooler Artikel, vielen Dank, ich probiere das mal mit meinem Sohn aus!