MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
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.