Seite 1 von 1
[Projekt] Botwars
Verfasst: 31.01.2012, 18:17
von antisteo
Das Browsergame Botwars
http://botwars.tk
Botwars ist ein Online-Spiel, bei dem es darum geht, eine KI zu entwickeln, die mit anderen Bots auf einer virtuellen Karte ums Überleben und die Vorherrschaft über Nahrungsplätze kämpft.
Man bastelt sich eine besondere Art State Machine zusammen. Das Berechnungsmodell ist Turing-Vollständig, allerdings muss man stark auf die Anzahl der Rechenschritte achten, da diese Maßgeblich die Agilität des Bots beeinflussen. Insgesamt wirklich eine tolle Nebenbeschäftigung, die auch zur Sucht ausarten kann. Der Editor ist größtenteils intuitiv.
Re: [Browsergame] Botwars
Verfasst: 01.02.2012, 17:06
von TheBenji
Ist das von dir? Oder nur kurz Werbung weil du es toll findest? ^^
Re: [Browsergame] Botwars
Verfasst: 01.02.2012, 18:05
von antisteo
Hab ich an einem Wochenende durchgecodet.
Das ursprüngliche Spielkonzept hatte allerdings Balancing-Probleme, weshalb ich das ganze eingestellt hatte. Jetzt wurde ich noch mal angesprochen, ob ich das Spielprinzip nicht rundenbasiert baue und ob das ganze zur Veranschaulichung von Automaten benutzt werden kann.
Re: [Projekt] Botwars
Verfasst: 01.02.2012, 19:54
von Jonathan
Das sich die Berechnungskomplexität auf die Agilität des Roboters auswirkt, finde ich eine wirklich spannende Idee. Wenn ich Zeit habe, schau ich mir es mal an.
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 09:00
von TheBenji
Habs mir mal kurz angesehen...werde vllt. nachher auch mal einen kleinen bot zusammenfrickeln ;)
Was bisher auffällt: Der Einstieg wird einem wirklich nicht leicht gemacht :D
Du hast zwar einige Beispiele gegeben (z.b. '7#eye<eye = 3' kann man prüfen, ob vor einem Säure oder Wand ist) aber warum das so ist geht nirgends hervor (oder zumindest habe ich nichts gefunden).
Wäre also vllt. ganz nett wenn es ein Tutorial/Wiki gibt was einem alle Funktionen näher bringt - für dich sind natürlich einige Dinge selbstverständlich (so als coder) die nicht unbedingt für unwissende so selbstverständlich sind.^^
Naja, ansonsten das übliche: Man könnte es ja mal schöner gestalten und so :D
EIDT: Wie ist denn das mit Änderungen? Wenn ich meinen Bot ändere, werden diese dann direkt übernommen? Auch auf die schon vorhandenen Bots? →okay, ja - wird es:D
EDIT2: Es wäre auch ganz schön wenn sich die aktuellen Werte (Anz. Bots / Punkte) automatisch aktualisieren..also auch wenn man auf der map ist...:)
(und ein aktionen ggf. ne animation bekommen...insbesondere ein beat zu visualisieren wäre wünschenswert)
EIDT3: Der Winterschlaf-beispiel-bot ist kein valides xml ;)
EDIT4: Wow, es ist glaub grad Winter :D →zumindest sind grad innerhalb von ca. 10 Minuten von über 1300 bots nur noch 300 übrig...also aufjedenfall ist das spiel ziemlich dynamisch xD
EDIT5 (ou man ey -.-): Früchte die gegessen wurden verschwinden auf der Karte nicht..erst nach einem neuladen...oder so →irgendwie blöd :)
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 11:03
von antisteo
TheBenji hat geschrieben:Habs mir mal kurz angesehen...werde vllt. nachher auch mal einen kleinen bot zusammenfrickeln ;)
Was bisher auffällt: Der Einstieg wird einem wirklich nicht leicht gemacht :D
Danke :)
TheBenji hat geschrieben:Du hast zwar einige Beispiele gegeben (z.b. '7#eye<eye = 3' kann man prüfen, ob vor einem Säure oder Wand ist) aber warum das so ist geht nirgends hervor (oder zumindest habe ich nichts gefunden).
Wäre also vllt. ganz nett wenn es ein Tutorial/Wiki gibt was einem alle Funktionen näher bringt - für dich sind natürlich einige Dinge selbstverständlich (so als coder) die nicht unbedingt für unwissende so selbstverständlich sind.^^
Ja, da steckt ein bisschen komplizierte Modulo- und Kniffelrechnung dahinter. Man muss sich denkerisch ziemlich anstrengen, wenn man komplexe Bedingungen in einen einzigen Ausdruck packen will.
TheBenji hat geschrieben:Naja, ansonsten das übliche: Man könnte es ja mal schöner gestalten und so :D
Ich nehme gerne Patches von Community-Mitgliedern an. Das Repository gibts zum rumexperimentieren bei Bitbucket (Allerdings wurde das Datenbankpasswort mitversioniert, weshalb ich das nicht öffentlich mache)
Die Kartendarstellung und das Tileset sind zum Beispiel auch aus der Community.
TheBenji hat geschrieben:EDIT2: Es wäre auch ganz schön wenn sich die aktuellen Werte (Anz. Bots / Punkte) automatisch aktualisieren..also auch wenn man auf der map ist...:)
(und ein aktionen ggf. ne animation bekommen...insbesondere ein beat zu visualisieren wäre wünschenswert)
Aktion Visualisieren ist eine gute Idee. Wenn man stets aktuelle Statistiken sehen will, kann man auf den Tab Statistik gehen und bekommt eine ständig aktualisierte Statistik. Map und Statistik ist aber mmn zu viel Bandbreite, zumal man nur entweder das eine oder das andere sehen will.
TheBenji hat geschrieben:EIDT3: Der Winterschlaf-beispiel-bot ist kein valides xml ;)
Der Winterschlaf-Bot ist exportiert worden mit einem XML-Framework (den Export- und Import-Code hab ich auch nicht selber gemacht, der ist aus der Community)
EDIT4: Wow, es ist glaub grad Winter :D →zumindest sind grad innerhalb von ca. 10 Minuten von über 1300 bots nur noch 300 übrig...also aufjedenfall ist das spiel ziemlich dynamisch xD
TheBenji hat geschrieben:EDIT5 (ou man ey -.-): Früchte die gegessen wurden verschwinden auf der Karte nicht..erst nach einem neuladen...oder so →irgendwie blöd :)
Die Map hat eine geringere Refreshrate. Wenn ich allerdings die Aktionen auch noch mitübertrage, könnte man zumindest offensichtliche Veränderungen auf der Map auch auf Clientseite mit übernehmen.
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 11:16
von TheBenji
TheBenji hat geschrieben:Du hast zwar einige Beispiele gegeben (z.b. '7#eye<eye = 3' kann man prüfen, ob vor einem Säure oder Wand ist) aber warum das so ist geht nirgends hervor (oder zumindest habe ich nichts gefunden).
Wäre also vllt. ganz nett wenn es ein Tutorial/Wiki gibt was einem alle Funktionen näher bringt - für dich sind natürlich einige Dinge selbstverständlich (so als coder) die nicht unbedingt für unwissende so selbstverständlich sind.^^
Ja, da steckt ein bisschen komplizierte Modulo- und Kniffelrechnung dahinter. Man muss sich denkerisch ziemlich anstrengen, wenn man komplexe Bedingungen in einen einzigen Ausdruck packen will.
[/quote]
Naja, davon abgesehen geht man (ich) erstmal davon aus das ich Früchte & co nur durch die Schlüsselwörter "fruit" ausmachen kann...warum ich dann die drei brauche ergibt für mich erstmal keinen Sinn :)
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 13:22
von antisteo
Der Ausdruck 7#eye<eye bedeutet in Mathe-Schreibweise
Ist eye also 4, so ist 7-4=3 und somit das Ergebnis 3.
Ist eye 3, so ist 7-3=4, also die kleinere Zahl ist 3.
Für alle anderen Werte kommt eine kleinere Zahl als 3 als Ergebnis heraus. Also prüft dieser Ausdruck, ob eye den Wert 4 oder 3 hat.
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 14:52
von TheBenji
Soweit klar: Was nicht klar war ist nur das "3" oder halt "4" dann für fruit bzw tree steht...
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 15:51
von antisteo
TheBenji hat geschrieben:Soweit klar: Was nicht klar war ist nur das "3" oder halt "4" dann für fruit bzw tree steht...
Jep, diese Zuordnung wird jedem Bot als Variablenzuweisung gegeben und ist per Klick auf den Bot einsehbar.
Re: [Projekt] Botwars
Verfasst: 02.02.2012, 16:19
von TheBenji
aso -.-
Das man auf die Bots klicken kann um mehr Infos zu erhalten war mir gar nicht bewusst Oo
So hat man ja plötzlich ungehante debug-möglichkeiten :D
Re: [Projekt] Botwars
Verfasst: 08.02.2012, 17:30
von antisteo
Man kann jetzt einen automatischen Spawn setzen. Nach jeder Runde werden für jeden maximal 5 Bots ins Ursprungsland gesetzt.
Damit muss man nicht mehr jeden Tag früh aufstehen, um seine Bots zu spawnen.
Re: [Projekt] Botwars
Verfasst: 10.02.2012, 08:53
von antisteo
Um es Neuankömmlingen leichter zu machen, verrotten die Punkte der etablierten Spieler um jeweils 10%. Dadurch kann man maximal 10 mal so viel Punkte gesamt haben, als man im Schnitt pro Runde erarbeitet.