Evolutionäre prozedurale Erzeugung [geschlossen]

7

Gibt es Beispiele für Unternehmen oder Veröffentlichungen, die evolutionäre Algorithmen ( EA ) oder genetische Programmierung ( GP ) bei der prozeduralen Generierung von Inhalten für Spiele verwenden? Gibt es das in der Branche?

Dies ist ungefähr der einzige Ort, an dem ich ihn wirklich gefunden habe:
http://pcg.wikidot.com/pcg-algorithm:automatic-game-design

Ich habe auch diese Fragen geprüft und kenne mich mit PCG aus:
Was ist "prozedurale Generierung" und wie wird es gemacht?
Prozedurale Generierung von Infinite Level 2d Generierung des
prozeduralen Universums

Alex Shepard
quelle
Ein wirklich gutes Papier zu diesem Thema, obwohl es eher theoretisch als technisch ist: researchgate.net/publication/220061075/download Es behandelt viel über die Geländegenerierung mit GP und EA.
Nick O'Brien

Antworten:

5

Im Allgemeinen entscheiden sich die meisten Spiele für die viel einfachere und vorhersehbarere Methode zum Erstellen von Skripten für ihre KI oder verwenden Rauschen für die Erstellung von Gelände / Inhalten. Die meisten Spiele neigen dazu, evolutionäre / genetische Programmierung zu vermeiden, da die Implementierung offen gesagt oft zu teuer oder für die meisten Spieler zu zufällig ist, um sie zu verstehen.

Abgesehen von ein paar meist experimentellen Spielen und Nischenspielen wie Darwin's Pond oder der Creatures-Serie kann ich mir wirklich keine Spiele vorstellen, die EA oder GP verwenden. Black and White verwendete das Belief-Desire-Intention-Modell als Grundlage für die Kreaturen-KI, aber das Spiel erhielt viele negative Reaktionen, da das Verhalten der Kreatur zufällig zu sein schien. Es ist wahrscheinlich, dass das zweite Schwarz-Weiß-Spiel Skripte für die KI der Kreatur verwendet hat.

Thedaian
quelle
Die allgemeine Schlussfolgerung lautet also nein, dies wurde praktisch nicht verwendet?
Alex Shepard
@AlexShepard Richtig. Die Implementierung ziemlich komplexer Algorithmen bietet einfach nicht genug Vorteile, wenn handgemachte Levels oder geskriptete KI genauso gut funktionieren (manchmal sogar besser). Eine Sache, die verwendet werden könnte, sind natürlich die Tools "hinter den Kulissen", bei denen über Nacht ein Level mit EA oder GP generiert wird und das Ergebnis gespeichert und im Spiel verwendet wird (obwohl dies wahrscheinlich zu zusätzlichen Optimierungen führen würde von weiteren Tests)
Thedaian
4

Die Antwort von thedaian ist gut, da sie Beispiele liefert.

Ich denke, das Hauptproblem bei diesen Ansätzen ist die Kontrolle. Sobald Sie sich mit Heuristiken befassen, auf die sich diese letztendlich stützen, wird es sehr schwierig, ein System zu entwickeln, das das tut, was Sie wollen. Ehrlich gesagt ist es eine Frage der Projektkosten und des Risikos. Wenn Sie eine Spielidee haben, die Sie implementieren können, ohne diese zu verwenden oder einen direkteren prozeduralen Ansatz zu verwenden, ist dies für Sie besser.

Das Problem selbst bei den elementarsten KI-Ansätzen (z. B. A * -Pfadfindung) besteht darin, dass das Verstehen einige Zeit in Anspruch nimmt und das Beherrschen erheblich länger dauert. Ich denke, dies bringt uns näher an einfachere, statischere Ansätze. Es fördert keine Innovation, aber eine schnelle Kapitalrendite ist schwer zu ignorieren.

Trotzdem bin ich definitiv auf der Seite von "Wenn niemand es versucht, werden wir es nie erfahren". Seit einiger Zeit braut sich ein GP-Projekt in meinem Kopf zusammen.

(Ein anderer Ansatz, den Sie vielleicht untersuchen möchten, sind neuronale Netze. Diese werden häufig als maschineller Prozess zusammengefasst, der natürliche Formen der Verbesserung - in diesem Fall des Lernens - durch Eliminierung nachahmt.)

Ingenieur
quelle
1

Diese Art der Programmierung wird im Allgemeinen verwendet, wenn verfügbar, um AI-Agenten ihre "Persönlichkeit" zu verleihen. Mit den verschiedenen verfügbaren Werten können Sie versuchen, die "besten" Statistiken für einen Agenten zu erstellen, um in der Welt zu überleben und zu gedeihen, aber dies wird aus einem sehr guten Grund nicht aktiv während des Spiels getan. Es ist ein Spiel.

Sie können den Computer lernen lassen, den Spieler ständig zu besiegen, aber wer wird ein Spiel spielen, bei dem Sie nur verlieren können? Es geht darum, eine Herausforderung darzustellen, und mithilfe genetischer Algorithmen können Sie versuchen, KI-Kombinationen zu finden, die auf bestimmte Weise gespielt werden können, um einfache, mittlere und schwierige Einstellungen darzustellen. Oder spielen Sie zum Beispiel in RTS-Spielen Stile wie den Rusher oder den Turtler.

Diese Algorithmen werden eher auf Entwickler angewendet, die ihr Spiel optimieren möchten, als nach dem Start aktiv in den Spielen verwendet zu werden. Wenn Sie die Game Programming Gem-Bücher lesen, finden Sie darin Artikel, die Beispiele dafür enthalten, wie diese für RTS-Spiele verwendet werden, um die KI auszugleichen.

James
quelle