von Julian Dasgupta,

Quo Vadis 2010: Die KI-Herausforderung



Was ist eigentlich Künstliche Intelligenz? Diese Frage stellte Jan Dérer Im Rahmen einer Quo Vadis-Präsentation, die sich um den KI-Bereich drehte und orientierte sich dabei an einer Aussage von Marvin Minsky: Die Beschäftigung mit Methoden zum Lösen von Aufgaben durch Computer, deren Lösen durch einen Menschen Intelligenz voraussetzen würden. Um die Definition von 'Intelligenz' habe sich Minsky allerdings gedrückt, so der Gründer des kleinen berliner Studios binary madness, der außerdem an der Mediadesign Hochschule Berlin tätig ist und nebenbei an seiner Doktorarbeit werkelt.

Die klassische KI basiere auf dem Modell eines endlichen Automaten, in dem es Zustände und Übergänge zwischen Zuständen gibt. Beispielsweise könnte ein Gegner in einem Shooter standardmäßig mit dem Zustand 'Angreifen' starten, bei Munitionsknappheit oder niedriger Lebensenergie aber in die Zustände 'Munition suchen' bzw. 'Healthpack suchen' übergehen und entsprechend handeln.

Neuronale Netze seien eine neuere Alternative, die beispielsweise in Titeln wie Black & White zum Einsatz kamen. Ähnlich wie in ihrem biologischen Ebenbild würde es softwaretechnische Neuronen geben, die Feuern, sobald eine bestimmte Reizschwelle überschritten wird. Im Gegensatz zu den endlichen Automaten könne eine solche KI lernen - man benötige 'nur' eine entsprechende Grundstruktur und passende Trainingsdaten. Die Risiken: Die Wirkung und das Verhalten einer solchen KI sei schwerer abschätzbar. Außerdem könne es Leistungsschwankungen geben, die auffallen. In 20 Partien könne sie problemlos funktionieren, um sich dann in der 21. plötzlich im Kreis zu drehen.

Ein weiteres Problem sei der Mangel an Fachkräften, die sich mit neuronalen Netzen, fallbasiertem Schließen und Fuzzy Logic auskennen würden. Die seien schließlich selbst im Rahmen eines Informatikstudiums in der Regel optional. Oftmals würde es an den Ressourcen fehlen.

Auch die Skalierbarkeit der KI hinsichtlich ihres Schwierigkeitsgrads sei alles andere als simpel. In Quake-Zeiten hätte man das einfach über die Schusspräzision der Gegner und den Schaden, den sie austeilen bzw. einstecken können, gehandhabt. Das sei heute nur noch bedingt sinnvoll. In den meisten Spielen würden die Nutzer eher ein anderes Verhalten der KI erwarten.

Der Spieler würde auch eine faire KI einfordern, die nicht cheatet, sondern unter den gleichen Bedingungen wie der Nutzer agiert. Allerdings müsse es auch 'erfahrene' Gegner geben. Es mache nicht Sinn, dass ein Bot einen Level in einem Shooter jedes Mal komplett erkunden muss, schließlich würden erfahrene Spieler diesen ja auch schon kennen und eine entsprechende Herausforderung suchen.





Auch die 'Glaubwürdigkeit' müsse gewährleistet werden. Der Spieler rechne damit, dass die Gegner auf Reize aus der Umgebung reagieren, auch mal Fehler machen, aber auch aus diesen lernen. Bei den meisten Spielen würde der CPU-Gegenspieler unter den gleichen Bedingungen auch stets die gleiche Handlungsweise verfolgen. Dadurch fehle es an Überraschungsmomenten. Zusätzliche Variabilität und Zufall könnten aushelfen, allerdings auch wieder in herben Schwankungen in Schwierigkeitsgrad resultieren. Die Entwickler müssten hierfür an der Risikoabschätzung des KI-Gegners basteln.

Generell gelte: Nicht jede KI passt zu jedem Genre. Beispielsweise würde das Entwickeln von Lernfähigkeiten viel Zeit kosten, sich aber kaum für einen Shooter oder ein RTS-Spiel eignen, in dem die Gegner im besten Fall nur einige Minuten leben. Für eine generelle RTS-KI, Partymitglieder in einem Rollenspiel oder Endbosse sei das aber durchaus sinnvoll. Hier müsse man aber auch ein Ende definieren, um zu verhindern, dass die Gegner nach einer gewissen Spielzeit in einer Partie unschlagbar gut werden. Auch in Shootern könnten neuronale Netze zum Einsatz kommen, da sie sehr performant seien. Der Großteil des Lernens finde schließlich vor der Veröffentlichung statt - "der Rest ist etwas Multiplikation und Addition." Bei story-lastigen Spielen müsse man aus Gründen der Inszenierung auf handelsübliche Skripte zurückgreifen. Bei Rollenspielen und Simulationen könnte man auch agenten-basierte Systeme implementieren, die auch das Interagieren von NPCs untereinander ermöglichen.

Für KI-Entwickler sei es herausfordernd, eine gute, nicht immer die "optimalste" KI zu produzieren. Ist sie zu gut, fehle dem Spieler das Erfolgserlebnis - der Spielspaß gehe flöten.

Schwierig sei die Bewertung der Qualität einer KI und die Suche nach einer geeigneten Metrik. Die Anzahl der benötigten Versuche oder der empfundene Stress allein würden wohl kaum ausreichen. Außerdem würde Vorwissen die Beurteilung verzerren. Wer bereits Erfahrung in einem Genre hat, würde schließlich anders werten als Neulinge.

Wer sich im KI-Bereich versuchen möchte, dürfe sich mit den folgenden Herausforderungen auseinandersetzen: Performance, Skalierbarkeit und Anpassbarkeit, Einbindung in Augmented Reality-Ansätze und die Kommunikation zwischen Spieler und Computercharakteren. Auch müsse man geeignete Tools entwickeln, die es Entwicklern gestattet, mit fortgeschrittenen KI-Technologien zu arbeiten, selbst wenn sie selbst keine Experten in dieser Hinsicht sind. Squad-KI - also Kameraden die helfen, aber nicht hilfreich sind - sei ebenfalls ein beliebtes Thema. Allgemein müsse man die Vorhersagbarkeit verbessern und Schwankungen besser beherrschen.



Kommentare

kibyde schrieb am
Für mich ist die KI der Unterschied zwischen einem hervorragendem und einem mittelmäßigen Spiel. Im Gegensatz zu oberflächlichen Dingen wie Grafik ist die KI (wie auch Gameplay) in den letzten Jahren nicht unbedingt besser geworden. Viele der heutigen Spiele haben eine ziemlich schlechte KI. Man denke nur an ArmA/ArmA2. Da ist die KI so dumm, dass sie nicht mal eine gerade Straße lang fahren kann.
Skippofiler22 schrieb am
Ihr habt recht. Ganz extrem ist es natürlich gewesen, als es praktisch noch keine KI gab. Wie zum Beispiel in Monkey Island 1-4. Wenn man da was falsches angewählt hat, stand bzw. hockte man sinnlos rum und kam nicht weiter. Alles war streng vorgegeben, auch wenn man unter bis zu 7 Antworten auswählen konnte.
Aber heute und das nicht nur bei "Heavy Rain" kann man genau so mit der "falschen" Antwort als auch mit der "richtigen" Antwort weiter kommen. Bei Dragon Age (Origins) verändert man damit nur den Charakter der Gruppe in "fiese Antihelden" oder in "coole Krieger" oder gar in "schüchterne Pazifisten".
Hauptsache, man kann die Story auch in einem "Offline-Spiel" miterzählen. Nicht nur mit einigen "Hanselen" in MMO(RP)Gs.
crewmate schrieb am
MSentis hat geschrieben:
Scipione hat geschrieben:Sorry, aber das ist Unsinn. Die Spracherkennung wäre in diesem Fall nun wirklich das geringste Problem :wink:
Und weil es so wunderbar einfach ist, gibt es ja auch schon dutzende Spiele mit Sprachsteuerung. Stimmt ja, ich vergaß. Wie wunderbar das klappt, sah man an UT3. Funktioniert, wenn überhaupt, nur mit nordamerikanischem Englisch akzeptabel.
Die Spracherkennung von einzelnen Befehlen (!) ist simpel und funktioniert zufriedenstellend, sofern dem Programm die entsprechenden Bibliotheken vorliegen. Wohingegen das Reden, sprich aufeinander folgende Worte mitsamt Bildung von zusammenhängenden Sätzen wesentlich schwieriger zu verstehen sind für eine Spracherkennung. Und das ist bei weitem das größeren Problem, als die darauf folgende Reaktion.
Ich verweise hier mal auf ALICE.
Bedenke nur mal, wie viele Dialekte und lokale Unterschiede bei der Aussprache von Worten es bereits im Englischen gibt. Allein hier eine zufriedenstellende Bibliothek zu erstellen, die mit den verschiedenen Genres von Spielen zu Rande kommt, allein das wäre ein riesiger Aufwand. Klar, man könnte das Programm an der eigenen Stimme trainieren lassen, aber ich hab nicht wirklich Lust, vor dem Spielen stundenlang meinem Spiel meine Sprache beizubringen. Insbesondere, wenn ich allein durch meine Aussprache oder Tonhöhenänderung Dinge wie Ironie und Sarkasmus zum Ausdruck bringen will. Und das auch wieder für alle Dialekte einer Sprache.
Die Interpretation ist da natürlich ein anderes Blatt, aber wie gesagt, dass ist wesentlich einfacher zu bewerkstelligen, insb. wenn man dem NPC einen Pool an Antworten zur Verfügung stellt und er nicht darüber nachdenken muss.
Es muss einfach zum Konzept passen.
Wie in Seaman oder Endwar. Besonders in Seaman war Konversation mit dem Seaman das Hauptspielelement.
In den meisten Spielen sind Multi-Choice Dialoge eh nur Schein.
Am Ende kommt man doch zu der vom Designer vorgesehenen Lösung.
Ich musste bei "Golden Sun"...
MSentis schrieb am
Scipione hat geschrieben:Sorry, aber das ist Unsinn. Die Spracherkennung wäre in diesem Fall nun wirklich das geringste Problem :wink:
Und weil es so wunderbar einfach ist, gibt es ja auch schon dutzende Spiele mit Sprachsteuerung. Stimmt ja, ich vergaß. Wie wunderbar das klappt, sah man an UT3. Funktioniert, wenn überhaupt, nur mit nordamerikanischem Englisch akzeptabel.
Die Spracherkennung von einzelnen Befehlen (!) ist simpel und funktioniert zufriedenstellend, sofern dem Programm die entsprechenden Bibliotheken vorliegen. Wohingegen das Reden, sprich aufeinander folgende Worte mitsamt Bildung von zusammenhängenden Sätzen wesentlich schwieriger zu verstehen sind für eine Spracherkennung. Und das ist bei weitem das größeren Problem, als die darauf folgende Reaktion.
Ich verweise hier mal auf ALICE.
Bedenke nur mal, wie viele Dialekte und lokale Unterschiede bei der Aussprache von Worten es bereits im Englischen gibt. Allein hier eine zufriedenstellende Bibliothek zu erstellen, die mit den verschiedenen Genres von Spielen zu Rande kommt, allein das wäre ein riesiger Aufwand. Klar, man könnte das Programm an der eigenen Stimme trainieren lassen, aber ich hab nicht wirklich Lust, vor dem Spielen stundenlang meinem Spiel meine Sprache beizubringen. Insbesondere, wenn ich allein durch meine Aussprache oder Tonhöhenänderung Dinge wie Ironie und Sarkasmus zum Ausdruck bringen will. Und das auch wieder für alle Dialekte einer Sprache.
Die Interpretation ist da natürlich ein anderes Blatt, aber wie gesagt, dass ist wesentlich einfacher zu bewerkstelligen, insb. wenn man dem NPC einen Pool an Antworten zur Verfügung stellt und er nicht darüber nachdenken muss.
3nfant 7errible schrieb am
MSentis hat geschrieben:
fridolin85 hat geschrieben:Weckt mich wenn ich endlich in einem Rollenspiel - ähnlich wie Facade- selbst meine Antworten eingeben kann ohne vorgefertigte Optionen auswählen zu müssen, und die NPC's verhalten sich dementsprechend. Wie oft wollte ich zu Morrigan sagen: "Halts Maul, Schlampe und mach mir was zu essen!"
Wenn du mit eingeben schreiben meinst: dann ist das relativ leicht zu bewerkstelligen, man muss ja nur nach bestimmten Keywords/-elements suchen und dementsprechend die passende Antwort daraus bauen.
Wenn du hingegen mit den NPCs sprechen willst, so wird das ein ziemlich langer Schlaf. Problem an der Sache ist zum einen die Individualität jeder Stimme aufgrund der Stimmbänder. Da wird nicht jede Stimme korrekt erkannt. Ein weiteres Problem ist, dass die Aussprache von jedem Menschen anders ist und nicht jeder ordentlich spricht. Erschwerend kommt, dass Spracherkennung relativ speicher- und rechenintensiv ist, insb. wenn man mehrere Sprachen bzw. Dialekte erkennen soll. Allein im deutschsprachigen Raum sind das schon einige, die man berücksichtigen müsste, denn leider spricht nicht jeder Hochdeutsch. Da gibt es noch bayrisch, schwäbisch usw. Für all dass müsste man die entsprechenden Bibliotheken anfertigen. Am einfachsten wäre es, wenn ein Unternehmen sich dahinter klemmen würde und die fertigen Pakete dann à la SpeedTree den Entwicklern zur Verfügung stellen würde. Darauf wird es wohl auch hinauslaufen...
Sorry, aber das ist Unsinn. Die Spracherkennung wäre in diesem Fall nun wirklich das geringste Problem :wink:
schrieb am