biopio26: Wie gesagt, ich hab vor ein paar Jahren mal angefangen ein eigenes Darts-Programm mit Bots zu schreiben, auf Basis von Python. Es ist für mich einsatzfähig, aber noch nicht fertig (hat noch etliche Bugs leider) zum Hochladen auf Github und Co.
Das Prinzip der meisten Darts-Bots ist, dass sie ein Feld anvisieren und dann einfach eine Wahrscheinlichkeit bekommen, dass sie treffen oder nicht. Der PC würfelt also "ja" vs "nein" und bei "nein" wird das Feld ausgewürfelt, das er stattdessen trifft. Ich habe das ganze Geometrisch gelöst. Der Bot "zielt" auf die Mitte des Feldes, z.B. T20. Seine Skills teilen sich auf in r (Radius) und Phi (Azimut, "Winkel") und stellen die Standardabweichung einer Glockenkurve da. Dann würfelt der Computer eine Zahl zwischen 0 und 1 und nimmt das als Distanz zum Mittelwert. Dadurch bekomme ich eine tatsächliche Koordinate auf dem Board, das ich dann auch visualisiere (man sieht also, wo der Bot getroffen hat).
Weil mir das noch zu wenig war, habe ich die Skills besser aufgeteilt:
a) es gibt unterschiedliche Abweichungen, je nachdem ob er auf ein Triple, Single oder Double zielt.
b) Bots bekommen besondere "Special Skills", d.h. der eine scort besser, der andere checkt besser (oder beides, quasi wie ein "Boost")
c) Bots reagieren "psychisch". Wenn der Gegner auf einem guten Checkout steht, werden labile Bots nervös und verschlechtern sich, andere werden sicherer und verbessern sich. Der Bot reagiert außerdem darauf, wenn man ihn einholt ("Druck aufbaut"), wenn er selbst vor wichtigen Darts steht (zum Leg, zum Set, zum Match)
d) über eine selbst-korrelierte Zufallsreihe stelle ich die Schwankung im Spiel dar. Damit verbessere/verschlechtere ich seinen eigentlichen Skillwert. Das schwankt aber eben nicht wild hin und her, sondern hat einen relativ glatten Verlauf. Man kann einstellen, ob der Effekt stärker ist (Bot kann schlecht starten und sich im Laufe des Spiels stark verbessern, umgekehrt, oder bei langen Distanzen auch mal mehere Schwäche- oder Stärkephasen) oder schwächer ausgeprägt, dann wirft der Bot konstant.
e) wenn du einen neuen Bot erstellst, kannst du diese Fähigkeiten/Einstellungen alle vornehmen und am Ende berechnen lassen, wie gut er ist. Dann lasse ich den Bot im Hintergrund 50 Matches first to 7 Sets (quasi WM-Finale) gegen sich selbst austragen und zeige den Average an.
Auf diese Weise weißt du vorher schon recht gut, was auf dich zukommt. Ich habe für mein Training Bots, die sehr gut checken, um mich im Finish selbst unter Druck zu setzen. Manchmal spiele ich auch gegen einen "nervösen" Bot, wenn ich Erfolgserlebnisse brauche und das Spiel gegen schwächere Gegner simulieren will (macht aber meistens nicht so viel Sinn).
Statistik in Darts ist eine feine Sache ![]()