Das Ziel dieser Anleitung ist es, eine einfache und anfängerfreundliche Möglichkeit zu bieten, die Flucht Ihrer Bots zu kontrollieren und eine Basis zu schaffen, die leicht erweitert und modifiziert werden kann.
Wenn Sie Fehler finden oder Fragen haben, kontaktieren Sie mich im Gladiabots-Discord.
Zuerst werden wir uns einige typische Fluchtmodule ansehen, denen die meisten Spieler begegnen, wenn sie mit dem Spielen beginnen, und zeigen, wie sie in dem System aussehen würden, das wir erstellen werden. Dann ein Beispiel, das die Mathematik motiviert, die ich bei der Auswahl der Werte meiner KI verwendet habe, gefolgt von der Erstellung des Fluchtmoduls einer meiner älteren KIs. Abschließend gebe ich einige Ideen zu Dingen, die erweitert werden könnten, um dieses Modul konsistenter zu machen.
Gemeinsame Anfängermodule
Die ersten flüchtenden Module, denen die meisten Spieler begegnen, sehen ähnlich aus wie die untenstehenden.
Sie bieten einen klaren Überblick über Bedingungen und Konsequenzen und eignen sich hervorragend zum Debuggen. Für mich wurden sie schwer zu basteln, und ich konnte kein „Gefühl“ für sie bekommen.
Das Zählersystem
Die Methode, die ich verwende, weist Dingen, die mir Schaden zufügen oder zufügen werden, einen Wert zu. Wenn eine bestimmte Schadenshöhe berechnet wird, werden wir mit dem Rückzug beginnen.
Neuerstellung der Anfängermodule
Wir werden die oben gezeigten Module neu erstellen, um zu zeigen, wie dieses System funktioniert, beginnend mit dem linken Modul.
Wir verwenden den Teamzähler E zum Speichern von Werten. Solange es nicht für irgendetwas verwendet wird, das über mehrere Tics geht oder dass Sie vor diesem Modul einen Wert zuweisen und später verwenden, können Sie es an anderer Stelle frei verwenden.
Dieser Code hat 3 Spalten. Der erste Teamzähler E setzt die Anzahl der Bots, die mich angreifen, es ist wichtig, dass der Knoten, der den Wert setzt, zuerst ausgeführt wird. Die zweite Spalte prüft, ob unser Schild unter 50 % liegt, wenn ja, erhöht sich E um 3. Die dritte Spalte prüft, ob der Teamzähler E größer oder gleich 3 ist, in diesem Fall fliehen wir vor allen Feinden, die uns angreifen.
Wenn wir von 3 oder mehr Bots angegriffen werden oder weniger als 50% Schild haben, führt dies zu einem Rückzug von allen Feinden, die uns angreifen.
Das rechte Beispiel ist das gleiche wie das Bild oben. Hier beginnen sich die Möglichkeiten dieses Systems zu zeigen, indem der Zähler um eins erhöht wird, wenn eine bestimmte Bedingung erfüllt ist, wie in der zweiten Spalte zu sehen ist.
Statistik und Mathematik
Bevor wir fortfahren, benötigen wir einige Bot-Statistiken, damit wir versuchen können, einige Annäherungen vorzunehmen und unsere Werte auszuwählen. Alle Statistiken stammen aus der Bot-Klassen Abschnitt des Gladiabots-Wikis. Ein Tick ist eine Spielrunde, es gibt 4 Ticks für jede Sekunde.
Testszenario
Angenommen, Ihr Angriff geht auf einen feindlichen Bot zu und er beginnt zu feuern, sobald Sie die mittlere Reichweite betreten. Wenn Sie sich beim Eintritt in einen feindlichen Mittelstreckenangriff sofort zurückziehen, haben Sie Zeit, 5 Salven mit jeweils 3 × 2 Schüssen auf Ihren Bot abzufeuern. Das sind 30 Kugeln, die jeweils 300 Schaden verursachen und eine Trefferchance von 15 % haben. Dies führt zu 30 * 300 * 0.15 = 1350 durchschnittlichem Schaden. Ein Angriff hat 3000 im Schild, also ist dies nicht zu weit von der Hälfte Ihres Schildes entfernt.
Erstellen des Moduls
Meistens sind die Angriffs-Bots, denen Sie begegnen, nicht auf mittlerer Reichweite, vorausgesetzt, die durchschnittliche Entfernung zu einem feindlichen Angriffs-Bot liegt etwa auf halbem Weg in die Ferne, kann er 2.5 Salven abfeuern, was durchschnittlich 675 Schaden entspricht, den ich auf ⅕ gerundet habe der volle Schild. Wenn also 5 Feinde auf mich feuern, fliehe ich, auch wenn der Schild voll ist.
Unter Berücksichtigung des Schildes haben wir nun gesehen, dass wir einen etwas sanfteren Übergang erreichen können, wenn wir die Schildknoten separat hinzufügen.
Betrachten wir ein Beispiel, sagen wir, wir haben 33% Schild, das löst die 3 obersten Schildknoten aus, E hat den Wert 3, wenn uns keine Feinde angreifen. Wenn uns jetzt 2 Feinde auf halbem Weg in die Ferne angreifen und angenommen, dass sie jeweils 2.5 Salven abfeuern, würden wir im Durchschnitt mit 1350 Schaden getroffen werden, das sind 350 Gesundheitsschaden, wenn der Schild weg ist.
Sowohl hier als auch beim Aufrunden von 675 Schaden auf ⅕ meines Schildes war ich optimistisch, was den Schaden betrifft, den ich erleiden werde. Dies hat bei mir funktioniert, kann sich aber je nach Teamzusammensetzung und dem Rest der KI unterscheiden.
Es gibt jedoch Gegner, die dazu geführt haben, dass meine Bots fast jedes Mal, wenn sie geflohen sind, an Gesundheit verloren haben. Und da dies (hoffentlich) nicht bei allen Gegnern der Fall ist, möchten wir unsere Fluchtschwelle nicht für alle Gegner ändern, da dies dazu führen würde, dass wir fliehen, wenn wir es nicht müssten.
Eine Lösung dafür ist, früher mit der Flucht zu beginnen, sobald wir etwas Schaden genommen haben. Das wird uns helfen, nicht versehentlich durch Pech getötet zu werden, aber für mich ist es hauptsächlich eine Lösung, um mich an den Spielstil meines Gegners anzupassen.
Während dies Ihre Bots überleben lässt, kann es sich deutlich auf ihre Fähigkeit auswirken, Feinde zu schieben. Es kommt vor, dass Kämpfe gut für mich beginnen und ich die Feinde zurückstoße, aber sobald meine Bots anfangen, Schaden zu nehmen, werden sie weniger aggressiv und der Gegner beginnt zu schieben mich stattdessen.
Da Bots auf mittlere oder kurze Distanz mehr Schaden anrichten, habe ich den nächsten Knoten hinzugefügt, um etwas besser auf Schäden aus mittlerer oder kurzer Distanz vorbereitet zu sein.
Dies wurde erreicht, indem der Zähler für jeden feindlichen Bot erhöht wurde, der mich im Nah- oder Mittelbereich angriff. Weit davon entfernt, eine perfekte Lösung zu sein, und ich werde sie im Abschnitt zu zukünftigen Verbesserungen ansprechen, aber sie ist hilfreich in den Fällen, in denen mehr als ein Bot Sie in mittlerer Reichweite angreift.
Das letzte, was wir behandeln werden, ist der feindliche Scharfschütze. Es kann viel Schaden anrichten, und ohne die richtigen Werkzeuge kommt dieser Schaden aus dem Nichts. Es gibt bessere Möglichkeiten, mit Scharfschützen umzugehen, als ich hier vorstelle, aber dieses System hat für mich gut funktioniert.
Es erhöht den Zähler um 2 für jeden Scharfschützen, der uns angreift. Jeder Scharfschütze, der uns angreift, ist also insgesamt 3 Punkte wert. Dies liegt daran, dass der Scharfschütze ⅔ Ihres Schildes auf einmal wegnimmt, was nahe genug an ⅗ liegt. Wenn Sie also weniger als 75% Schild haben, werden Sie immer vor einem Scharfschützen fliehen, der Sie angreift.
Eine meiner Meinung nach wichtige Sache, die man im Hinterkopf behalten sollte, ist, dass es ohne andere Module als dieses sehr wichtig ist, sicherzustellen, dass Sie fliehen, wenn Sie von 2 Scharfschützen angegriffen werden. Wenn beide landen, verlierst du ⅕ deiner maximalen Gesundheit allein durch die Scharfschützen.
Zukünftige Verbesserungen
Dieses System hat eine Schwäche für Teams mit vielen Angriffen, da Angriffe die Möglichkeit haben, schnell das Ziel zu wechseln. Diese Mechanik kann nicht wissen, wie viele Feinde in der Nähe sind, was einige Probleme verursachen könnte.
Eine einfache Lösung, die sich für mich als effektiv erwiesen hat, besteht darin, E um 1 zu erhöhen, wenn 3 oder mehr feindliche Angriffe in Reichweite sind.
Dieses System sieht die 3 Nicht-Scharfschützen-Bot-Klassen als gleichwertig an, wenn sie Schaden anrichten, was meiner Meinung nach eine gute Annäherung ist, mit Ausnahme des MG im mittleren Bereich. Wenn mich ein feindliches MG in mittlerer Entfernung angreift, dann gehe ich sofort aus der mittleren Entfernung heraus.
Dazu erhöhe ich einfach den Zähler E um 5, wenn ich mittendrin von einem feindlichen MG angegriffen werde. Also geht mein Bot auf Langstrecken zurück.
Dieses System weist einige Mängel auf, die dazu führen können, dass Ihre Bots zurückweichen und wieder in die mittlere Reichweite des MG gelangen. Ein Semi-Fix besteht darin, immer anzugreifen, wenn ein feindliches MG auf Sie feuert. Es gibt keinen Grund, dann weiter nach vorne zu drängen.
Eine andere Sache ist, dass, wenn Sie in die Mitte eines Feindes eintreten und fliehen müssen, Sie wissen, dass es möglich ist, dass er 5 Salven abfeuert, wenn es sich um einen Angriff handelt, oder ungefähr die gleiche Menge Schaden anrichtet, wenn es sich um einen handelt MG.
Eine Lösung besteht darin, alle Feinde zu markieren, die dich mittendrin angreifen, und sie markiert zu lassen, solange sie dich angreifen. Erhöhen Sie dann E für jeden feindlichen Bot, der Sie markiert und angegriffen hat.
Eine Scharfschützenuhr würde auch dazu beitragen, dass beide Bots keinen Schaden erleiden und ihnen mehr Zeit geben, auf Feinde zu schießen, da Sie nicht vorzeitig fliehen. Wenn Sie eine Scharfschützenuhr verwenden, sollten Sie feindliche Scharfschützen nicht mehr berücksichtigen, wenn Sie E auf die Anzahl der feindlichen Bots setzen, die Sie angreifen.
Das ist alles, was wir heute dafür teilen Gladiabots führen. Dieses Handbuch wurde ursprünglich erstellt und geschrieben von Markolainen. Falls wir dieses Handbuch nicht aktualisieren, finden Sie das neueste Update, indem Sie diesen folgen Link.