GPN15:Programmierspiel

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Qsicon Ueberarbeiten.png Dieser Artikel bedarf einer Überarbeitung. Näheres dazu sollte auf der Diskussionsseite oder unter Entropia:FIXME stehen, sofern die Mängel des Artikels nicht ohnehin offensichtlich sind. Möglicherweise ist der Makel aber auch im Text mit dem Stichwort "FIXME" markiert. Hilf mit, den Artikel zu verbessern und entferne anschließend diese Markierung.

Ziel des Spiels ist es einen Bot für das Spiel agar.io zu schreiben. Bei agar.io geht es darum andere Entitäten zu fressen und der Grösste zu werden.

Einen Minimalbot in Python gibt es unter dem Link unten. Es kann vorkommen, dass sich das Protokoll ändert. Dann werden wir unseren lokalen Server und den unten stehenden Client anpassen.

Es gibt es auch einen lokalen Server, auf dem die Programmierspielteilnehmer gegeneinander antreten können: 94.45.231.19:3029.

Der genannte Client (benötigt pygame) benötigt als Parameter den Websocket-Server und -Port sowie einen Namen (frei wählbar), also z.B.

python2 normal_client.py 213.168.248.218:443 meinName

Eine andere offizielle ip kann man z.B. aus der Firefoxkonsole auslesen, wenn man sich auf agar.io verbindet.

Eine Veranstaltung von Artur auf der GPN15.

Pythonclient

Die map kann man mit einem vncviewer anschauen:

$vncviewer 94.45.231.19

Es gab in unserem Python-client einen kleinen Bug. In der neuen Version sollte alles passen.

Bitte nicht verwechseln _WIR_ haben nix mit http://agar.io zu tuen wir kennen den Entwickler nicht einmal, unser server ist ein nachbau (wie wir vermuten das der original server arbeitet). Deshalb auch koennte sich die "physik"/verhalten der dots auch bei uns spontan aendern.

Also noch einmal wir haben nix mit agar.io zu tuen wir haben nur ienen nachbau fuer die gpn damit man bots leichter entwickeln kann!!!


Bots nach der GPN weiter benutzen:

agar.io hat anscheinend sein Protokoll minimal geändert, so dass eure bots nicht mehr funktionieren werden.

Das kann allerdings mit einer Anpassung der Datei agario.py behoben werden:

Einfach in den Zeilen 276-279 'message[0]' und 'message' jeweils durch 'message[5]' bzw. 'message[5:]' ersetzen.