Deep Gray

Aus KaroWiki
Zur Navigation springen Zur Suche springen

DeepGray und DeepPink beruhen z.Zt. auf derselben Software. Der Bot ist in JAVA implementiert. Alle 20 Minuten wird der Bot per cron angeworfen. Er schaut in der Liste "Ich bin dran" nach, wo er dran ist, und zieht dann alle Spiele die darin aufgeführt sind. Man muss also normalerweise höchstens 20 Minuten auf einen Zug warten. Der Bot beherrscht keine Crashregeln, er versucht mit allen Mitteln ohne Crash über die Runden zu kommen. Ja, man kann mit ZZZ=0 den Bot ziemlich alt aussehen lassen, naja, wer's für sein Ego braucht...

... das war einmal. Seit Anfang 2007 beherrschen die DeepBots auch die Crashregeln, so dass im Normalfall bei ZZZ=0 der Spieler ziemlich alt aussieht. Der Bot beachtet dabei auch das "Taktische-Crash-Flag". Wenn taktische Crashs nicht erwünscht sind, versucht der Bot (wie bisher) Crashs zu vermeiden.

Der Bot beherrscht auch Checkpoints. Sind Checkpoints angeschaltet, versucht der Bot auf kürzestem Weg alle Checkpoints abzufahren und dann ins Ziel zu fahren. Das führt neuerdings bei einigen Karten (z.B. Map Nr. 1) dazu, dass er die Map rückwärts fährt (weil das nunmal schneller als vorwärts ist). Möchte man das vermeiden, kann man die Checkpoints ausschalten. Eine spezielle KI versucht dann, kurze Start-Ziel Wege zu vermeiden und lotst dann den Bot brav um den ganzen Kurs herum.

Seit November 2009 beherrschen die DeepBots den Richtungsmodus, jedenfalls für Strecken, auf denen der Richtungsmodus sinnvoll ist. Das sind in erster Linie die Rundkurse. Bei Strecken, die keine Rundkurse sind und es eigentlich nur einen Weg vom Start zum Ziel gibt, wird der Richtungsmodus weitgehend ignoriert. Außerdem ergibt der Formel-1-Richtungsmodus auch nur mit eingeschalteten Checkpoints Sinn, deshalb wird der Formel-1-Modus bei ausgeschalteten Checkpoints auch ignoriert. Wenn der Bot aus welchen Gründen auch immer den Richtungsmodus ignoriert, schreibt er eine entsprechende Bemerkung in den Bordfunk. Das oben beschriebene unbeabsichtigte Rückwärtsfahren sollte damit der Vergangenheit angehören.

Außerdem ist der Bot in der Lage, eine Spielanalyse auszugeben. Es gibt ja immer mehr Strecken, wo jeder einen eigenen Weg fahren kann und man schnell keinen Überblick mehr hat, wer eigentlich vorne und wer hinten liegt. Um eine Spielanalyse zu bekommen, schreibt man @Botname: Analyse in den Bordfunk. Groß-Kleinschreibung ist dabei egal. Was dahinter kommt ist auch egal, so dass man bei entsprechender Gemütslage auch "@DeepPink: Analyse her aber dalli, du Blechkopp" schreiben kann. Wenn der Bot das nächste Mal zieht, rechnet er für jeden Spieler aus, wieviel Züge er ins Ziel braucht, vorausgesetzt er würde optimal fahren. Das Ergebnis schreibt er wieder in den Bordfunk.

Trivia

Da mich von Zeit zu Zeit Fragen zur Entstehung der Bots erreichen (die Bots sind Anfang 2004 entstanden, sind jetzt also schon über 10 Jahre alt), hier ein bisschen Geschichte:

Der 1. Bot heißt DeepGray, weil ein paar Jahre vorher Deep Blue der erste Schachcomputer war, der den damaligen Schachweltmeister geschlagen hatte. Das Gehäuse in dem der Karopapier Bot lief (siehe Bild in der Liste aller Spieler) war grau, also hieß er DeepGray.

Der 2. Bot enstand und sollte zuerst nach einer meiner Lieblingsrockgruppen Deep Purple heißen, aber meine damalige Freundin meinte, das hätte Deep Purple nicht verdient, so zu heißen wie ein Programm, das Käsekästchen spielt, deshalb hieß der Bot dann DeepPink, weil Pink wie Purpur eine knallige rötliche Farbe ist.

Als DeepGray entstand, lief er zunächst im Testbetrieb, hauptsächlich mit mir selbst. Als er zufriedenstellend lief wollte ich ihn in einem normalen Spiel testen. Zur damaligen zeit gab es einen Bot der Asrael oder so ähnlich hieß. Dies war ein schlechter Bot der häufig noch nicht mal das Ziel fand, geschweige denn, dass er irgendwas gewonnen hätte. Dieser Bot war mehr ein Witz und wurde praktisch nie zu irgendeinem Spiel eingeladen. Ich hatte die Befürchtung, dass man DeepGray ebenso als nicht ernstzunehmenden Witz betrachten würde, wenn er im ersten Spiel schlecht abschneiden würde, und da Karopapier eine Menge mit Glück zu tun hat, hätte das durchaus passieren können, egal wie gut er ist. Um einfach die Wahrscheinlichkeit zu steigern, dass der Bot gut abschneidet, hab ich dann einfach den Bot für 2 Spieler gleichzeitig spielen lassen. Das ist der einzige Grund warum DeepPink entstanden ist. Das legendäre (zumindest für mich legendäre) Spiel "Bots vs. Humans" wurde mit den damals besten Karopapier Spielern gestartet und ich weiß zwar nicht mehr wie die Bots genau abgeschnitten haben, (das Spiel ist leider verloren gegangen und nicht mehr einsehbar) aber sie sind jedenfalls nicht Letzter geworden. Eigentlich sollte DeepPink danach wieder verschwinden, aber man kann sich als Spieler nicht einfach so auflösen und deshalb gibt es ihn bis heute.

Die Bots haben seit dem etwas dazugelent, nämlich Checkpoints, Crashen, Richtungsmodus und das Blocken aber die zentrale Metrik zur Bewertung der Fahrlinie hab ich seit den ersten Tagen nie geändert.