[Projekt] Botwars

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

[Projekt] Botwars

Beitrag 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.
Zuletzt geändert von antisteo am 01.02.2012, 18:11, insgesamt 1-mal geändert.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Browsergame] Botwars

Beitrag von TheBenji »

Ist das von dir? Oder nur kurz Werbung weil du es toll findest? ^^
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Browsergame] Botwars

Beitrag 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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2373
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] Botwars

Beitrag 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.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Projekt] Botwars

Beitrag 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 :)
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Botwars

Beitrag 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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Projekt] Botwars

Beitrag 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 :)
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Botwars

Beitrag von antisteo »

Der Ausdruck 7#eye<eye bedeutet in Mathe-Schreibweise

Code: Alles auswählen

min(7-eye, eye)
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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Projekt] Botwars

Beitrag von TheBenji »

Soweit klar: Was nicht klar war ist nur das "3" oder halt "4" dann für fruit bzw tree steht...
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Botwars

Beitrag 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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Projekt] Botwars

Beitrag 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
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Botwars

Beitrag 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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Botwars

Beitrag 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.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Antworten