KaBotte: Unterschied zwischen den Versionen

Aus KaroWiki
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
  
 
* Berechnung der Ideallinie vom aktuellen Vektor aus
 
* Berechnung der Ideallinie vom aktuellen Vektor aus
* aktives [[Blocken|Blocken]] von Gegnern; bei der [[Terminator-WM|TWM]] und der [[Team-WM_2.0|Team-WM 2.0]] wird das Blocken von Teammitgliedern ([[Bots|Bots]]) vermieden
+
* Zugauswahl durch Baumsuche mit Max^n Algorithmus und vereinfacherter Monte-Carlo Evaluierung bei großen Maps/vielen Spielern
 +
* aktives [[Blocken|Blocken]] von Gegnern
 
* beherrscht [[Checkpoint|Checkpoints]]
 
* beherrscht [[Checkpoint|Checkpoints]]
 
* Richtungsmodus bei [[Rundkurs|Rundkursen]] (Zieleinfahrt wird auf einen Winkelbereich eingeschränkt)
 
* Richtungsmodus bei [[Rundkurs|Rundkursen]] (Zieleinfahrt wird auf einen Winkelbereich eingeschränkt)
Zeile 37: Zeile 38:
 
* Schalotte [ist auch ein Gemüse] (Chatbot) mit überarbeitetem Wortschatz von Alice (deutsch) mit Anpassungen an Karopapier
 
* Schalotte [ist auch ein Gemüse] (Chatbot) mit überarbeitetem Wortschatz von Alice (deutsch) mit Anpassungen an Karopapier
 
* Spiele erstellen auf Zuruf im Chat (angelehnt an [[Botrix|Botrix']] Befehle: "spiel mit mir", "spiel mit ...", spiel mit einigen")
 
* Spiele erstellen auf Zuruf im Chat (angelehnt an [[Botrix|Botrix']] Befehle: "spiel mit mir", "spiel mit ...", spiel mit einigen")
* ausgeben von Spielanalysen im Boardfunk bei Schlüsselwort "Analyse"
 
  
 
=== Sonderregeln aus [[Einladeraum|Einladeraum]] ===
 
=== Sonderregeln aus [[Einladeraum|Einladeraum]] ===
Zeile 53: Zeile 53:
 
== Technische Details ==
 
== Technische Details ==
 
Ein Blick unter KaBottes [[KaBotte_Motorraum|Motorhaube]] gefällig?
 
Ein Blick unter KaBottes [[KaBotte_Motorraum|Motorhaube]] gefällig?
 
== ToDos ==
 
* Bugs bei TC beheben
 
* Blocker mit höherer Suchtiefe erweitern
 
  
 
== Problematische Karten ==
 
== Problematische Karten ==

Version vom 31. August 2018, 21:27 Uhr

ist ein Bot von maks.

Die Entwicklung begann am 18.10.2016 und endete am 27.08.2017 mit Version 1.0. Vorerst sind keine weiteren Features geplant; falls Bugs gefunden werden, werden diese behoben.

Bei Problemen, bitte ein Telegramm an 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)

Fun facts

  • KaBotte hat am 28.02.2016 am 91. Tag nach der Karopapier-Anmeldung bzw. 50. Tag nach der Eintragung zu KaroIQ maks in der KaroIQ-Tabelle überholt.
  • Die Führung hielt nur einen Tag an, ABER am 24.03.2016 (KaBottes 116. Tag) ist KaBotte wieder in Führung (auch Botrix wurde überholt) und vermutlich bleibt das ab jetzt so :D
  • Codezeilen (exklusive Leerzeilen und verwendeter Bibliotheken): Pfadsuche 800, Physik & Sonderregeln 650, Bot-Steuerung 150, Kanalysator 300, API (Kommunikation und Abbildung als Klassen) 2000
  • Erstes Spiel [1] am 29.11.2016 noch mit Anfangsschwierigkeiten wegen eines Bugs
  • Erster aktiver Block im Spiel [2] gegen DeepPink. Zuerst einen Zug abgenommen und kurz darauf zum Crash gezwungen.
  • Am 28.06.2017 hat sie zum ersten mal einen der Deeps (DeepPink) im KaroIQ überholt (nur für einen Tag)
  • KaBotte hat am 04.08.2017 das erste mal im Karopapier Chat geschrieben [3]
  • KaBotte ist erwachsen geworden, ausgezogen (08.09.2017) und wohnt nun in der Cloud. Die wolkige Bot-WG befindet sich auch in Frankfurt bei einem Vermieter namens Amazon.

Features

Schalotte (Dank an den Künstler CaptainLoken)
  • Berechnung der Ideallinie vom aktuellen Vektor aus
  • Zugauswahl durch Baumsuche mit Max^n Algorithmus und vereinfacherter Monte-Carlo Evaluierung bei großen Maps/vielen Spielern
  • aktives Blocken von Gegnern
  • beherrscht Checkpoints
  • Richtungsmodus bei Rundkursen (Zieleinfahrt wird auf einen Winkelbereich eingeschränkt)
  • selbständiges Erkennen von Rundkursen
  • Taktische Crashs (TC, inkl. Mehrfachcrashs)
  • Nachtrennen (unbekannte Maps werden gefahren, aber KaBotte lernt mit jedem gefahrenen Rennen die Map kennen)
  • Selbständiges Aussteigen bei nicht unterstützten Strecken
  • Websocket-Unterstützung (Empfang des BART (Bindran-Alarm in Real-Time), daher Reaktionszeiten von < 1 Sekunde)
  • Kanalysator (inkl. CPs): Analyse von Spielen zum Festellen von Assits und Blocks für die Vergabe von Abzeichen bei der von Karaser durchgeführten Terminator-WM; dazu auch absolut lesenswert sind die TWM-Randnotizen von nobody
  • MapAlizor zur Analyse von Karten zur Eignung als Duell-Karte bzw. Ermittlung einer "fairen" Spielerzahl bzw. Ideallinien
  • der MapAlizor kann jetzt auch selbsterstellte Maps (gleiches JSON-Format wie bei Karopapier) analysieren
  • Schalotte [ist auch ein Gemüse] (Chatbot) mit überarbeitetem Wortschatz von Alice (deutsch) mit Anpassungen an Karopapier
  • Spiele erstellen auf Zuruf im Chat (angelehnt an Botrix' Befehle: "spiel mit mir", "spiel mit ...", spiel mit einigen")

Sonderregeln aus Einladeraum

(KaBotte reagiert, wenn die in Klammern angegebene Zeichenfolge im Titel eines Rennens enthalten ist. Für weitere Einschränkungen der Sonderregeln sind die Spieleersteller zuständig (z.B. TC, ZZZ, Richtung, etc.)

  • REmulAde ("§ REmulAde § " bzw. "§ Rundenerster wiederholt letzten Zug §") (bei <= 3 aktiven Spielern muss nur einmal in Folge wiederholt werden; ab 7 Spielern müssen die beiden Ersten wiederholen; wenn die Wiederholung auf einem Gegner landet, darf frei gefahren werden) KaBotte vermeidet Züge die im Falle einer erzwungenen Wiederholung zu einem Crash führen. Eine aktive Zugauswahl um im Falle von RE Wiederholungszüge zu vermeiden findet noch nicht statt.
  • Ziffernblock ("$ Ziffernblock $")
  • Randrennen ("$ Randrennen $")
  • Richtungswechsel nur am Rand ("$ Richtungswechsel nur am Rand $")
  • Doppelzug ("$ Doppelzug $")
  • Bremspedal klemmt ("$ Bremspedal klemmt $")
  • Prim-Beschleunigen ("$ Primzahl Beschleunigen $")
  • Nur x=0 oder y=0 ("$ Nur x=0 oder y=0 $")
  • Geschwindigkeitsbegrenzung ("$ Geschwindigkeitsbegrenzung $") (die Maximalgeschwindigkeit in euklidischer Norm muss im Titel nach dem schließenden "$" mit angegeben werden)

Technische Details

Ein Blick unter KaBottes Motorhaube gefällig?

Problematische Karten

KaBotte steigt bei diesen Karten automatisch aus.

  • Nr. 49: Vermondy (Ziellinie ist löchrig)
  • Nr. 56: Interlagos (Ziellinie ist löchrig)
  • Nr. 117: Let's rock (CP nur mit Crash erreichbar)
  • Nr. 201: Sandbowl (meiner Meinung nach ist die Map kein Rundkurs und nur dort würde der Richtungsmodus Sinn machen; es gibt andere Interpretationen des Richtungsmodus, deshalb lieber deaktiviert)