Was kann getan werden, um die ultimative verrückte Echtzeit-Strategiespiel-KI zu verbessern?

12

Ich unterhielt mich mit einem Freund darüber, ob eine KI erstellt werden kann oder nicht, die in einem Echtzeit-Strategiespiel jeden Menschen schlagen kann, ohne Ressourcen zu betrügen. Eine KI, die fast perfekt spielen würde. Die KI der heutigen Spiele hat viele Bereiche, die verbessert werden können. Die meisten davon beruhen auf Ressourcenschummeln, einer besseren frühen Basisentwicklung und dem Angriff in Wellen.

Die Frage ist jedoch, was getan werden muss, um die ultimative KI zu erhalten. Wenn Sie ein Beispiel für ein Spiel haben, in dem eine bestimmte Funktion verwendet wurde, ist dies ebenfalls eine großartige Sache.

Bearbeiten: Es gibt wenig Klarheit, die ich für diejenigen, die den Titel oder die wenigen Absätze, die das Problem beschreiben, nicht gelesen haben, bieten kann. Hier geht es um Echtzeit-Strategiespiele und die ultimative KI. Das bedeutet Strarcraft, Warcraft, Generäle, Alarmstufe Rot, Age of Empires, KI-Krieg usw. Spiele mit mehr als einem Schwierigkeitsgrad, aber der Fokus liegt hier auf der ultimativen Herausforderung.

tenpn hat einen fantastischen Beitrag voller großartiger Ressourcen. Danke, Tenpn! Ich wünschte, mehr Menschen würden in diese Richtung beitragen.

altvali
quelle
6
Wirklich ist diese Frage ohne einen bestimmten Fall nicht sinnvoll. In allen Spielen gibt es je nach Spielmechanik unterschiedliche Möglichkeiten, KI zu implementieren, und die Art und Weise, wie sie verbessert werden können, wird erheblich variieren. Zumindest sollte dies Community Wiki sein, da es hier keine "richtige" Antwort gibt.
MrCranky
2
Weiter zu ersteren: Betrachten Sie Schach als Strategiespiel.
Rushyo
1
Warum würdest du wollen? Eine perfekte KI für das Pong-Spiel zu machen, ist absolut trivial und macht absolut keinen Spaß, dagegen zu spielen. Das Ziel der Spiel-KI ist es, den Spieler nicht zu schlagen, da es der Spieler (nicht der Computer) ist, der Spaß haben soll.
Ian Schreiber
1
Ian: Das OP spricht von etwas ganz anderem als Pong. Es ist einfach, eine unschlagbare Pong-KI oder eine Tic-Tac-Toe-KI herzustellen. Schach kann zu einer KI gebracht werden, die nur die Allerbesten besiegen können. Aber RTS ist ein anderes Ballspiel.
Die kommunistische Ente
2
Möglicherweise interessieren Sie sich für den STRIPS- Algorithmus.
User712092

Antworten:

12

Es ist eine Art schwierige Frage zu beantworten. Um festzustellen, was verbessert werden muss, benötigen Sie eine bekannte KI, mit der Sie arbeiten können. Hier sind jedoch einige Beispiele für RTS AI von aigamedev.com (Registrierung erforderlich):

Leider steckt der Großteil des wirklich Guten hinter der Paywall.

Eine gängige KI-Lösung ist der zielorientierte Aktionsplaner, der mithilfe von Regeln Pläne erstellt, um Ziele zu erreichen. Es ist schon eine Weile her, aber es ist sehr cool. Auf Jeff Orkins Website finden Sie eine kurze Übersicht (pdf) über die Anwendung auf einen FPS. Für RTS funktioniert jedoch genau dasselbe Prinzip (mit unterschiedlichen Regeln und Zielen).

Viele RTS werden Erben von GOAPs verwenden, mit unterschiedlichen Ebenen, die Ziele von der obigen Ebene erhalten, und mit unterschiedlichen Detaillierungsebenen des Schlachtfelds befasst. Ich habe einen großartigen Artikel über die KI eines Hex-Kriegsspiels aus dem Zweiten Weltkrieg gelesen, der so aufgebaut war, aber für alles, was Google ist, kann ich den Link jetzt nicht finden. Goldstern für alle, die mir helfen können.

Natürlich hängt die Effektivität von GOAPs und anderen Planern davon ab, wie gut Sie Ihre Spielwelt analysieren und wie verfeinert Ihre Aktionen und Ziele sind.

Weitere gängige Technologien sind Utility-Architekturen (pdf) für die Bewertung und Prioritäten sowie Tafeln zum Parsen der Spielwelt.

Tenpn
quelle
6

Der Punkt ist, wenn Sie eine KI haben

Das könnte jeden Menschen besiegen, ohne in einem Echtzeit-Strategiespiel Ressourcen zu betrügen

Dann hast du ein Spiel, das niemand spielen wird, weil er nicht über das erste Level hinaus konnte.

Der schwierigste Teil der KI-Programmierung besteht darin, die KI schlagbar zu machen, aber für jemanden mit ein wenig Geschick. Machen Sie es zu einfach zu schlagen und die Spieler werden durch das Fehlen einer Herausforderung abgeschreckt, machen Sie es zu schwer und wieder werden die Leute es satt, die ganze Zeit geschlagen zu werden.

Es geht also nicht darum, eine komplexe KI zu erstellen (was nicht schwierig ist, schließlich kann die KI alles auf ihrem Spielfeld gleichzeitig verarbeiten, während ein Spieler nur das verarbeiten kann, was auf dem Bildschirm angezeigt wird), sondern vielmehr darum, ein ausgeglichenes Spiel zu erstellen.

Skizz
quelle
1
Um zu verdeutlichen, dass es nicht so schwer ist, eine KI zu erstellen, die jeden Menschen schlagen kann, da die KI ihre Einheiten mit einer genaueren Granularität steuern kann, als es sich ein Mensch erhoffen könnte (aufgrund von Einschränkungen der Benutzeroberfläche). Ein Mensch braucht Sekunden, um auf Ereignisse zu reagieren, Einheiten auszuwählen und zu befehlen, während die KI die Befehle für jede Einheit einzeln in jeder Spielrunde als Reaktion auf ein Ereignis aktualisieren kann. In der Praxis wird dies jedoch nicht durchgeführt, da dies das Spiel langweilig machen würde. Der wirklich schwierige Teil ist, die KI dumm genug zu machen, um zu schlagen.
Skizz
3
Die Klärung klären - unschlagbare KI zu machen ist nicht so schwer; es ist weitaus schwieriger, schlagbare, herausfordernde und engagierte KI zu machen.
Skizz
3

Viel konnte getan werden, aber meine unmittelbare Reaktion auf diese Frage war eine Gegenfrage: Warum sollte jemand die ultimative RTS-KI wollen? Und warum spielt diese Person nicht einfach online gegen einen anderen menschlichen Gegner?

Der springende Punkt ist: Es ist nicht das Problem , die AI unschlagbar zu machen, es ist das Problem so dass es denkt schnell genug (. ZB es hat Abkürzungen zu nehmen) gegen 3 in der Lage sein zu spielen oder sogar 7 KI - Gegner auf der gleiche Karte mit einem normaler Computer. Selbst heute und morgen, und ich gehe davon aus, dass sich dies auch in zehn Jahren nicht geändert hat.

Das nächste Problem ist: Solange die KI strengen Regeln folgt, ist sie ausnutzbar. Selbst Fuzzy-Regeln machen es anfällig für Exploits. Die KI müsste lernen und Fehler machen - absichtlich und unbeabsichtigt. Es müsste dich auch überraschen. Und dann spielst du gegen einen anderen Menschen. Da die KI nicht annähernd die Denkweise eines Menschen sowohl hinsichtlich des Algorithmus als auch der Rechenleistung nachahmt, sollten Sie Ihre Zeit nicht mit einer KI für einen Spieler verschwenden, gegen die es bei weitem nicht so viel Spaß macht, wie gegen eine andere zu spielen Mensch, wenn auch nur für die sozialen Faktoren.

LearnCocos2D
quelle
1

Was Sie als "Ressourcen-Betrug" definieren, ist wie "Boost-Balancing" in Rennspielen. Der "Schub" wird verwendet, um zu versuchen, das Rudel relativ nahe beieinander zu halten, um die Illusion eines engen Rennens zu erzeugen. Wenn der Spieler nicht in der Leitung ist , kann es die CPU - Spieler in den Augen halten, und wenn der Spieler ist in der Leitung hält sie den Druck auf die von den Gegnern direkt auf Ihrem Schwanz setzen, auch wenn die CPU selbst ein mittelmäßiger Fahrer ist.

In einem RTS betrachten Sie eine Sammlung von Werten, die optimal angeordnet werden können. Sie wissen genau, wie lange es dauert, eine Ressource zu erhalten, wie viel Bauelemente kosten, wie lange die Karten durchlaufen werden usw.

Wenn Sie derjenige sind, der die Tabellen erstellt hat und über die verfügbaren Informationen verfügt, müssen Sie nur die Daten durch Zerquetschen der Zahlen ermitteln, um die besten Verhältnisse für die Ausgabe zu finden.

Aber wie viel Spaß macht es, gegen einen Feind zu spielen, der im Kontext des Spielfelds immer genau dasselbe tut?

Sie fügen also Chaos hinzu. Sie geben der KI eine Effizienz auf einer gleitenden Skala. Sie haben es den Spieler zu belästigen. Wenn der Spieler zu gut abschneidet, lässt du die KI ein wenig schummeln und gibst ihr zusätzliche Ressourcen oder Verstärkung, um den Spieler auf Trab zu halten.

Sie möchten, dass der Spieler die Befriedigung verspürt, einem herausfordernden Gegner gegenüberzutreten, anstatt eine schwache KI zu verprügeln oder von Hal9000 geschlachtet zu werden. Die Perfektion eines CPU-Gegners liegt in seiner Unvollkommenheit. :)

Casey Wagner
quelle
2
Und anders, aber verwandt: Es ist schön, wenn die KI manchmal Dinge tut, die technisch nicht die beste Option sind, aber dem Spiel ein wenig Spaß machen, z. B. ungewöhnliche Einheiten oder Bewegungen (z. B. Airdropping-Truppen auf der Rückseite der Spielerbasis) )
Bart van Heukelom
0

Eine große Sache ist, dass Sie mit der strategischen Entwicklung des Spiels Schritt halten müssen. Keine Menge Entwicklung lässt eine KI ein Starcraft 1-Match (im Fairplay) gewinnen, wenn sie glaubt, dass eine Kernarmee von Marines die Art ist, ein Terraner-gegen-Terraner-Spiel zu spielen.

Dies wird nicht nur verhindern, dass die KI aufgrund ihrer Wahl der überholten Strategie beständig geschlagen wird, sondern ein größeres Repertoire an Ansätzen für das Spiel wird die KI einnehmender machen, wenn die KI auf dem Weg tragfähige Entscheidungen trifft.

Ein reichhaltiger Strategiebaum lässt sogar einen Schwierigkeitsregler zu; ZB tendiert die verrückte Zerg-KI dazu, flexible Ansätze zu verfolgen, die sich an den Feind anpassen und sich bei Gelegenheit schnell ausdehnen können. Bei normalem Schwierigkeitsgrad ist es jedoch wahrscheinlich, dass sie starrere Builds auswählt und weniger anfällig für Massenerweiterungen ist.

user64554
quelle