Ich entwerfe ein Spiel, bei dem das Kampfsystem Pokemon ähnelt. Das heißt, ein 1: 1-Kampf mit nur wenigen (4-6) Zügen zur Auswahl. Während das Spiel Gestalt annimmt, beginne ich über einige der schwierigeren Codierungsbereiche wie die feindliche KI nachzudenken und habe einige Fragen. Ich habe bereits über einige Möglichkeiten zum Entwerfen der KI nachgedacht und wollte auch Ihr Feedback hören.
Ich denke darüber nach, eine universelle KI für mein Spiel zu versuchen, bei der alle Monster dieselbe Logik verwenden, um zu bestimmen, welchen Zug sie verwenden werden. Es basiert auf Gleichungen / Werten, die jeder Bewegung zugewiesen sind, und bestimmt, welche am besten zu machen ist. Wenn der Gegner beispielsweise dem Zug der Monster Widerstand leistet (1/2 Schaden), erhält er einen niedrigeren effektiven Wert als die anderen und Bewegungen, die aufgrund der Verwundbarkeit zusätzlichen Schaden verursachen, erhalten einen höheren effektiven Wert. Außerdem habe ich darüber nachgedacht, eine Variable hinzuzufügen, die den Wert verringert, wenn die Verschiebung wiederholt verwendet wurde, um zu vermeiden, dass der Computer immer dieselbe Verschiebung verwendet. Ich bin der Meinung, dass dies derzeit nur darauf beschränkt ist, den Computer dazu zu bringen, den Zug mit dem höchsten Schaden auszuführen. Irgendwelche Vorschläge?
SO für meine Fragen.
Wie wirkt sich das Entwerfen einer KI-Logik für jedes Monster / Pokémon im Vergleich zu einem allgemeinen Regelwerk für alle auf die Größe meines Spiels in Bezug auf Code und Effektivität der KI aus?
Gibt es Ressourcen, die das Entwerfen von KI auf diese Weise diskutieren? Ich habe in Pokemon-Spielen sehr wenig über die KI gefunden und bin mir nicht sicher, welche anderen Spiele in der Mechanik ähnlich sein könnten.
Vielen Dank für Ihre Zeit!
quelle
Ihre größten Bedenken sind also die Code- und KI-Effektivität. Da Ihre Frage 44 Aufrufe und keine Vorschläge enthält, dachte ich, dass Ihnen Ideen eines einfachen Spielers nichts ausmachen würden - insbesondere eines, der Pokemon-Spiele gespielt hat. Ich habe keinen KI-Hintergrund und nur einen kleinen Programmierhintergrund, aber ich denke:
Wenn Sie eine eindeutige KI pro Poke (Pokemon) haben, kann Ihr Code sehr groß sein. Daher benötigen Sie Poke-Klassen und AI (ein Strategiesatz) pro Klasse. Das Problem ist, dass Sie für Klassen = n "Die Summe von i = n bis i = 0 von i" Strategiesätze (SS) erstellen müssen.
Wenn Sie Ihre Klassen auf typische Weise gestalten, gibt es für alles einen Stein-Papier-Scheren-Weg. Wie Feuer schlägt Wasser schlägt Erde trägt Feuer (dreht sich um). Somit kann jeder Poke eine Kennung für die Poke-Klasse haben. Sie haben auch maximal 5 Züge gesagt.
Ihr Poke-Objekt würde Folgendes enthalten
Klasse Anzahl der geordneten Listen, die priorisieren, welche Bewegung gegen andere Klassen verwendet werden soll
Beispiel: Pikachu: Klasse A. StrategySet A; 12345, B; 34512 C; 51234 Chrmndr: Klasse B. StrategySet A; 21543, B; 12345 C; 34512 Squirtl: Klasse C. StrategySet A; 43215, B; 21543 C; 12345
Wenn sie kämpfen (sagen wir Pikachu gegen Charmander), wenn die CPU Pikachu ist, übergibt das Charmander-Objekt Klasse B an Pikachu, und die CPU-Pikachu wählt Strategiesatz B; 34512 aus, der die vorrangige Methode ist, um einen Gegner der Klasse B zu bekämpfen . Diese fünf Züge fallen in allgemeine Kategorien (Angriff, Verteidigung, Selbstbeschleunigung, Feindgeschwindigkeit, Feindangriff) oder was Sie haben, und daher weiß der Computer, was zuerst zu verwenden ist. Die Verwendung anderer Elemente in der Liste kann bis zu Parametern wie der Gesundheitshäufigkeit des Gegners oder sogar etwas Verrücktem wie der Simulation von Prioritätswerten, die ein Maximum überschreiten, entsprechen.
quelle
Ich habe einige Arbeiten am Pixelmon-Kampfcode durchgeführt, wie bereits erwähnt, bei gewichteten Optionen für die Züge, aber es gibt auch Status, über die man sich Sorgen machen muss. Dann wird das Geschwindigkeitsattribut + Buffs / Debuffs / Items verwendet, um den Zug zu bestimmen Bestellen Sie für diese Runde und berechnen Sie die nächste Runde neu.
Aber denken Sie daran, dass es nur begrenzte Züge und Gegenstände gibt, die jeder in einem Spiel im Pokemon-Stil verwenden kann, da alle zu Beginn des Kampfes festgelegt sind.
quelle