01.02.2013 Aufrufe

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

62<br />

8.1 Motivationslevel und Events<br />

Wie bereits erwähnt, beruht die künstliche Intelligenz der Kreaturen auf Motivationsleveln. Wird<br />

eine Kreatur etwa durch eine Klasse micado testcreature beschrieben, erbt sie alle Motivationslevel,<br />

die in der Vaterklasse micado creature definiert sind. Konkret sind dieses Zahlenwerte, die die<br />

Dringlichkeit der folgenden Bedürfnisse angeben:<br />

• Schlafen<br />

• Trinken<br />

• Essen<br />

• Folgen<br />

• Fliehen<br />

• Grüßen<br />

• Nichts tun<br />

Jedes Motivationslevel ist dabei ein struct in Form eines Tripels von doubles mit den Bezeichnungen<br />

(val, mul, mte). val steht dabei für Value und gibt konsequenter Weise den aktuellen Wert der<br />

Motivation an; mul steht für Multiplikator und repräsentiert den kreaturcharakterspezifischen zeitlichen<br />

Einfluss auf die Motivation; mte letztlich steht für Mutator, ein Wert, der ebenfalls auf die<br />

Motivation einwirkt, sich aber zur Laufzeit ändert und somit ein linerar konstantes Verhalten der<br />

Kreatur verhindert. Der Mutatorwert ändert sich immer dann, wenn eine Aktion durch eine andere<br />

abgelöst wird.<br />

Ebenfalls von der Vaterklasse übernommen und in micado testcreature erweitert ist die Funktion<br />

do ai(), die dafür sorgt, dass die Kreatur ihre Motivationslevel verändert. Es wird dabei über alle<br />

zeitlich veränderlichen Motivationen iteriert und der Wert ensprechend dem Multiplikator und des<br />

Mutators verändert. Die Werte erhöhen sich nur bis zu einer Maximalgrenze. Erreicht ein Wert diese<br />

Grenze, wird dieser und alle ebenfalls zeitabhängigen Werte mit einem verhältniswahrenden Offset<br />

belegt. Die Maximalgrenze sorgt dafür, dass bestimmte Aktionen, deren Ausführung elementar ist<br />

und deren Motivation bei Bedarf mit einem Wert oberhalb dieser Grenze belegt wird, von den übrigen<br />

nicht gestört werden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!