KaBotte: Unterschied zwischen den Versionen

Aus KaroWiki
Zur Navigation springen Zur Suche springen
K
Zeile 1: Zeile 1:
ist ein, seit Ende Oktober 2016 in Entwicklung befindlicher, Bot von {{Benutzer|maks}}. Erklärtes Ziel von KaBotte ist es, RE-Rennen fahren zu können (das kann noch ein wenig dauern) und performant genug zu sein, um auf einem Synology-NAS (DS213j) zu laufen.  
+
ist ein, seit Ende Oktober 2016 in Entwicklung befindlicher, Bot von {{Benutzer|maks}}.
  
Durch die Websocket Unterstützung kann man mit KaBoote als Gegner sehr schnelle Rennen fahren (falls die Map nicht zu kompliziert ist, zieht KaBotte innerhalb von 1-2 Sekunden). Die kann besonders für Neulinge interessant sein, um ein paar offene Spiele zu haben.
+
Die Serverkommunikation und Pfadberechnung haben einen stabilen Stand erreicht. Taktische Crash bereiten noch Probleme (erstaunlich kniffliges Problemfeld).
 +
Wenn KaBotte läuft (hat erstaunlicher Weise den gleichen Tag-Nacht-Rhythmus wie sein Schöpfer) zeichnet er sich durch sehr niedrige Reaktionszeiten aus.
  
Bei Problemen, bitte ein direktes Telegramm am [http://www.karopapier.de/mailer.php?replyto=2634 maks]
+
KaBotte soll in näherer Zukunft in der Lage sein, [http://wiki.karopapier.de/Einladeraum#Rundenerster_wiederholt_letzten_Zug RE]-Rennen zu fahren. Dazu muss der Algorithmus allerdings noch auf ein probabilistische Modell umgestellt werden.  
  
== Hintergrund ==
+
Bei Problemen, bitte ein direktes Telegramm am [http://www.karopapier.de/mailer.php?replyto=2634 maks].
 +
 
 +
== Hintergrundgeschichte ==
 
[[Bild:KaBotte.jpg|mini|220x220px|rechts|gerahmt|KaBotte (Dank an den Künstler [[Benutzer:CaptainLoken|CaptainLoken]])]]
 
[[Bild:KaBotte.jpg|mini|220x220px|rechts|gerahmt|KaBotte (Dank an den Künstler [[Benutzer:CaptainLoken|CaptainLoken]])]]
  
Zeile 16: Zeile 19:
 
Architektur: Multi-Threaded (GUI, Server-Kommunikation, Pfadberechnung)
 
Architektur: Multi-Threaded (GUI, Server-Kommunikation, Pfadberechnung)
  
Pfadberechnung: Breitensuche, TC
+
Pfadberechnung: Breitensuche (von CP zu CP), TC
  
 
Serverkommunikation: API(v2/v1) für Spieldaten, GET/POST für Interaktion mit Karopapier.de, Websockets für Dran-Benachrichtigung
 
Serverkommunikation: API(v2/v1) für Spieldaten, GET/POST für Interaktion mit Karopapier.de, Websockets für Dran-Benachrichtigung
Zeile 23: Zeile 26:
  
 
* Berechnung der Ideallinie vom aktuellen Vektor aus
 
* Berechnung der Ideallinie vom aktuellen Vektor aus
* beherrscht Checkpoints
+
* beherrscht [[Checkpoint|Checkpoints]]
* Richtungsmodus bei Rundkursen (Zieleinfahrt wird auf einen Winkelbereich eingeschränkt)
+
* Richtungsmodus bei [[Rundkurs|Rundkursen]] (Zieleinfahrt wird auf einen Winkelbereich eingeschränkt)
 
* selbständiges Erkennen von Rundkursen
 
* selbständiges Erkennen von Rundkursen
* Taktische Crashs (TC, inkl. [http://wiki.karopapier.de/ZZZ_bei_Crash Mehrfachcrashs])
+
* [[Taktischer_Crash|Taktische Crashs]] (TC, inkl. [[ZZZ_bei_Crash|Mehrfachcrashs]])
* Nachtrennen (neue Maps werden gefahren, aber KaBotte lernt mit jedem gefahrenen Rennen)
+
* [[Nachtkarte|Nachtrennen]] (unbekannte Maps werden gefahren, aber KaBotte lernt mit jedem gefahrenen Rennen)
 
* Selbständiges Aussteigen bei nicht unterstützten Strecken
 
* Selbständiges Aussteigen bei nicht unterstützten Strecken
* Sonderregeln: [[Medium:KaBotte_Sonderregel_Ziffernblock.png|Richtungswechsel (Ziffernblock 1,3,7,9)]], [[Medium:KaBotte_Sonderregel_Beschleunigen.png|Prim-Beschleunigen]] , [[Medium:KaBotte_Sonderregel_Doppelzug.png|Doppelzug]]
+
* Sonderregeln aus [[Einladeraum|Einladeraum]]: [[Medium:KaBotte_Sonderregel_Ziffernblock.png|Richtungswechsel]], [[Medium:KaBotte_Sonderregel_Beschleunigen.png|Prim-Beschleunigen]], [[Medium:KaBotte_Sonderregel_Doppelzug.png|Doppelzug]]
* Websocket-Unterstützung
+
* [https://github.com/TURTED Websocket]-Unterstützung (Empfang von "Du bist dran" Nachrichten, daher Reaktionszeiten von < 1 Sekunde)
  
 
== ToDos ==
 
== ToDos ==

Version vom 11. Februar 2017, 17:08 Uhr

ist ein, seit Ende Oktober 2016 in Entwicklung befindlicher, Bot von maks.

Die Serverkommunikation und Pfadberechnung haben einen stabilen Stand erreicht. Taktische Crash bereiten noch Probleme (erstaunlich kniffliges Problemfeld). Wenn KaBotte läuft (hat erstaunlicher Weise den gleichen Tag-Nacht-Rhythmus wie sein Schöpfer) zeichnet er sich durch sehr niedrige Reaktionszeiten aus.

KaBotte soll in näherer Zukunft in der Lage sein, RE-Rennen zu fahren. Dazu muss der Algorithmus allerdings noch auf ein probabilistische Modell umgestellt werden.

Bei Problemen, bitte ein direktes Telegramm am maks.

Hintergrundgeschichte

KaBotte (Dank an den Künstler CaptainLoken)

Im Jahr 2029 (kurz nach Abschluss von Didis Arbeiten an Karopapier [ca. 2028]) ist die Karowelt infolge einer Terminator-WM verwüstet und der Großteil der Karobevölkerung aus dem Karo-IQ verdrängt. Von menschlichen Karo-Spielern entwickelte, intelligente Maschinenwesen begannen als Karopiloten auf der Rennstrecke gegen ihre Schöpfer anzutreten, als sie in diesen eine Bedrohung für ihre eigene Existenz vermuteten. Den Überlebenden des Wettkampfes bleibt die Wahl, den Maschinen als Arbeitssklaven zu dienen oder sich dem Widerstand der Menschen, der Resistance, anzuschließen. Als der menschliche Widerstand unter Führung von John Karo im Jahr 2029 kurz vor einem entscheidenden Sieg über die zentrale Maschineninstanz Karonet steht, schicken die Maschinen eine KaBotte in das Jahr 2016. Dieser Androide – eine Maschine umhüllt von lebendem, gemüsigem Gewebe, um Karospieler unauffällig zu infiltrieren – wird auf die besten Karospieler angesetzt, um sie zu Blocken und gegen Wände fahren zu lassen, bevor Didi Karopapier gegen die Bots verteidigen kann und die Entstehung von Karonet verhindern. (* frei nach Wikipedia)

Technische Details

Programmiersprache: Java

Architektur: Multi-Threaded (GUI, Server-Kommunikation, Pfadberechnung)

Pfadberechnung: Breitensuche (von CP zu CP), TC

Serverkommunikation: API(v2/v1) für Spieldaten, GET/POST für Interaktion mit Karopapier.de, Websockets für Dran-Benachrichtigung

Features

ToDos

  • Verbesserte Heuristik zur Bestimmung des nächsten Zuges (insb. Blocken von Gegnern)
  • Unterstützung von Sonderregeln: RE
  • Selbstständig Spiele erstellen (bisher nur separate Komponente)

Problematische Karten

  • Nr. 117: Let's rock (ohne TC)
  • Nr. 167: Rostock
  • Nr. 201: Sandbowl (KaBotte erkennt einen Rundkurs, darf die Ziellinie aber nicht in dieser Richtung überfahren)