Ich fange an, ein Online-PvP-Spiel (Duell-Einzelspiel) zu entwickeln, in dem es Leveln, Fertigkeitspunkte, Spezialangriffe und all die üblichen Dinge gibt. Da ich so etwas noch nie gemacht habe, denke ich immer noch über die Mathematik nach, die hinter dem Level / Skills / Specials-Gleichgewicht steht.
Daher dachte ich, ein guter Weg, um die besten Builds / Combos zu testen, wäre die Implementierung eines genetischen Algorithmus. Es wäre so:
- Generieren Sie eine große Gruppe zufälliger Zeichen
- Lass sie kämpfen, stufe sie entsprechend ihren Siegen (mehr XP) / Verlusten (weniger XP) auf.
- Verbinde die Gewinner, kreuze ihre Builds, um zu versuchen, noch bessere Charaktere zu machen
- Fügen Sie weitere zufällige Zeichen hinzu, um neue Spieler zu emulieren
- Wiederholen Sie den Vorgang für einige Zeit, oder ich finde einige Zeichen, die jeden Hintern schlagen können
Ich könnte dann mit der Mathematik spielen und versuchen, bessere Gleichgewichte zu finden, um sicherzustellen, dass die obersten x% der Zeichen eine Mischung aus verschiedenen Build-Typen sind.
Ist es also eine gute Idee oder gibt es eine andere, einfachere Methode, um den Ausgleich durchzuführen?
Bearbeiten: Interessante Gedanken in all diesen Antworten, die immer noch darauf warten, nur einen als gelöst zu markieren. Ich kann das Problem mit der KI-Implementierung sehen, aber in meinem speziellen Fall ist die KI ziemlich einfach. Es basiert direkt auf dem Build des Gegners und den ausgewählten Parametern für das Duell. (Der menschliche Spieler hat keinen Zugriff auf diese Informationen und kann daher die feindlichen Statistiken und Strategien nicht vorhersehen.) Ich habe ein Thema zum Testen gelesen und denke, ich werde mit einfachen automatisierten Tests beginnen und es in Zukunft zu einem genetischen Algorithmus weiterentwickeln.
quelle
Ich empfehle einen Blick in das Kapitel "Genetische Algorithmen: Entwicklung des perfekten Trolls" aus AI Game Programming Wisdom . Ich erinnere mich, dass der Autor die Verwendung eines genetischen Algorithmus beschreibt, um die richtigen Parameter zu erstellen, die ihm den besten Troll zum Starten bei Spielern und den Prozess geben, den er befolgt hat, um das Ergebnis zu erzielen.
Die Zusammenfassung meiner Erinnerungen (ich habe das Buch nicht mehr zur Verfügung und habe es vor mindestens 3 Jahren gelesen) ist, dass Sie bei Ihren ersten Versuchen höchstwahrscheinlich überraschende Ergebnisse finden werden, da Ihre Fitnessfunktion nicht wirklich beschreibt, was Sie wollen. In dem Beispiel verwendete der Autor "Zeit am Leben" als erstes Maß für die Leistung eines bestimmten Individuums, und nach mehreren Generationen endete er mit einem Haufen feiger und schwer zu findender Trolle, die ihm tatsächlich die beste "Überlebensfähigkeit" gaben ": P. Die Lehre hier ist, dass es möglich ist, genetische Algorithmen zu verwenden, um nach dem "besten Parametersatz zur Maximierung von X" zu suchen, aber Sie müssen berücksichtigen, dass Ihre Fitness Ihren Charakter genau darauf vorbereitet, X zu tun, und manchmal das ist nicht was du willst.
Vor diesem Hintergrund denke ich, dass dies ein guter Ausgangspunkt für Ihren Zweck ist. Ich vermute, dass Sie mehrere Simulationen mit unterschiedlichen Fitnessfunktionen durchführen müssen, um Ihren "aktuell objektiv orientierten" besten Charakter zu generieren. Zum Beispiel das "am härtesten schlagende" Zeichen oder das "magische Benutzer" -Zeichen.
quelle