Ziel dieses Leitfaden.
Wenn Sie Fehler finden oder Fragen haben, kontaktieren Sie mich auf der Discord der Gladiabots.
Erste, Wir werden uns einige typische flüchtende Module ansehen, die die meisten Spieler begegnen, wenn sie spielen, und zeigen, wie sie in dem System aussehen, das wir erstellen werden. Dann ein Beispiel, das die Mathematik motiviert habe, die ich bei der Auswahl der Werte meiner KI verwendet habe, gefolgt von der Erstellung des flüchtenden Moduls eines meiner älteren KIs. zuletzt, Ich gebe einige Ideen zu Dingen, die erweitert werden könnten, um dieses Modul konsistenter zu machen.
Häufige Anfängermodule
Die ersten flüchtenden Module, die die meisten Spieler begegnen.
Sie bieten eine klare Übersicht über die Bedingungen und Konsequenzen und sind beim Debuggen groß. Für mich, Sie wurden schwer zu basteln, Und ich konnte nicht „ein Gefühl bekommen“ für sie.
Das Zählersystem
Die Methode, die ich verwende, weist einen Wert für Dinge zu, die mir entweder tun oder Schaden anrichten. Wenn ein gewisses Maß an Schaden berechnet wird, werden wir uns zurückziehen.
Die Anfängermodule nachbauen
Wir werden die oben angezeigten Module neu erstellen, um zu zeigen, wie dieses System funktioniert, Beginnend mit dem linken Modul.
Wir verwenden Team -Zähler E zum Speichern von Werten. Solange es für nichts verwendet wird, was über mehrere TICs geht oder dass Sie vor diesem Modul einen Wert zuweisen.
Dieser Code hat 3 Spalten. Der erste Set -Team -Konter E zu der Anzahl der Bots, die mich angreifen, Es ist wichtig, dass der Knoten den Wert zuerst ausgeführt wird. Die zweite Spalte prüft, ob unser Schild unten ist 50%, Wenn ja, erhöht sich e um 3. Die dritte Spalte prüft, ob das Teamzähler E größer oder gleich ist 3, In diesem Fall fliehen wir vor allen Feinden, die uns angreifen.
Wenn wir angegriffen werden von 3 oder mehr Bots oder weniger als haben 50% Schild führt zu einem Rückzug aus allen Feinden, die uns angreifen.
Das richtige Beispiel ist das gleiche wie das Bild oben. Hier beginnen die Möglichkeiten dieses Systems zu zeigen, Mit dem Inkrementieren des Zählers um eins, wenn eine bestimmte Bedingung erfüllt ist, wie in der zweiten Spalte zu sehen ist.
Statistiken und Mathematik
Bevor Sie fortfahren. Alle Statistiken stammen aus dem Bot -Klassen Abschnitt des Gladiabots Wiki. Ein Tic ist eine Spielwendung, es gibt 4 Tics für jede Sekunde.
Testszenario
Nehmen wir an, Ihr Angriff geht zu einem feindlichen Bot und er beginnt zu schießen. Wenn Sie sich beim Eintritt in einen feindlichen Angriff in der Mittelklasse sofort zurückziehen, hat Sie die Zeit zum Feuer 5 Salven zu Ihrem Bot, jeweils mit 3×2 Schüsse. Das ist 30 Kugeln, die jeweils abwickeln 300 Schaden und eine 15% Chance zu treffen. Dies führt dazu 30 * 300 * 0.15 = 1350 durchschnittlicher Schaden. Ein Angriff hat 3000 Im Schild ist dies also nicht zu weit von der Hälfte Ihres Schildes entfernt.
Erstellen des Moduls
Meistens werden die Angriffsbots, die Sie treffen, Unter der Annahme, dass die durchschnittliche Entfernung zu einem feindlichen Angriffsbot etwa auf halbem Weg in die Langstrecke ist, kann er Feuer leisten 2.5 Salven, Welches ist 675 durchschnittlich Schaden, worauf ich rundete ⅕ vom vollen Schild. Also wenn 5 Feinde schießen mich.
Jetzt unter Berücksichtigung des Schildes haben wir gesehen, dass wir einen etwas reibungslosen Übergang durchführen können, wenn wir die Schildknoten getrennt hinzufügen.
Wenn wir uns ein Beispiel ansehen, sagen wir, wir haben uns 33% Schild, Das macht das 3 Oberste Schildknoten auslösen, E hat den Wert 3 Wenn uns keine Feinde angreifen. Wenn jetzt 2 Feinde greifen uns auf halbem Weg in Langstrecken an, Angenommen, sie würden feuern 2.5 Volleys jeweils werden wir im Durchschnitt mit getroffen 1350 Schaden, das heißt 350 Gesundheitsschaden, wenn der Schild weg ist.
Sowohl hier als auch beim Runden 675 Schaden an ⅕ In meinem Schild war ich optimistisch, was ich annehmen werde. Dies hat bei mir funktioniert, könnte aber je nach Teamkomposition und dem Rest der KI unterscheiden.
Es gibt jedoch Gegner, die meine Bots fast jedes Mal verlor, wenn sie fliehen würden. Und da dies ist (hoffentlich) Nicht der Fall bei allen Gegnern, wir wollen unsere flüchtende Schwelle für alle Gegner nicht ändern, Da es uns dazu bringen würde, zu fliehen, wenn wir nicht müssten.
Eine Lösung dafür ist, früher zu fliehen, sobald wir Schaden annehmen. Dies wird uns helfen, nicht versehentlich durch Pech getötet zu werden, aber für mich, Es ist hauptsächlich eine Lösung, um mich an den Playstyle meines Gegners anzupassen.
Während dies dazu führt, dass Ihre Bots überleben, Es kommt vor, dass Kämpfe gut für mich anfangen und ich die Feinde zurückschalte, Aber sobald meine Bots Schaden annehmen, werden sie weniger aggressiv und der Gegner beginnt mich stattdessen zu drängen.
Da Bots im mittleren oder nächsten Bereich mehr Schaden anrichten.
Dies wurde durchgeführt, indem der Zähler für jeden feindlichen Bot erhöht wurde, der mich in der engen oder mittleren Reichweite angreift. Weit entfernt von einer perfekten Lösung und ich werde sie im Abschnitt zukünftiger Verbesserungen ansprechen, Es ist jedoch in den Fällen hilfreich, in denen Sie mehr als ein Bot in der Mittelklasse angreift.
Das Letzte, was wir abdecken werden, ist der feindliche Scharfschütze. Es kann viel Schaden verursachen, und ohne die richtigen Werkzeuge, Dieser Schaden kommt aus dem Nichts. Es gibt bessere Möglichkeiten, mit Scharfschützen umzugehen, als ich hier präsentiere, Aber dieses System hat für mich gut funktioniert.
Es erhöht den Zähler durch 2 Für jeden Scharfschützen, der uns angreift. Also ist jeder Scharfschützen, der uns angreift, wert 3 insgesamt Punkte. Dies liegt daran, dass der Scharfschütze wegnimmt ⅔ Ihr Schild sofort, was nahe genug ist ⅗. Also, wenn Sie weniger als haben 75% Schild, du wirst immer vor einem Scharfschützen fliehen, der dich angreift.
Eines ist meiner Meinung nach wichtig, dass es ohne andere Module als diese sehr wichtig ist, sicherzustellen, dass Sie fliehen, wenn Sie fliehen, wenn Sie fliehen, wenn Sie fliehen 2 Scharfschützen greifen dich an. Wenn beide Treffer landen, Du wirst verlieren ⅕ allein von Ihrer maximalen Gesundheit von den Scharfschützen allein.
Zukünftige Verbesserungen
Dieses System hat eine Schwäche für Teams mit vielen Angriffen, Dies liegt an Übergriffen mit der Option, schnell die Ziele zu ändern. Dieser Mechaniker kann nicht wissen, wie viele Feinde in der Nähe sind, was einige Probleme verursachen kann.
Eine einfache Lösung, die sich für mich als effektiv erwiesen hat, besteht darin, E durchzukriegen 1 falls vorhanden 3 oder mehr feindliche Angriffe im Bereich.
Dieses System sieht das 3 Nicht-Sniper-Bot-Klassen als gleichwertig bei Schaden, Was ich denke, ist eine gute Annäherung, mit Ausnahme des Mg im Mittelbereich. Wenn mich ein feindlicher MG in der Mittelklasse angreift, dann trete ich sofort aus der mittleren Reichweite aus.
Um dies zu tun, erhöhe ich einfach den Zähler e durch 5 Wenn ein feindlicher MG mitten angegriffen wird. Also kehrt mein Bot auf Langstrecken zurück.
Dieses System verfügt über einige Fehler. Ein Semi-Fix ist es, immer anzugreifen, wenn ein feindlicher Mg auf Sie feuert. Es gibt keinen Grund, dann weiter voranzukommen.
Eine andere Sache ist, dass Sie wissen, dass es eine Möglichkeit gibt, wenn Sie in der Mitte eines Feindes eintreten und Sie fliehen müssen 5 Salven, wenn es sich um einen Angriff handelt, oder ungefähr die gleiche Menge an Schaden anrichten, wenn es sich um ein mg handelt.
Eine Lösung besteht darin, alle Feinde zu markieren, die Sie mitten angreifen und sie markiert halten, solange sie Sie angreifen. Dann inkrementiert E für jeden feindlichen Bot, der Sie getaggt hat und Sie angreift.
Eine Scharfschützenuhr würde auch dazu beitragen, beide Bots zu verbessern und ihnen mehr Zeit zu geben, um 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 die Anzahl der feindlichen Bots festlegen, die Sie angreifen.
Das ist alles, was wir heute dafür teilen Gladiabots Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von Marko. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.