Kognitive Systeme A new architecture and 3D Visualisation for Psi

Transcrição

Kognitive Systeme A new architecture and 3D Visualisation for Psi
Master-Projekt Kognitive Systeme — Wintersemester
2010/11
zum Thema
Kognitive Systeme
Otto-Friedrich Universität Bamberg
Professur für Kognitive Systeme
http://www.uni-bamberg.de/kogsys/
Projektarbeit zum Thema
A new architecture and 3D
Visualisation for Psi-mice
Michael Munz
Zusammenfassung. Die Psi Theorie ist eine psychologische Gesamttheorie, die das menschliche Verhalten aufgrund von Bedürfnissen und
Motiven zu erklären versucht. Betrachtet werden hierbei Kognition, Emotion und Motivation als gegenseitig abhängige Komponenten. Nicht nur
kognitive Prozesse spielen dabei ein Rolle, sondern auch psychische und
seelische Prozesse. Ein zentraler Punkt der Theorie sind die Bedarfskesseln, mit deren Hilfe versucht wird, das menschliche Verhalten zu
erklären. Die Theorie existiert bereits in Form einer Computersimulation. Die graphische Darstellung der Simulation soll dabei verbessert und
auf einen aktuellen Stand gebracht werden. Dafür müssen eine Simulationswelt (Psi-Welt) und entsprechende Charaktere (Psi-Maus) modelliert
werden. Die ursprüngliche Implementierung der Theorie soll nur im Bezug auf notwendige Schnittstellen hin modifziert werden, ansonsten aber
unverändert bleiben.
Inhaltsverzeichnis
1
2
3
4
5
6
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Motivation & Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Artifical Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Psi Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bedarfskessel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bedürfnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Motivdynamik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sensorische Schemata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kognitive Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 MicroPsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 The society of mind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Game Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Überblick über aktuelle Game Engines . . . . . . . . . . . . . . . . . . . . . . .
5.2 Modellierung der Psi-Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modellierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Modellierung der Psi-Welt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Psi-Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Psi-Welt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
6
8
8
9
10
11
11
13
13
14
16
16
17
18
18
21
23
27
27
27
A new architecture and 3D Visualisation for Psi
1
1.1
3
Einleitung
Überblick
Die Arbeit, die in diesem Paper vorgestellt wird, entstand aus einem Projekt in
Zusammenarbeit mit der Theoretischen Psychologie. Für die Psi Theorie musste
eine neue graphische Ausgabe mit Hilfe einer Game Engine entwickelt werden.
Bei der Psi Theorie handelt es sich um eine kognitive Architektur, mit dem Ziel,
das menschliche Verhalten möglichst realistisch nach zu modellieren, um ein besseres Verständnis über das Zusammenwirken und die Funktionsweise beteiligter
Komponenten zu erlangen. Die Theorie ist als Simulation implementiert, für
die eine rudimentäre graphische Ausgabe existiert, jedoch nicht mit modernen
Visualisierungstechniken vergleichbar ist.
1.2
Motivation & Hintergrund
Die aktuelle Simulation der Psi Theorie basiert auf einer Delphi Implementierung. Die graphische Ausgabe erfolgt momentan noch manuell, das heißt, alle
Berechnungen die hierzu erforderlich sind, werden vom Programm selbst durchgeführt. Daraus ergeben sich mehrere Nachteile. Die Qualität der Graphik wurde
bisher sehr einfach gehalten, da das Primärziel die Modellierung der Psi Theorie
war. Für den Graphikanspruch, der sich aus Präsentations- und Vorführungszwecken ergibt, ist die bisherige Graphik zu primitiv aufgebaut und kann mit
dem aktuellen Graphikverständnis nicht mithalten. Als Referenzpunkt dient die
Graphik von neueren Spielen. Die größten Probleme ergeben sich allerdings direkt aus der manuellen Implementierung der Graphik. Zum einen ist eine manuelle Umsetzung sehr zeitaufwändig und zum anderen ist dieser Ansatz sehr
fehleranfällig. Dies führt zu einer Ineffizienz in der Simulation. Vor allem bei
einer höheren Population von Agenten führt dies zu einem signifikanten Performanceverlust. Um die Graphikberechnungen zukünftig effizienter zu gestalten,
soll eine Game Engine verwendet werden. Die Game Engine ist dabei eine Ebene höher als die Implementierung der Psi Theorie anzusiedeln. Die Beziehung
zwischen der Psi Theorie und der Game Engine entspricht einer bidirektionalen
Kommunikation. Die Daten für die Simulation werden nach dem Push-Prinzip‘
’
von Psi-Implementierung an die Game Engine weitergegeben. Der Rückkanal
von der Game Engine ausgehend dient als Feedback-Kanal. Dies ist notwendig,
um Daten aus der Game Engine an Psi übermitteln zu können. Verdeutlicht
wird dies in der nachfolgenden Abbildung 1.
Die Verwendung einer Game Engine bringt wesentliche Vorteile mit sich.
Vor allem die graphische Ausgabe profitiert davon, da die Berechnungen für die
Darstellung hierfür zukünftig von der Engine übernommen werden können.
Ziel des Projektes ist es, mit Hilfe einer geeigneten Game Engine eine ansprechende graphische 3D-Welt zu modellieren, die aktuellen Graphikbedürfnissen
entspricht. Dabei muss beachtet werden, dass die aktuelle Version der Psi Theorie
weiterhin verwendet werden soll, d. h. sie sollte nicht in einem größeren Umfang
verändert werden. Wie bereits erwähnt handelt es sich hierbei um eine Delphi
4
Michael Munz
Abb. 1. Die Game Engine ist über der ursprünglichen Delphi-Implementierung positioniert.
Implementierung. Um eine Kommunikation zwischen der Psi Theorie und der
Game Engine zu ermöglichen, müssen unter Umständen geeignete Schnittstellen hierfür modelliert und bereitgestellt werden. Die Welt soll mit Psi-Mäusen
bevölkert werden, die unterschiedliche Animationen aufweisen. So sollen unter
anderem Animationen für laufen und fressen modelliert werden, um diese dann
in entsprechenden Situationen ausführen zu können.
Aufbau der Arbeit In Kapitel 1 wird zuerst ein Überblick und den Hintergrund
für diese Arbeit gegeben. Die Psi Theorie beschäftigt sich mit der Frage, was
menschliches Verhalten ausmacht und versucht die Mechanismen mit Hilfe einer
Simulation zu beantworten. Die graphische Ausgabe soll mit einer Game Engine
als 3D Graphik gerendert werden und auf das aktuelle Niveau angehoben werden.
Dafür müssen eine Simulationswelt und Charaktere modelliert werden.
Kapitel 2 gibt einen Einblick in den Bereich Artifical Life (ALife), um ein
besseres Verständnis für die Psi Theorie zu erhalten, da die Psi Theorie Überschneidungen mit diesem Ansatz aufweist. Bei Artifical Life handelt es sich um
einen Forschungsbereich, bei dem die Frage, was Leben ist, aus unterschiedlichen
Blickwinkeln betrachtet wird. Artifical Life versucht synthetisch Lebensformen
zu erschaffen, die sich in zwei unterschiedlichen Ansätzen ausprägen: Dry und
Wet ALife. Der Bereich, der in dieser Arbeit von Bedeutung ist, ist Dry ALife.
Dry ALife versucht Leben wird mit Hilfe von Computermodellen und Simulationen zu modellieren.
Die Psi Theorie wird in Kapitel 3 vorgestellt. Zur Erklärung menschlichen
Verhaltens werden Motivation, Emotion und Kognition nicht als unabhängige
Komponenten, sondern als zusammenhängende und sich gegenseitig beeinflussende Elemente betrachtet. Wegen dem Einbeziehen mehrerer Elemente handelt
es sich bei der Psi Theorie um eine sogenannte integrierende Theorie. Zentral für
die Theorie sind die verschiedenen Bedarfskessel, die einen wesentlichen Beitrag
zur Erklärung menschlichen Verhaltens liefern.
Da die Psi Theorie auch eine kognitive Architektur darstellt, werden im Kapitel 4 zwei alternative kognitive Architekturen vorgestellt. Bei den Architekturen
handelt es sich um MicroPsi, das in Abschnitt 4.1 dargestellt wird, und um The
society of mind (Abschnitt 4.2). Bei MicroPsi handelt es sich um eine alter-
A new architecture and 3D Visualisation for Psi
5
native Umsetzung der Psi Theorie, die vor allem eine informatische Sichtweise
einnimmt. Die Kernthese bei Society of mind ist, dass intelligentes Verhalten
aus dem Zusammenschluss von trivialen Elementen entsteht. Der menschliche
Verstand wird als eine Komposition von Prozessen betrachtet. Betrachtet man
die Prozesse einzeln, weisen sie kein intelligentes Verhalten auf. Erst im Verbund
entsteht ein Effekt, der als intelligentes Verhalten interpretiert werden kann.
Das Kapitel 5 stellt die im Rahmen des Projekts verwendeten Tools und
dessen Realisierungen vor. Da für die graphische Darstellung eine Game Engine
verwendet werden soll, muss zuerst der Begriff Game Engine genauer erläutert
werden, siehe hierzu Abschnitt 5.1. In einem Überblick werden vier aktuelle
Engines gegenübergestellt, die für die Umsetzung näher betrachtet wurden. Der
Abschnitt 5.2 beschäftigt sich mit der Modellierung von Charakteren. Bei der
Modellierung wurden psychologische Erkenntnisse berücksichtigt, die Einfluss
auf die Akzeptanz von Spielen haben. Die verschiedenen Animationstechniken
für 3D Charakteranimationen werden vorgestellt und es wird erläutert, welche
für Animation verwendet wurden. Die Ergebnisse aus der Modellierung der Welt
bzw. Levels werden in Abschnitt 5.3 vorgestellt.
6
2
Michael Munz
Artifical Life
Betrachtet man Lebewesen auf der untersten Ebene, stellt man fest, dass sie im
Grunde nur aus Molekülen bestehen. Wie kann aber aus einem Stoff, der an sich
nicht lebt‘ sich Leben entwickeln? Mit dieser Frage beschäftigt sich Artificial
’
Life (ALife). Es wird versucht zu erklären, wie Leben aus nicht-lebenden Stoffen
entsteht, wo der Übergang ist und wie Leben mit dem Geist zusammenhängt
[1, The connection between life and mind]. Langton beschreibt Artifical Life wie
folgt: Artificial Life is a field of study devoted to understanding life by att”
empting to abstract the fundamental dynamical principles underlying biological
phenomena, and recreating these dynamics in other physical media - such as
computers - making them accessible to new kinds of experimental manipulation
and testing.“ [2, Seite XIV]. Artificial Life versucht synthetisches (künstliches)
Leben in Form von Computersystemen und -programmen zu erschaffen. Es werden dabei zwei Ziele verfolgt: mit Hilfe von Computermodellen wird versucht, die
grundlegenden Elemente des Lebens nachzuempfinden, also das was das Leben
ausmacht. Und zweitens wird erforscht, ob es möglich ist künstliches Leben in
Medien - wie Computerprogrammen - virtuell kreieren zu können, [3, Introduction]. Bei Artificial Life handelt es sich um ein interdisziplinäres Forschungsgebiet,
das sich unter anderem auch mit Bereichen aus der Informatik überschneidet,
wie etwa Artificial Intelligence und Machine Learning, siehe [1, The orgins and
methodology of artificial life] und [4, 1 Introduction].
Man unterscheidet bei Artifical Life zwischen verschiedenen synthetischen
Ansätzen [1]: Soft ALife ist die rein digitale Nachbildung von lebensähnlichem
Verhalten in Softwareprogrammen, wie etwas die Modellierung von Leben in
Computersimulationen oder anderen vergleichbaren Ausprägungen. Bei Hard
ALife wird der Ansatz auf die Hardwareebene verlagert und mit Hilfe von Hardwareimplementierungen wird versucht, lebensähnliche Systeme nachzuempfinden. Die beiden Ansätze werden in der Literatur auch als Dry ALife bezeichnet
[3, Introduction]. Die Untersuchung existiert nur auf einer rein virtuellen Ebene. Der Gegensatz zu Dry ALife ist Wet ALife. Hier greift man auf biologische
Materialien zurück, um künstlich lebensähnliche Systeme herzustellen [3, Introduction]. Im Bezug auf die Psi Theorie ist allerdings nur Soft ALife von weiterer
Bedeutung.
Die ALife Forschung wird in Zukunft immer wichtiger werden für die Unterhaltungsbranche. Virtuelle Lebewesen (auch als Agenten bezeichnet) spielen
eine immer wichtigere Rolle unter anderem in Videospielen oder Expertensystemen für anspruchsvolle Interaktionen mit Nutzer. Aber auch in der Forschung
kann Artifical Life wichtige Hinweise liefern und zu einem besseren Verständnis
beitragen, für das was wir als Leben‘ bezeichnen. Ein Problem, mit dem ALife
’
allerdings zu kämpfen hat, ist das Modellieren von Leben. Die Nachbildung von
Lebensformen kann aber weitgehend vereinfacht werden, wenn man auf mathematische und rechengestützte Hilfsmittel zurückgreift. Die Schwierigkeiten bei
der Modellierung kognitiver Fähigkeiten, die ähnlich hoch entwickelt sind wie
bei denen vom Menschen, bleibt aber trotzdem erhalten. Ein weiteres Problem
ergibt sich bei der Evaluierung von Simulationsergebnissen von Soft ALife An-
A new architecture and 3D Visualisation for Psi
7
wendungen. Die Ergebnisse sind teilweise nicht vorhersagbar und müssen durch
Nutzereindrücke auf Plausibilität überprüft werden.
8
Michael Munz
3
Psi Theorie
Die Psi Theorie beschäftigt sich mit der menschlichen Handlungsregulation, mit
deren Hilfe erklärt werden soll, wie Menschen aufgrund von Bedürfnissen und
Motiven handeln. Die Theorie betrachtet dabei nicht nur die Ebene der Kognition, sondern versucht vielmehr zu erklären, welchen Einfluss auch Emotionen
und Motivationen bei der Durchführung von Handlungen haben. Die Basis der
Theorie bilden die drei Komponenten Kognition, Emotion und Motivation, um
menschliches Verhalten zu erklären, siehe hierzu [5, Einleitung]. Nach Dörner
beschäftigt sich die Kognitive Psychologie zu stark nur mit der Kognitiven Ebene, d. h. nach Prozessen, die zu neuen Erkenntnissen und Erfahrungen beitragen
(Bewusstseinsebene), vgl. mit [5, Einleitung]. Solche Prozesse sind zum Beispiel
die Art und Weise wie man auf Gedächtnisinhalte zugreift oder speichert. Aber
dabei werden gerade menschliches Verhalten und Handlungen wesentlich vom
emotionalen Zustand und der Motivation bestimmt bzw. beeinflusst. Aus diesem
Grund berücksichtigt die Psi Theorie neben der Kognition zusätzlich Emotion
und Motivation. Wegen der Integration zusätzlicher Komponenten spricht man
hier auch von einer integrierenden Theorie, siehe [5, Einleitung].
Das Ziel der Theorie ist nicht nur kognitive Prozesse als berechenbare Funktionen darzustellen, sondern vielmehr soll gezeigt werden, dass alle psychischen
und seelischen Prozesse als berechenbare Funktionen abbildbar sind, [5, Einleitung]. Gemeint ist damit, dass zum Beispiel Denken, Handeln und Fühlen sich
aus deterministischen Merkmalen ableiten lassen, die Dörner mit einem Steuerungssystem vergleicht, vgl. hierzu [6, Einleitung]. In der einfachsten Form besteht ein Steuerungssystem oder Regelkreis aus zwei Komponenten: dem Regler
und der Regelstrecke, siehe hierzu [6, Leib und Seele: Regelung] und [7, 2.1.3
Steuerungs- und Regelungssysteme]. In der Abbildung 2 ist der Aufbau eines
einfachen Regelkreises zur Verdeutlichung dargestellt. Ein Regelkreis besteht
aus Input- und Outputgrößen. Man bezeichnet ein solches System deshalb auch
als Input-Output-System. Der Regler erhält zwei Größen als Input. Zum einen
die Sollgröße (hier als Führungsgröße bezeichnet) und zum anderen die Istgröße
(Regelgröße). Die Führungsgröße gibt den Sollwert vor, die der Regler erreichen soll. Die Istgröße ist der aktuelle Wert der Regelstrecke. Sie ist zum einen
der Output des Systems, dient aber auch als Feedback für den Regler selber
wieder, da der Regler ständig den Soll- und Istwert vergleichen muss. Die Abweichung zwischen Soll- und Istwert wird durch die Stellgröße beschrieben, mit
der der Regler die Regelstrecke beeinflusst. Auf die Regelstrecke hat aber noch
eine zweite Größe Einfluss, nämlich die Störgröße, die von außen auf das Regelsystem einwirkt. Kennt man alle diese Größen, kann man Aussagen darüber
machen, wie sich ein System verhält bzw. welchen Zustand es einnehmen wird.
Man kann aber auch aus einem Zustand Rückschlüsse ziehen, welchen Wert die
einzelnen Größen in einem solchen System annehmen müssen, damit überhaupt
dieser Zustand erreicht wird.
Bedarfskessel Überträgt man den Regelkreis auf die Psi Theorie, wird der
Regler durch einen Bedarfskessel repräsentiert. Die Sollgröße gibt die maximale
A new architecture and 3D Visualisation for Psi
9
Abb. 2. Regelkreis. Verändert übernommen aus [7, 2.1.3 Steuerungs- und Regelungssysteme, Bild 2-10, S. 26]
Füllhöhe an, bei der ein Bedürfnis maximal befriedigt ist und somit auch kein Bedarf vorhanden ist. Die Istgröße ist ein Wert für die aktuelle Bedürfnisstärke und
beeinflusst die Motivauswahl. Die Stellgröße ist der tatsächliche Bedarf und ist
ein Bedürfnisindikator für die Bedürfnisstärke. Je größer die Differenz zwischen
Soll- und Istwert, desto größer wird die Intensität nach Bedürfnisbefriedigung.
Die Stellgröße gibt somit an, wie stark ein Bedürfnis ist. Im Extremfall kann
ein Bedürfnis so stark in den Vordergrund rücken, dass andere Bedürfnisse verdrängt werden. Dies ist durchaus erwünscht, da auch Menschen immer verschiedene Bedürfnisse zur gleichen Zeit haben und so die Bedürfnisse untereinander
konkurrieren. Die Abbildung 3 veranschaulicht nochmal die Zusammenhänge
zwischen einem Regelkreis und einem Bedarfskessel. Aus didaktischen Gründen
kann hier nicht auf die einzelnen Elemente des Bedarfskessels eingegangen werden bzw. dargestellt werden. Detailliertere Informationen zum Regelkreis und
der Modellierung der Bedarfskessel finden sich aber unter [6, 1. Leib und Seele:
Lebt ein Kühlschrank?].
Bedürfnisse Welche Bedürfnisse werden nun über Bedarfskessel modelliert?
In der Psi Theorie existiert nicht nur ein Bedarfskessel, sondern mehrere. Insgesamt gibt es fünf Kessel zur Repräsentation unterschiedlicher Bedürfnisse.
Die Bedürfnisse werden in zwei Kategorien unterteilt: materielle Bedürfnisse
und informationelle Bedürfnisse, siehe [8, 2.1 Bedarf, Bedürfnis, Motiv] und
[6, 5. Bedarf, Bedürfnisse und Motive - Die Struktur eines Motives]. Materielle
Bedürfnisse sind existenzielle Bedürfnisse, also Bedürfnisse damit man überhaupt (über)leben kann. Zu dieser Kategorie zählen das Nahrungsbedürfnis und
Flüssigkeitsbedürfnis. Man könnte hier auch von Hunger und Durst eines Lebewesens sprechen. Die zweite Kategorie ist das Bedürfnis nach Informationen.
Hierzu zählen Bestimmtheit, Kompetenz und Affiliation. Bestimmtheit ist das
Ausmaß mit der man sich die Umwelt zu erklären versucht und bestimmte Ereignisse oder Geschehnisse zum Beispiel durch das eigene Handeln vorhersagbar werden. So führen zum Beispiel Situationen, in denen das eigene Verhalten
10
Michael Munz
Abb. 3. Bedarfskessel in Form eines Regelkreises modelliert. Regler und Regelstrecke
sind als Black-Box dargestellt.
zum angestrebten Ziel führen oder bestimmte Geschehnisse erwartet wurden,
zu einer hohen Bestimmtheit. Kompetenz beschreibt das Ausmaß Probleme anzugehen und zu lösen. Affiliation ist ein Bedürfnis nach sozialen Kontakten,
nach Freundschaft und Gruppenzugehörigkeit. Das Aussenden und Empfangen
von Legitimitätssignalen (L-Signalen) zeigt an, dass bestimmte Handlungen oder
bestimmtes Verhalten innerhalb einer Gruppe geduldet wird - legitim ist. Die
einfachste Form von Legitimitätssignalen ist die körperliche Kontaktaufnahme.
Weitere Informationen hierzu finden sich unter [6, 5. Bedarf, Bedürfnisse und
Motive - Das Streben nach Legitimität], [5, 1.2 Psychische Instanzen], [8, 2.1
Bedarf, Bedüfnis, Motiv] und unter [9, 6.2.1 Bestimmtheit und Kompetenz].
Motivdynamik Ist ein Bedürfnis vorhanden, dann existiert auch immer ein
Motiv. Das Motiv wird durch einen Motivator aktiviert. Je größer der Bedarf,
d. h. je größer die Abweichung des Istzustands vom Sollzustand, umso aktiver
wird der Motivator, da er die Bedarfssignale akkummuliert. Die Aktiviertheit des
Motivators zeigt sich im menschlichen Verhalten darin, dass versucht wird, solche Handlungen auszuführen, die zu einer vollständigen Bedürfnisbefriedigung
führen oder zumindest zu einer teilweisen Befriedigung beitragen. Wie bereits
erwähnt, können unterschiedliche Bedürfnisse in Konkurrenz stehen. In einem
solchen Fall entscheidet die Motivstärke eines Bedürfnisses, welches Motiv aktuell zu einer bestimmten Handlung oder Verhaltensweise führt. Ein Bedürfnis
kann so durch eine sehr starke Motivstärke andere Bedürfnisse verdrängen. Über
die Zeit gesehen, führt diese zu einer dynamisch wechselnden Motivauswahl. Man
spricht hier von einer Motivdynamik, siehe [5, Einleitung]. Nach Dörner ist die
Motivdynamik ein wichtiger Bestandteil der Theorie, da man die Motive von
Menschen kennen muss, um zu verstehen, aus welchem Grund jemand eine bestimmte Handlung ausführt oder ein bestimmtes Verhalten zeigt, [5, Einleitung].
Weitere Informationen hierzu finden sich unter [5, Einleitung], [8, 2.1 Bedarf,
A new architecture and 3D Visualisation for Psi
11
Bedürfnis, Motiv] und [6, 5 Bedarf, Bedürfnisse und Motive - Die Struktur eines
Motivs].
Sensorische Schemata Der Motivator ist darüber hinaus mit sensorischen
Schemata im Gedächtnis verbunden. Beim Menschen werden solche Verbindungen im Laufe des Lebens zum Beispiel aus Erfahrungen und Lernen gebildet. In
der Psi Theorie werden die sensorischen Schemata über ein sogenanntes Proto’
kollgedächtnis‘ erworben, vgl. [6, 2 Hilberts Krawatte - Das Weltbild]. Dieses
speichert alle Geschehnisse und Handlungen ab. Im Laufe der Zeit werden diese
jedoch immer abstrakter, da Verknüpfungen sozusagen vergessen‘ werden und
’
sich auflösen. Aus zusammenhängenden Ereignissen werden so abstrakte und flache Erinnerungen, die nur noch bruchstückhaft und wenig detailreich vorhanden
sind. Aber warum benötigt man überhaupt sensorische und abstrakte Schemata?
Der Mechanismus zur Erreichung von Abstraktheit ist überaus wichtig, da auch
das menschliche Gedächtnis auf diesem Prinzip aufbaut. Sensorische Schemata
werden zur Identifizierung und zur Kategorisierung benötigt, sie spielen bei der
Wahrnehmung eine entscheidende Rolle, [6, 3. Die Welt ist alles, was der Fall ist].
In der Natur gleicht nie ein Objekt exakt dem anderen, es gibt immer Variationspunkte bei Eigenschaften. Das Prinzip der Abstraktheit ermöglicht es, ähnliche
Objekte in einer Welt zwar als verschieden wahrzunehmen, aber dennoch als
gleich zu klassifizieren. Mit Hilfe von Abstraktheit passen die sensorischen Schemata somit auf viele Objekte und nicht nur auf ein konkretes, [6, 2. Hilberts
Krawatte - Das Weltbild] und [5, 2.6 Abstrakte Schemata]. Erworbenes Verhalten und erlernte Schemata können so allgemein angewandt werden, siehe [6, 2.
Hilberts Krawatte - Das Weltbild]. Ohne Abstraktheit wäre es nicht möglich
auf bereits erworbene Erfahrungen zurückzugreifen und auf andere Objekte zu
übertragen.
3.1
Umsetzung
Die Psi Theorie ist durch die Betrachtung von Kognition, Emotion und Motivation eine psychologische Gesamttheorie, [8, Einleitung]. Sie versucht eine Erklärung für den Zusammenhang und die Interaktion dieser verschiedenen Prozesse zu finden. Da die Theorie eine große Anzahl an Behauptungen über die
Beschaffenheit dieses Zusammenspiels aufweist, ist sie sehr komplex. Eine formale Überprüfung wäre deshalb sehr schwierig. Die Psi Theorie ist aus diesem
Grund als ein Computermodell (Simulation) realisiert, [5, 6.1 Wie prüft man eine komplexe Theorie?] und [8, 4. Was soll’s?]. Eine solche Umsetzung hat einige
Vorteile. Zum einen muss die Theorie exakt formuliert werden, da die Modellierung in Form einer Programmiersprache notwendig ist. Ein weiterer Vorteil - der
sich unmittelbar aus einer Simulation ergibt - ist die Anschaulichkeit der Theorie.
Die Verhaltensweisen in der Simulation können unmittelbar mit menschlichem
Verhalten verglichen werden. Und schließlich kann man anhand einer Simulation
überprüfen, in welchem Ausmaß ein künstliches System mit einem natürlichen
System übereinstimmt, [5, 6.1 Wie überprüft man eine komplexe Theorie?].
12
Michael Munz
Da die Theorie Erklärungen für das menschliche Verhalten liefern soll und
über das Zusammenspiel von Kognition, Emotion und Motivation, muss sie in
geeigneter Form in der Simulation dargestellt werden. Für die Repräsentation menschlichen Handelns wird als Metapher daher eine Maus verwendet. Die
Übertragung der Theorie in Form einer Maus dient zum einen der Anschaulichkeit und zum anderen wird die Verständlichkeit und Plausibilität dadurch enorm
erhöht. Prinzipiell wäre jedoch eine beliebige Form denkbar. Um Mißverständnisse mit einer physikalischen Maus zu vermeiden, wird im Folgenden von einer
Psi-Maus gesprochen, die rein virtuell existiert. Die Psi-Maus ist autonom, ihre
Handlungen und ihr Verhalten werden allein aus dem Zusammenwirken der einzelnen Komponenten der Theorie bestimmt. Sie hat Bedürfnisse wie zum Beispiel
Nahrungsbedürfnis und Wasserbedürfnis, nimmt ihre Umwelt - in der sie lebt war und muss lernen mit neuen Situationen zurechtzukommen. Solche Ansätze
werden im Bereich des künstlichen Lebens (Artificial Life) verfolgt, siehe hierzu
den Abschnitt 2. Die Abbildung 4 zeigt einen Ausschnitt der aktuellen Welt, in
der die Psi-Maus lebt. Die Psi-Maus ist unten links zu sehen.
Abb. 4. Der Ausschnitt zeigt die aktuelle Simulation in der Weltsicht.
A new architecture and 3D Visualisation for Psi
4
13
Kognitive Architekturen
Im folgenden Abschnitt wird eine Auswahl an alternativen kognitiven Architekturen zur Psi Theorie vorgestellt, um ein breiteres Bild über den aktuellen
Forschungsstand zu erhalten. Mit kognitiven Architekturen wird versucht kognitive Fähigkeiten mit Hilfe eines Computermodells zu erklären. Das Ziel solcher
Architekturen ist es, ein Verständnis für mentale Prozesse zu erhalten, indem
versucht wird, diese anhand eines Modells nachzubilden. Bekannte Vertreter kognitiver Architekturen sind unter anderem SOIR und ACT, es existieren aber
auch andere Ansätze zur Modellierung menschlicher Kognition. Zwei dieser weniger bekannten Ansätze sind MicroPsi und The society of mind, die in diesem
Kapitel vorgestellt werden.
4.1
MicroPsi
MicroPsi ist eine kognitive Architektur und basiert auf weiten Teilen auf der
in Kapitel 3 vorgestellten Psi Theorie. Sie beschreibt das Zusammenwirken von
Kognition, Motivation und Emotion anhand der Psi Theorie [10]. Allerdings unterscheidet sich MicroPsi von der ursprünglichen Theorie in einigen Punkten und
nutzt zum Teil andere Paradigmen oder Ansätze. Dies ist auf unterschiedliche
Sichtweisen zurückzuführen. Während die Psi Theorie auf einer psychologischen
Sichtweise beruht, nimmt MicroPsi zum Großteil eine informatische Sichtweise
ein [11, Introduction]. Diese Sichtweise spiegelt sich in der Umsetzung der Theorie wieder. Zum einen ist die Konzeption und Implementierung von MicroPsi das
Ergebnis eines Softwareentwicklungsprozesses und zum anderen wird auf Konzepte aus der Informatik zurückgegriffen, was im Kontrast zur ursprünglichen
Psi Theorie steht. Das Endprodukt dieses Prozesses ist eine agentenbasierte Architektur, die aus mehreren Modulen aufgebaut ist. Eine Architekturübersicht
wird hier nicht gegeben, statt dessen sei auf [10, Figure 8.1 Overview of MicroPSI
agent architecture] verwiesen.
Ein konzeptioneller Unterschied zur Psi Theorie ist, dass bei MicroPsi das
Gedächtnis unterteilt ist in Kurz- und Langzeitgedächtnis. Die Psi Theorie macht
hier keine explizite Unterscheidung. Die Aufgabe des Langzeitgedächtnisses ist
die Speicherung von Ereignissen über einen längeren Zeitraum. Gelernte Konzepte und abstrakte Schemata, welcher der Agent im Laufe seines Lebens nach
erwirbt, werden ebenfalls hier abgelegt. Das Erwerben von Konzepten geschieht
unter anderem durch Interaktion mit der Umwelt in der der Agent lebt. Das
Kurzzeitgedächtnis beinhaltet aktuelle Wahrnehmungsinhalte, die momentanen
Ziele des Agenten und seine zukünftigen Pläne. Geschehnisse und Objekte werden im Kontext der aktuellen Situation betrachtet. Nach Bach hat die Unterscheidung zwischen Lang- und Kurzzeitgedächtnis Vorteile, siehe hierzu [10, 8
MicroPsi architecture]. Auf Gedächtnisinhalte kann über das Kurzzeitgedächtnis schneller zugegriffen werden und somit auch auf neue Situationen schneller
reagiert werden. Neue Hypothesen über die Welt können im Kurzzeitgedächtnis
aufgebaut und getestet werden, bevor sie in das Langzeitgedächtnis übernommen
14
Michael Munz
werden. Der Zugriff auf das Langzeitgedächtnis wird seltener und Gedächtnisinhalte werden nicht komprimitiert [10, 8 MicroPsi architecture].
Die Konfiguration des kognitiven Systems‘ wird aus mehreren internen und
’
externen Verhaltensmodulen bestimmt. Einflussgrößen auf die Konfiguration haben zum Beispiel der Erregungszustand, der Auflösungsgrad und die Reizschwelle. Diese Größen haben Einfluss unter anderem auf die Planung, auf das Verhalten, auf die Wahrnehmung des Agenten und welche Gedächtnisinhalte zugreifbar
sind. Die Aktionen des Agenten werden über interne Module geregelt. Sie behandeln die höheren kognitiven Prozesse und sind von der Motivation abhängig.
Die externen Module behandeln die Prozesse auf einer niedrigeren Ebene und
bilden die Aktiviertheit von Neuronen ab. Ein Beispiel für externe Aktivität sind
unter anderem die Wahrnehmungsprozesse des Agenten. Die Repräsentationen
(concept nodes), die sich aus der Wahrnehmung ergeben, werden im Gedächtnis
gespeichert. In der Psi Theorie werden diese als quads bezeichnet. Der Aufbau
der concept nodes ist unter [10, 8.3.1 Definition of basic elements] dargestellt.
4.2
The society of mind
Society of mind beschäftigt sich mit der Frage, wie Intelligenz entsteht. Kann
Intelligenz aus trivialen Bauteilen geformt werden? Minsky vertritt die These,
dass der menschliche Verstand aus vielen kleinen Prozessen besteht [12, 2.6 Are
people machines?]. Diese Prozesse sind für sich selbst betrachtet sehr einfach
aufgebaut und besitzen kein intelligentes Verhalten. Die Prozesse werden in der
Theorie als agents‘ (Agenten) bezeichnet [12, The agents of the mind]. Einzelne
’
Agenten können nur einfache Aufgaben übernehmen. In einer Gruppe oder einem
größeren Zusammenschluss können die Agenten komplexe Aufgaben übernehmen
und zeigen intelligentes Verhalten. Diesen Zusammenschluss von Agenten nennt
Minsky society. Der Begriff Society of mind beschreibt somit den menschlichen
Verstand als eine Ansammlung von einfachen mentalen Prozessen, die für sich
kein intelligentes Verhalten aufweisen, aber in Kooperation zu Intelligenz führen.
Minsky formuliert dies so: What magical trick makes us intelligent? The trick
”
is that there is no trick. The power of intelligence stems from our vast diversity,
not from any single, perfect principle.“ [12, 30.8 Intelligence and resourcefulness].
Die Agenten sind in Hierarchien unterteilt, siehe hierzu [12, 1.6 Agents and
agencies] und [12, 3.3 Hierarchies]. Die Hierarchie kann als Baumstruktur betrachtet werden, wobei Elternknoten als agencies‘ bezeichnet werden. Entste’
hen zum Beispiel Bedürfnisse müssen diese befriedigt werden, dies gilt insbesondere für existenzielle Bedürfnisse wie essen‘, trinken‘ und schlafen‘. Solche
’
’
’
Bedürfnisse können durch Toplevel Agenten repräsentiert werden, siehe hierzu die nachfolgende Abbildung 5. Die einzelnen Agenten operieren unabhängig
voneinander, d. h. jeder Agent erledigt genau seine Aufgabe. Ein Agent weiss
nichts über die anderen Agenten und ihren Aufgaben, nur eine Agency kennt
die Aufgaben ihrer unterstellten Agenten. Komplexe Aufgaben werden erledigt,
indem diese in eine Untermenge von einfacheren Aufgaben aufgesplittet werden.
Ein Subagent (Kindknoten) kann so wiederum eine Agency für Subsubagenten
darstellen (rekursiver Prozess). Um eine Aufgabe in Kooperation erledigen zu
A new architecture and 3D Visualisation for Psi
15
können, müssen die Agenten untereinander kommunizieren [12, 1.3 The society
of mind].
Abb. 5. Zusammenhang zwischen Agenten und Agencies, verändert übernommen aus
[12, 1.6 Agents and agencies]
Bedürfnisse kann man nie isoliert betrachten, sondern sie müssen immer im
Kontext mit anderen Bedürfnissen gesehen werden, siehe hierzu [12, 3.1 Conflict].
Auf die Bedürfnisse in Abbildung 5 übertragen heißt dies, dass es immer Dinge
gibt, die wir gleichzeitig gerne tun würden. Dies führt dazu, dass Agenten auf
gleicher Ebene miteinander in Konkurrenz stehen. Welcher Agent die Kontrolle
erhält und welches Bedürfnis somit befriedigt wird ist von der Aktiviertheit der
Agenten auf der obersten Ebene abhängig. Innerhalb eines Agenten erhält dann
ein Subagent die Kontrolle, der wiederum die ihm untergeordneten Agenten
anstößt. Die Kontrolle wird rekursiv an die Subagenten weiterpropagiert, bis
der trivialste Agent auf der untersten Ebene erreicht wird und schließlich die
Aufgabe erledigt. Nach Beendigung schickt er eine Nachricht an seine Ageny,
die ihrerseits wieder mit der übergeordneten Ebene kommuniziert.
16
5
Michael Munz
Umsetzung
Wie bereits zu Beginn erwähnt wurde, basiert die momentane Psi Theorie auf
einer Delphi Implementierung, siehe hierzu auch Abschnitt 1.2. Die ursprüngliche Implementierung bleibt erhalten, es müssen jedoch noch Schnittstellen zur
Kommunikation mit der Game Engine hinzugefügt werden. Auf die konkrete
Implementierung der Psi Theorie wird deswegen nicht eingegangen. Als Game
Engine wird die CryEngine 3 SDK von Crytek als Educational License Version
verwendet. Für die Modellierung der Psi-Mäuse wird 3ds Max 2011 von Autodesk eingesetzt.
5.1
Game Engine
Für die graphische Ausgabe der Psi Simulation wird eine Game Engine verwendet. Dieser Abschnitt dient dazu, den Begriff und das Konzept einer Game Engine genauer zu beschreiben. Eine Game Engine hat im Allgemeinen die Aufgabe,
eine Abstraktionsschicht zwischen spieleunabhängigen und -abhängigen Komponenten zu definieren. Unabhängige Komponenten sind solche, die für jedes Spiel
benötigt werden und somit ganz allgemein gelten. Dies betrifft vor allem die technische Umsetzung des Spieles, daher bestehen Game Engines aus sogenannten
wiederverwendbaren Komponenten. Dazu gehört unter anderem das Rendering,
die Physic Engine, Sound, Animation und Collision Detection. Abhängige Komponenten sind spielespezifische Details, die ein Spiel kennzeichnen und betrifft
vor allem die gestalterischen Aspekte und die konkrete Umsetzung. Diese werden
von Game Artists, Designern und Programmierern umgesetzt. Eine Datenbank
über Game und Graphic Engines mit zusäztlichen Informationen kann unter
http://www.devmaster.net/engines/ gefunden werden.
Game Engines können grob in drei unterschiedliche Kategorien unterteilt
werden: low-level, mid-level und high-level Engines. Die Kategorie gibt Auskunft darüber, wie hoch die fachlichen Anforderungen und Kenntnisse sind, die
benötigt werden, um ein Spiel entwickeln zu können.
Low-level Engines Die unterste Ebene wird als low-level bezeichnet. Engines in
dieser Kategorie müssen vor dem Entwicklungsprozess aufgebaut werden. Dabei
müssen sie nicht von Anfang an neu implementiert werden, sondern man greift
auf einzelne Komponenten zurück. Welche Komponenten dabei verwendet werden ist nicht festgelegt und ergibt sich aus dem Anwendungsfall. Dabei können
Komponenten aus kommerziellen und Open Source Bibliotheken bestehen. Der
Vorteil, dieser Herangehensweise ist ein größt mögliches Maß an Flexiblilität,
da einzelne Komponenten den entsprechenden Anforderungen nach ausgewählt
werden. Nachteilig ist der extrem hohe Aufwand bei der Zusammenstellung der
Komponenten für die Game Engine. Zusätzlich muss beachtet werden, dass die
Zusammenstellung von Programmbibliotheken aus unterschiedlichen Quellen oft
nicht kompatibel untereinander sind.
A new architecture and 3D Visualisation for Psi
17
Mid-level Engines Mid-level Engines bringen meist schon Komponenten mit, auf
die bei der Entwicklung zurückgegriffen werden kann. Zu solchen Komponenten
zählen Rendering, Physics, AI (Artifical Intelligence), Sound, Animation und einige mehr. Der Vorteil von Mid-level Engines liegt in der Zusammensetzung der
verwendeten Komponenten. Es kommt zu keinen Kompatibilitätsproblemen, da
die Komponenten untereinander kompatible sind. Zudem sind sie auf einen Entwicklungsprozess hin optimiert und getestet. Der Entwicklungsprozess wird nicht
beeinträchtigt durch eine vorangestellte Auswahlphase, was zu weniger Aufwand
führt. Die Festlegung von Komponenten hat den Nachteil, dass die Game Engine
unflexibler im Bezug auf Anwendungsfälle wird, da der Entwicklungsprozess für
den allgemeinen Fall hin optimiert wurde.
High-level Engines Engines im High-level Bereich decken den kompletten Entwicklungsprozess von Spielen ab. Meist beinhalten diese Engines irgend eine
Form von Game-Editoren, die es erlauben, ohne viel Vorkenntnisse Spiele zu
entwickeln. Das Ziel der Engines in diesem Bereich ist die schnelle und einfache
Spieleentwicklung mit minimalen Programmierkenntnissen. Der große Vorteil
ist die sehr schnelle Spieleentwicklung, da alles aus einer Hand geliefert wird.
Im Vergleich zu den anderen Kategorien fällt der benötigte Aufwand geringer
aus und bleibt daher in einem vertretbaren Rahmen. Engines, die dieser Kategorie zugeordnet werden können, sind zum Beispiel Torque Game Builder [13,
Chapter 2: The Torque Game Engine], Unity 3D (http://unity3d.com/unity/)
und Game Maker (http://www.yoyogames.com/gamemaker). Das Problem ist
allerdings, dass ihr Anwendungsgebiet extrem eingeschränkt sein kann. Meist
beschränkt sich der Anwendungsfall von Spielen auf ein Genre.
Überblick über aktuelle Game Engines Game Engines unterstützen die
Entwicklung von Spielen und stellen hierfür wiederverwendbare Komponenten
bereit. Bei der Auswahl eines geeigneten Systems müssen mehrere Faktoren
berücksichtigt werden, da nicht alle Engines gleichermaßen gut für alle Anforderungen geeignet sind. Die Wahl ist daher abhängig von den Anforderungen und
Zielen eines Spieles oder der Simulation. Ein erster Punkt ist, dass unterschieden werden muss zwischen kommerziellen und Open Source Engines. Engines
unter einer Open Source Lizenz werden meist kostenlos zur Verfügung gestellt,
während bei kommerziellen Systemen der Preisbereich von einigen hundert Dollar (Torque) bis zu mehreren hunderttausend Dollar (CryEngine) reicht. Es gibt
Game Engines, bei denen das Spiel für den Einsatz in unterschiedlichen Plattformen kompiliert werden kann. Man muss hier unterscheiden zwischen PC- und
Konsolensystemen. Es gibt Game Engines, die auf die ein oder andere Plattform
spezialisiert sind, während andere den Export auf PC und Konsolen erlauben.
Die meisten Game Engines unterstützen die großen PC-Plattformen, wie Windows, Linux und Mac. Bei den Konsolen sind dies meist Playstation und Xbox
360. Ein weiterer Punkt bei der Auswahl betrifft die Graphikausgabe. Soll die
Graphik in 2D oder in 3D gerendert werden? Wird nur eine 2D Graphik benötigt,
kann auf reine 2D Engines zurückgegriffen werden, ansonsten sind 3D Engines
notwendig.
18
Michael Munz
In der Nachfolgenden Tabelle 1 sind einige ausgewählte Game Engines aufgelistet. In der Gegenüberstellung sind jeweils die wichtigsten Eigenschaften der
Engines zusammengefasst und soll einen schnellen Überblick über deren Funktionalität geben. Eine Datenbank über alle auf dem Markt verfügbaren Game
und Graphic Engines sind unter http://www.devmaster.net/engines zu finden. Einen ersten Überblick über kommerzielle Systeme gibt [14].
5.2
Modellierung der Psi-Maus
Zur Modellierung der Psi-Maus wird 3ds Max von Autodesk verwendet. 3ds Max
ist eine Software zur 3D-Modellierung, Animation und Rendering. Der Einsatzbereich liegt vor allem in der Unterhaltungsbranche - wie der Spieleentwicklung
und Filmproduktion - findet aber auch Anwendung in Design und Architektur. Im Rahmen dieser Arbeit ist es nicht möglich auf die Modellierung von
Charakteren einzugehen, da es ein kreativer Prozess ist und im Wesentlichen
auf dem Prinzip learning-by-doing beruht. Es gibt aber genügend Literatur,
die den Modellierungsprozess anhand von Beispielen erklärt. Allgemeine Informationen zur Software sind unter http://usa.autodesk.com/ abrufbar. Tutorials für den Einstieg in 3ds Max sind online unter http://usa.autodesk.
com/adsk/servlet/index?siteID=123112&id=6837309&linkID=9241175 und
http://download.autodesk.com/us/3dsmax/2011/help/index.html abrufbar.
Literatur, die bei der Modellierung eines Charakters hilfreich war, ist [15], [16],
[17] und [18].
Modellierung Bei der Modellierung von Spielecharakteren sollten nach Isbister
auch psychologische Aspekte berücksichtigt werden [19]. Charaktere können bei
Beachtung psychologischer Erkenntnisse authentischer modelliert werden, was
zum einen zu einer größeren Akzeptanz der Charaktere bei den Spielern führt
und zum anderen positiven Einfluss auf das Spielvergnügen hat. Aspekte, die
beachtet werden sollten sind unter anderem der Halo Effect, Babyface Effect
und Stereotypen, siehe hierzu [19, 1 Social surface].
Beim Halo Effect werden vorherrschende Merkmale eines Charakters übergeneralisiert [19, 1.2.2 Attractiveness]. Dies kann zu falschen Vorstellungen über
dessen Charaktereigenschaften führen. Eine vorherrschende Meinung oder Cliches können zu einer solchen Übergeneralisierng führen. Der Halo Effect wirkt
zum Beispiel bei der Betrachtung attraktiver Personen. Attraktive Menschen
werden bestimmte Eigenschaften zugeschrieben, die sie unter Umständen gar
nicht erfüllen.
Ein weiterer Effekt, der bei Spielecharakteren oft genutzt wird, ist der sogenannte Babyface Effect [19, 1.2.3 Babyfaces]. Personen, die Merkmale von
Kleinkindern aufweisen (Kindschemata), werden mit bestimmten Assoziationen
verknüpft. Eine typische Eigenschaft für das Auslösen eines Kindschemata sind
große Augen‘. Personen mit diesem Merkmal werden auf der einen Seite als
’
glaubwürdiger angesehen, auf der anderen Seite aber auch als unterwürfiger und
A new architecture and 3D Visualisation for Psi
Kriterium
Hersteller
Homepage
CryEngine
Torque
Ogre
Crytek
GarageGames
Steve Streeting
http://mycryengine.com www.garagegames.com www.ogre3d.org
Kategorie
Lizenzkosten
Version
Plattform
Game Engine
auf Anfrage
3.3.2
Windows
PS3
Xbox 360
Sprache
C/C++
Game Engine
ab 99 $
–
Windows
Linux
Mac
Wii
XBox 360
C/C++
Scripting
Graphik
LUA
DirectX
OpenGL
C++ Style
DirectX
OpenGL
Rendering
3D
3D
2D
OO-Design
Save/Load System
Build-in Editoren
Client-Server
Features
19
Irrlicht
Nikolaus Gebhardt
http://irrlicht.
sourceforge.net
Graphic Engine
Game Engine
kostenlos
kostenlos
1.7.3 Cthugha
1.7.2
Windows
Windows
Linux
Linux
Mac
Mac
Solaris
andere
C/C++
C++
C#
VisualBasic
Java
Delphi
k. A.
k. A.
DirectX
DirectX
OpenGL
OpenGL
Software
3D
3D
2D
OO-Design
OO-Design
Plug-in Architektur Plug-in Architektur
Save/Load System irrEdit
zusätzliche Biblio- GUI Editor
theken notwendig
OO-Design
Plug-in Architektur
Save/Load System
Sandbox Editor
Client-Server
CUDA
Stereoscopic 3D
Modeling
3DS Max
3DS Max
k. A.
Maya
Maya
XSI
XSI
Photoshop
Blender
MotionBuilder
Dokumentation ja
ja
ja
Entwicklung
aktiv
aktiv
aktiv
Tabelle 1. Gegenüberstellung von vier (Game) Engines.
3DS Max
Maya
Collada
Milkshape
Photoshop
ja
aktiv
20
Michael Munz
manipulierbarer. Weiterhin impliziert diese Eigenschaft, dass die Person auf Unterstützung von anderen angewiesen ist und weniger Verantwortung für ihr Handeln übernehmen muss. Der Effekt findet sich in allen Kulturen der Welt wieder.
Er ist sogar so stark, dass er auch bei Betrachtung von Tierbabys ausgelöst wird.
Der dritte Aspekt - bei der Charaktermodellierung - ist die Verwendung von
Stereotypen. Stereotypen bezeichnen Konzepte, die von einer Einzelperson oder
von einer Gruppe als wahr angenommen werden und bei der Beurteilung von
Menschen zu einer starken Vereinfachung führen. Sie beeinflussen das Verhalten von Menschen unbewusst und werden oft in der Kindheit geprägt. Weitere
Informationen hierzu finden sich unter [20, 9 The development of stereotypes].
Warum betrachtet man bei der Charaktermodellierung überhaupt psychologische Aspekte? Die eben beschriebenen Effekte haben einen enormen Einfluss
auf unser Denken und Handeln. Sie helfen bei einer schnellen Beurteilung von Situationen und von Menschen aufgrund von Erfahrungswerten. Ohne diese könnte
eine schnelle Kategorisierung und Zuordnung überhaupt nicht stattfinden. Auf
diese Effekte wird - speziell bei Computerspielen - sehr stark gesetzt. So sind
Helden meist attraktive Charaktere, während bei den Schurken und Gaunern
die typischen Stereotypen bezüglich Kleidung, Köperbau und kulturellem Hintergrund vorherrschen, siehe hierzu [19, 1.2.2 Attractiveness, Figure 1.6, und
Figure 1.7].
Ist der Modellierungsprozess eines Charakters abgeschlossen, könnte das Ergebnis wie in der Abbildung 6 aussehen. Die Abbildung zeigt das fertige Polygonmodell einer mit 3ds Max modellierten Maus, der Psi-Maus. Bei der Modellierung des Modells wurde versucht, so gut wie möglich die eben beschriebenen
Aspekte zu berücksichtigen. Da für die Simulation weder ein Heldencharakter
noch ein Bösewicht benötigt wird, konnten Stereotypen zur Unterstreichung ihrer Charaktereinstellung vernachlässigt werden.
Abb. 6. 3D Polygonmodell einer Psi-Maus
A new architecture and 3D Visualisation for Psi
21
Animation Soll ein Polygonmodell animiert werden, ist eine weiterer Modellierungsphase notwendig: die Animation. Nach [18, 7 Animation] sind mindestens
30 verschiedene Animationen zu modellieren, damit ein Charakter für ein Spiel
eingesetzt werden kann. Ein Begriff, der bei der Animation von Modellen genutzt
wird ist rigging und bezeichnet den Prozess, ein Polygonmodell mit einem Animationsmodell zu verbinden [15, 7 Rigging characters]. Ein Animationsmodell
wird meist aus einem sogenannten Skelett modelliert, muss aber nicht zwingend.
Um welches Skelett es sich dabei handelt, ist abhängig von der verwendeten
Animationstechnik. 3ds Max unterstütz verschiedene Ansätze zur Charakteranimation, siehe [21, Introduction] und [15, 7 Rigging characters]: Joint Characters,
Model controls und Skeletons. Bei Skeletons spricht man von skinning, wenn ein
Skelett mit einem Polygonmodell verknüpft wird [22, Chapter 40 Skinning characters]. Beim Skinning muss ein Skin Mesh den Knochen zugeordnet werden,
die bei der Bewegung Einfluss darauf ausüben. Es muss darauf geachtet werden, dass sich das Skin korrekt deformiert, wenn sich die Knochen bewegen.
Ansonsten kann es bei einer Bewegung zu Volumenverlust führen.
Joint Characters Joint Characters ist die primitivste Technik zur Animation
von Charakteren. Der Charakter besteht hier nicht aus einem einzigen Polygonmodell, sondern ist aus mehreren Teilen zusammengesetzt. Der Aufbau ist dabei
vergleichbar mit dem einer Marionette. Dies führt zu Problemen bei der Animation, da bei den Bewegungsabläufen die Verbindungen (Joints) sichtbar werden
und die Bewegungen marionettenhaft sind, [21, Introduction].
Model Controls Model Controls kann für Charaktere verwendet werden, die aus
einem Polygonmodell bestehen. Hier werden die Bewegungsabläufe mit Hilfe
von Animationspunkten definiert, über die das Polygon deformiert wird. Bei
dieser Technik ist eine große Anzahl an Kontrollpunkten notwendig, um eine
korrekte bzw. realistische Deformation zu erhalten. Sie ist daher sehr zeitintensiv
und arbeitsaufwändig für die Erstellung von Animationen, erlaubt aber saubere
Übergänge bei der Animation, [21, Introduction].
Skeletons Bei Skeletons basiert die Animation auf einem Skelett. Zunächst wird
ein Skelett unabhängig vom Polygonmodell erstellt. Das Ergebnis ist, dass ein
Skelett und ein Polygonmodell nebeneinander existieren. Das Skelett wird für
die Modellierung der Animation verwendet. Skeletontechniken erlauben eine realistischere Animation, als mit den zuvor beschriebenen Ansätzen. In einem sogenannten Rigging-Prozess muss das Skelett mit dem Polygonmodell verbunden
werden, damit die Animationen auf das Polygonmodell übertragen werden, siehe
hierzu [15, 7 Rigging Characters]. Hierfür wird das Skelett innerhalb des Polygonmodells platziert. Modellierte Bewegungsabläufe müssen vom Skelett auf den
Charakter übertragen werden. Innerhalb des Ansatzes, basierend auf Skeletons,
muss nochmal zwischen verschiedenen Herangehensweisen unterschieden werden.
Es gibt hier CAT, Biped und Bones.
CAT ist das Akronym für Character Animation Toolkit‘ und unterstützt
’
Charakter-Rigging, nicht-lineare Animation, verschachtelte Animation und Mus-
22
Michael Munz
kelsimulation. Falls bereits Bewegungsabläufe für Charaktere vorhanden sind
können diese über einen sogenannten Motion-capture Import‘ in das CAT’
System geladen werden. Bei CAT spricht man nicht von einem Skelettaufbau,
sondern vielmehr von einem CATRig. Ein CATRig ist ein hierarchischer Aufbau,
welches das CAT-Skelett Animationssystem definert. Der Vorteil von CAT ist
seine große Flexibilität bei der Charakteranimation. Erreicht wird dies, indem
das CATRig so allgemein wie möglich gehalten wird. Ein Element im CATRig
definiert sich durch die geometrische Lage im Skelettaufbau, also ob es sich zum
Beispiel um Gliedmaßen oder das Becken handelt. Davon ist wiederum seine
Funktionalität abhängig, die zur Animation zur Verfügung steht. Informatione zu CAT finden sich in [22, Chapter 39 Animating with CAT and creating
crowds].
Das Polygonmodell der Psi-Maus wurde zuerst mit diesem Ansatz zur Charakteranimation modelliert. Die CryEngine unterstützt jedoch die CAT-Animationstechnik nicht, sondern nur das Biped-System. Das liegt daran, dass die
CryEngine aus dem Bereich der Ego-Shooter stammt und nur die Animation
von Menschen bzw. anderen zweibeinigen Charakteren als Anwendungsfall beherrschen muss. Die Abbildung 7 zeigt das CATRig nach Abschluss des Riggingprozess. Weitere Informationen zum CAT-System sind online verfügbar unter
http://download.autodesk.com/esd/3dsmax/cat-help-2010/index.html.
Abb. 7. CATRig aus unterschiedlichen Perspektiven nach Abschluss des Riggingprozesses.
Biped ist spezialisiert auf die Animation von zweibeinigen Charakteren und
unterstützt den Modellierungsprozess bei der Erzeugung eines Skelettmodells.
Es bietet zusätzliche Systeme für realistische Bewegungsabläufe, indem Muskelbewegungen berücksichtigt werden und verhindert unnatürliche Bewegungen des
Charakters, [15, 7 Rigging characters - The biped system]. Das Biped-System
kann mit größerem Aufwand auch auf vierbeinige Charaktere umgebogen wer-
A new architecture and 3D Visualisation for Psi
23
den. Detaillierte Informationen zu Biped können unter [21] nachgelesen werden. Die nachfolgende Abbildung 8 zeigt das Resultat eines vierbeinigen BipedSystems, das allerdings noch nicht mit dem Polygonmodell der Psi-Maus verknüpft wurde.
Abb. 8. Vierbeiniges Biped-System für die Psi-Maus. Skelett und Polygonmodell wurden noch nicht verknüpft.
Das Bonessystem ist die komplexeste Technik zur Animation von Charakteren. Der Modellierer ist hier in der Umsetzung seiner Animation frei, da das
System keine Vorgaben oder Hilfestellungen gibt. Die Bewegungsabläufe müssen
alle von Hand modelliert werden. Dafür stehen zusäztliche Module bereit, die
den Modellierungsprozess unterstützen, wie forward kinetics‘ inverse kinetics‘
’
’
constraints‘ und skinning‘ [15, 7 Rigging characters - The bones system].
’
’
5.3
Modellierung der Psi-Welt
Dieser Abschnitt beschreibt die Modellierung der Simulationswelt. Basierend auf
der Idee der ursprünglichen Welt wurde die neue Welt ebenfalls als Insel modelliert. Als Vorlage diente die hawaiianische Inselkette, von denen Maui, Molokai,
Lanai und Kahoolawe nachgebildet werden, siehe hierzu die Abbildung 9. Die
CryEngine beinhaltet für das Leveldesign einen sogenannten Sandbox Editor
mit dessen Hilfe Karten oder Levels erstellt werden. Der erste Schritt beim Leveldesign ist die Erzeugung eines Terrains. Dabei wird die Größe des spielbaren
Levels und die Oberfläche festgelegt. Mit Hilfe eines Terrain Editors wird das
Gelände modelliert. Dabei stehen dem Leveldesigner unterschiedliche Möglichkeiten zur Verfügung. Die einfachste Möglichkeit besteht darin, sich ein zufälliges
Terrain generieren zu lassen. Über Parametereinstellungen kann man Einfluss
auf den Generierungsprozess nehmen. Eine zweite Möglichkeit ist die Nutzung
einer Höhenkarte. Handelt es sich bei dem Level um eine fiktive Welt, kann die
24
Michael Munz
Höhenkarte über das Bildbearbeitungsprogramm Photoshop erstellt werden. Die
Werte für die Höhenstufen liegen per Konvention im Intervall von 0 bis 255. Je
flacher das Gelände ist, desto niedriger ist der Wert und desto dunkler wird es
in der Höhenkarte abgebildet. Dunkle Flächen spiegeln flaches Gelände wieder,
während helle Flächen für Erhebungen stehen. Die letzte Möglichkeit ein Terrain
zu erstellen, die manuelle Modellierung der Höhenkarte direkt im Terrain Editor
der Sandbox. Dieser Ansatz wurde hier für die Erstellung gewählt. In Abbildung
9 ist das Ergebnis der Höhenkarte auf der rechten Seite zu sehen. Als Referenz
bei der Modellierung diente eine Karte des National Atlas (National Atlas of
the United States of America). Es muss darauf hingewiesen werden, dass es sich
bei der Höhenkarte nicht um eine maßstabsgetreue Nachbildung handelt, sondern bewusst Freiheitsgrade eingebaut wurden. Lediglich die geographische Lage
der Inseln zueinander wurde mit geringerer Abweichung nachmodelliert. Die Gesamtfläche der Karte in Abbildung 9 beträgt insgesamt zwei Quadratkilometer
- inklusive der Wasserflächen.
Abb. 9. Links: der Ausschnitt zeigt die Inseln Maui, Molokai, Lanai und Kahoolawe.
Sie sind Teil der hawaiianischen Inselkette, unverändert übernommen aus [23], rechts:
Nachbildung der Inseln im Terrain Editor mittels einer Höhenkarte. Die Gesamtfläche
beträgt insgesamt zwei Quadratkilometer (Wasserfläche inklusiv).
Das erstellte Terrain ist zunächst nicht weiter definiert, es besitzt keine Texturen oder ähnliches und ist daher kahl. Der nächste Schritt im Leveldesign ist den
Level realistischer zu gestalten. Dies geschieht mit Hilfe von Texturen und Objekten. Der Sandbox Editor bringt bereits von Hause eine Vielzahl von Texturen
und Objekten mit, die über Parametereinstellungen an die jeweiligen Bedürfnisse angepasst und modifiziert werden können. Mit der Sandbox werden alle
levelrelevanten Details modelliert. Dies beinhaltet unter anderem die Besiedlung
des Terrains mit Pflanzen und Tieren. Die Wetterbildung muss definiert werden,
wie Wolkenbildung und Zugrichtung, Windrichtung, Windgeschwindigkeit und
gegebenfalls die Regenbildung. Der Tagesverlauf der Sonne und die Geschwindigkeit des Sonnenverlauf am Horizont muss ebenfalls über Parametereinstellungen
festgelegt werden. Dies bestimmt die Geschwindigkeit des Tag-Nacht-Zykluses.
A new architecture and 3D Visualisation for Psi
25
Ist das Leveldesign abgeschlossen, muss der Level für die Nutzung im Spiel
oder der Simulation vorbereitet werden. Hierfür muss der Level aus der Sandbox
exportiert werden, damit er von der CryEngine genutzt werden kann. Man muss
ihm Leveldesign-Prozess unterscheiden zwischen Entwicklermodus und Spielmodus. Solange ein Level nicht exportiert wurde, ist er nur über den Sandbox Editor zugänglich und somit nicht spielbar. Der Level ist im Entwicklermodus und
kann - wie bereits im Verlauf dieses Abschnittes beschrieben - von Leveldesignern
modifiziert und getestet werden. Wurde er exportiert, ist er für die CryEngine
im Spielmodus zugänglich. Der Spielmodus zeichnet sich bei der CryEngine dadurch aus, dass ein sogenannter Game Launcher verwendet wird, der den Level
oder das Spiel lädt.
Von den vier Inseln wurde bisher nur die Insel Kahoolawe komplett fertig
modelliert. Die Insel verfügt über Süßwasservorkommen in Form von zwei Teichen, die über einen Wasserfall miteinander verbunden sind, siehe Abbildung
11. Als Nahrung dienen momentan Pilze, die in der Nähe des unteren Teiches
gepflanzt wurden und Bananen, die auf dem Boden von ausgewählten Bananenstauden liegen. In einer späteren Version können zusätzliche Nahrungsquellen
problemlos hinzugefügt werden. Aus mehreren Gründen wurde nicht nur eine
Insel konstruiert, sondern mehrere. Zum einen kann dies in einer Explorationsphase ein Motivator darstellen, ein größeres Gebiet bzw. unbekanntes Gebiet zu
erforschen. Weitere interessante Punkte, stellen Selektion und Adaption dar. Bei
einer zu starken Überpopulation einer Insel kann das Ausweichen auf andere Inseln ein möglicher Lösungsansatz darstellen. Zum einen ist das Erreichen anderer
Gebiete gefährlich und schwierig und hängt von der körperlichen Kondition ab.
Dies kann man als Mechanismus zur natürlichen Auslese nutzen. Zum anderen
könnten sich auf diese Weise unterschiedliche Populationen entwickeln und eine
Form der Adaption stattfinden. Ein großer Vorteil der CryEngine ist, dass fast
alle Objekte in einem Level zerstörbar sind. Entwickeln sich die Psi-Mäuse weiter, ist es zum Beispiel möglich Holzstämme für die Überfahrt zu den anderen
Inseln zu nutzen. Natürlich können sie auch versuchen auf eine andere Insel zu
schwimmen. Dies ist aber gefährlicher, da die Psi-Maus gut konditioniert sein
muss, damit ihr die Kraft nicht ausgeht.
Die nachfolgenden Abbildungen 10, 11 und 12 zeigen die Insel Kahoolawe aus
unterschiedlichen Perspektiven. Da die Abbildungen im Entwicklermodus erstellt
wurden, sind modellierungsspezifische Details sichtbar, die im Spielmodus aber
nicht angezeigt werden.
26
Michael Munz
Abb. 10. Blick auf Kahoolawe vom Wasser aus.
Abb. 11. Die Insel Kahoolawe. Im Vordergrund ist der untere Teich zu sehen.
Abb. 12. Blick auf Kahoolawe von oben. Im Hintergrund sieht man einen Teil von
Maui ohne Texturen (links oben).
A new architecture and 3D Visualisation for Psi
6
27
Ausblick
Im Rahmen dieses Projektes konnten leide nicht alle Aufgaben durchgeführt
werden, damit eine lauffähige Simulation entsteht. Der initiale Einarbeitungsaufwand in die verwendeten Technologien war sehr zeitintensiv, um eine Ebene
zu erreichen, bei der mit der Modellierung begonnen werden konnte. Dies gilt
insbesondere für 3ds Max 2011, aber auch für die CryEngine 3. Beide Systeme
sind sehr komplex aufgebaut und können ohne eine systematische Herangehensweise nicht annäherend in ihrer Funktionalität ausgereizt werden. Das Lesen von
Literatur und die Durchführung von Tutorials kostete zwar zu Beginn sehr viel
Zeit, der entstandene Lerneffekt war aber dadurch umso größer und hilfreicher.
Die nachfolgenden Abschnitte dienen dazu, nochmal zusammenzufassen, welche Aufgaben bisher noch nicht umgesetzt werden konnten, aber in einer zukünftigen Version vorhanden sein sollen.
6.1
Psi-Maus
Die Modellierung der Psi-Maus als Polygonmodell ist abgeschlossen. Als Animationstechnik steht das CAT-System für die Animation schnüffeln und laufen
zur Verfügung. Das Biped-System konnte noch nicht komplett geskinnt werden,
so dass hier noch kein Volumenerhalt existiert. Zukünftige Animationen sollen
unter anderem für Tätigkeiten wie schlafen, rennen, fressen, trinken, kämpfen
und paaren modelliert werden.
6.2
Psi-Welt
Die Modellierung der Welt besteht aus insgesamt vier Inseln, die in Kapitel 5.3
vorgestellt wurden. Bisher konnte nur die kleinste Insel Kahoolawe vollständig
modelliert werden. Die anderen Inseln existieren zwar als Terrain, müssen jedoch noch im Hinblick auf Texturen, Vegetation und Gewässer modelliert werden. Schnittstellen für die Kommunikation zwischen der Game Engine und der
Psi Theorie müssen noch definiert und implementiert werden. Da die Theorie
als Delphi Implementierung existiert, die Game Engine aber auf C++ basiert,
müssen geeignete Wrapper in Form von Shared Libraries verwendet werden. Shared Libraries unter Windows sind als Dynamic Linked Libraries (DLLs) bekannt,
die hierfür spezifiziert werden müssen und eine Kommunikation zwischen Delphi
und C++ erlauben.
28
Michael Munz
Literatur
1. Bedau, M.A.: Artificial life: Organization, adaptation and complexity from the
bottom up. In: Trends in Cognitive Sciences. (2003) 505–512
2. Langton, C.: Artificial life II: proceedings of the workshop on artificial life held
February, 1990 in Santa Fe, New Mexico. Santa Fe institute studies in the sciences
of complexity: Proceedings. Addison-Wesley (1992)
3. Sullins, J.P.: Ethics and artificial life: From modeling to moral agents. Ethics and
Inf. Technol. 7 (September 2005) 139–148
4. Kim, K.J., Cho, S.B.: A comprehensive overview of the applications of artificial
life. Artificial Life 12 (January 2006) 153–182
5. Dörner, D., Bartl, C., Detje, F., Gerdes, J., Halcour, D., Schaub, H., Starker, U.:
Die Mechanik des Seelenwagens. Eine neuronale Theorie der Handlungsregulation.
1 edn. Hans Huber (2002)
6. Dörner, D.: Bauplan für eine Seele. 2 edn. Rowohlt Taschenbuch Verlag (2008)
7. Ferstl, O., Sinz, E.: Grundlagen der Wirtschaftsinformatik. Number Bd. 1. Oldenbourg (2006)
8. Dörner, D., Schaub, H., Detje, F.: Das Leben von PSI. über das Zusammenspiel
von Kognition, Emotion und Motivation - oder: Eine einfache Theorie komplexer
Verhaltensweisen. Sozionik-aktuell (2) (2001)
9. Badke-Schaub, P., Hofinger, G., Lauche, K.: Human Factors: Psychologie sicheren
Handelns in Risikobranchen. Springer (2008)
10. Bach, J.: Principles of Synthetic Intelligence. Psi: An Architecture of Motivated
Cognition. (2009)
11. Bach, J.: The MicroPsi agent architecture. In: Proceedings of ICCM-5, International Conference on Cognitive Modeling, Bamberg, Germany, Citeseer (2003)
15–20
12. Minsky, M.: The society of mind. Simon & Schuster, Inc., New York, NY, USA
(1986)
13. Duggan, M.: Torque for teens. Thomson Course Technology (2008)
14. Jordan, J.: Engines of creation: an overview of game engines. online (October
2008) http://www.gamasutra.com/view/feature/3832/engines of creation an over
view .php, Last checked: 2011-05-08.
15. Pardew, L., Whittington, D.: Beginning Game Art in 3DS Max 8. Thomson Course
Technology (2006)
16. Gahan, A.: 3ds Max modeling for games: Insider’s guide to game character, vehicle, and environment modeling. Autodesk Media and Entertainment Courseware.
Elsevier (2009)
17. Todd, D.: Poly-modeling with 3ds Mmax: thinking outside the box. Autodesk
Media and Entertainment Techniques. Elsevier (2009)
18. Clinton, Y.: Game character modeling and animation with 3ds Max. Autodesk
Media and Entertainment Techniques. Elsevier (2008)
19. Isbister, K.: Better game characters - a psychological approach. The Morgan
Kaufmann Series in interactive 3D technology. Elsevier (2006)
20. Schneider, D.J.: The psychology of stereotyping. Distinguished contributions in
psychology. Guilford Press (2004)
21. Bousquet, M., McCarthy, M.: 3ds Max Animation with Biped. New Riders (2006)
22. Murdock, K.L.: 3ds Max 2011 Bible. Wiley Publishing Inc. (2010)
23. National Atlas: The national atlas of the United States of America. online
http://www.nationalatlas.gov, Last checked: 2011-05-12.

Documentos relacionados