Tag Archives: KI

Update: Entwicklungsstand KI Prototyp

Grobkonzept KI

Grobkonzept KI

Soo.. mal ein kurzes Update zum Stand der Dinge für den zweiten Science-O-Matic Prototypen: die oberen beiden Ebenen der KI :) Ein grobes Konzept mit beteiligten Parteien, Ablauf und Datenhaltung steht, rechts im Bild einmal verknappt dargestellt. UML Diagramm mit den Klassen und die Klassenrümpfe im Coding stehen. Die Datenbank hierzu ist auch schon aufgestellt, alle Tabellen angelegt, momentan bin ich gerade dabei, den DBHandler (siehe Ordnung schaffen: eine Datenbank Handlerklasse) für die neue Datenbank, die neuen Tabellen und vor allem die neuen, zu puffernden Daten anzupassen und hoffe, die Tage mit dem Programmieren der eigentlichen Logik beginnen zu können :)

Posted in Code-O-Matic. Tagged with , .

kurze Notiz: neues Thema :)

So.. die Suche nach einem neuen Thema ist vorbei, ich habe mich entschieden: die obersten beiden Ebenen der KI sollen es sein :) Noch sind wir / bin ich in der Brainstormingphase.. Ich melde mich, wenn es was zum melden gibt :)

Posted in News-O-Matic. Tagged with , .

nun auch mit Ton: der erste Blogartikel ist vertont :)

Yay :) Gestern haben wir den ersten Blogartikel auch zum Anhören (und Anschauen) veröffentlicht :) 30 Minuten Erklärungen meinerseits zum Artikel Verhalten der NSCs sind bei YouTube hochgeladen :) Freu mich über Klicks und Feedback :)

Posted in News-O-Matic, Theory-O-Matic. Tagged with , .

Den (eigenen?) Weg finden

In diesem Artikel möchte ich einen Gedanken zur Wegfindung von NSCs mit euch teilen. Wie kann ein NSC einen Weg finden, ohne dass ein offizieller Pfad existiert? Und ohne dass – noch viel schlimmer – geskriptete Wege hinterlegt werden? Aber gleichzeitig auch ohne dass der NSC allwissend ist, die Wege besser findet als der Spieler und ohne dass er, alles bisher gewesene ignorierend, außerhalb von Städten und offiziellen Wegen rein nach Himmelsrichtungen läuft? Nun habe ich schon mehrfach das Wort offizieller Weg / Pfad genutzt, was ist eigentlich ein Weg?

“Wege entstehen dadurch, dass man sie geht.” (Franz Kafka)

Dieses schöne Zitat von Kafka war sicherlich im übertragenen Sinn gemeint, stimmt aber auch in seiner wörtlichen Bedeutung.

Continue reading

Posted in Theory-O-Matic. Tagged with , , .

Verhalten der NSCs

Ein weiteres mögliches und sehr ergiebiges neues Thema wäre die KI der NSCs. Welche Anforderungen und welche Wünsche werden an eine KI in einem Computerspiel gestellt? Ich weiß vor allem, was ich nicht möchte. Ich möchte keine “dummen Bots”. Ich möchte keine feindlichen NSCs, die nach der Uhr ihre Attacken ausführen, ich möchte keine zivilen NSCs, die zu jeder vollen Stunde ihren üblichen Weg laufen und dabei jedes Mal dieselbe Unterhaltung führen. Mehr noch: Frei nach dem Motto “Lernen ist wie Rudern gegen den Strom. Sobald man aufhört, treibt man zurück” (Benjamin Britten) ist jede KI, die sich dem Verhalten der Spieler nicht anpasst, die nicht dauerhaft von ihrer Umwelt lernt, unbefriedigend. Ich würde also erwarten, dass sich die NSCs dem Umfeld und damit auch meinen Aktionen anpassen. Das Ziel einer KI für feindliche, vor allem aber für verbündete NSCs in einem Spiel, in dem viel Zeit auch außerhalb von Kämpfen verbracht wird, sollte auch die Erhaltung und Erzeugung von Ambiente und Konsistenz beinhalten. Die NSCs sollten Aktionen nicht ausführen, weil wir das so geskriptet haben, sondern weil sie einen Grund dafür haben. Sie sollten kein Brot kaufen, weil ein Skript ihnen sagt, dass sie jeden Tag ein Brot kaufen, sondern weil sie Hunger haben und ein Brot kaufen dann eine gute Idee ist. Wenn die gesellschaftlichen Gepflogenheiten sich durch die Spieler ändern, dann sollten sie es erkennen. Wenn sich Treffpunkte heraus gebildet haben, an denen sich die Spieler vermehrt aufhalten, dann sollten die NSCs sich daran anpassen und zum Beispiel beginnen, dort Ware zu verkaufen oder nach Arbeit zu suchen. Und das alles, ohne! für jede Situation ein eigenes Skript zu schreiben. Leider bestehen die meisten KI Systeme, wie sie in Lehrbüchern stehen, nur aus immer komplexeren Skripten, die immer mehr Daten mit einrechnen. Die KI, wie ich sie mir vorstelle, ist in drei Ebenen unterteilt:

  • Ebenen der KI

    Ebenen der angedachten künstlichen Intelligenz

    Motivationsebene: Mit Hilfe einer Motivationspyramide wird bestimmt, welche Bedürfnisse den NSC motivieren, also welche Ziele angegangen werden. Je nach Archetyp des NSCs kann die Motivationspyramide entsprechend angepasst sein, bzw. die sich dahinter verbergenden konkreteren Ziele können variieren (Anerkennung kann sowohl in handwerklichem Können, in Reichtum oder auch im Krieg gesucht werden). Diese Ziele schränken die Optionen, die der nächsten Ebene gewählt werden können, stark ein. Beispiel für eine in dieser Ebene getroffene Entscheidung: Die Bedürfnisse der Art “Grundbedürfnisse” sind erfüllt, Ziele mit Zweck Bedürfniserfüllung “Sicherheit” werden nun auch verfolgt.

  • Optionsebene: Welche Handlungsoptionen stehen zur Verfügung, wie werden sie bewertet, welche werden ausgeführt? Beispiel für eine in dieser Ebene getroffene Entscheidung: Aus der Motivationsebene kamen hohe Bewertungen für die Bedürfnisse “Grundbedürfnisse” und “Sicherheit”. Es stehen also Optionen wie “Essen / Trinken bei Gastwirt y oder Bauer z besorgen” aber auch “ein Schloss bei Schmied y kaufen und einbauen” oder “eine Waffe bei Schmied x kaufen” zur Verfügung, nicht aber Optionen der Selbstverwirklichung wie “ein Bild malen”. Diese Optionen werden gewertet und eine Entscheidung für eine oder mehrere Optionen werden getroffen.
  • Situationsebene:Die Optionsebene hat eine auszuführende Handlung bestimmt. Die Situationsebene ist die konkreteste Ebene, hier geht es um Fragen wie: Wie verhalte ich mich, wenn ein “befreundeter” NSC oder Spieler vorbeiläuft, wie führe ich die eigentlich Aktion (“Waffe kaufen”) durch, wie biege ich an Kreuzung b ab, wenn mein eigentlicher Weg versperrt ist, wie reagiere ich, wenn mich jemand angreift? Beispiel für eine Entscheidung dieser Ebene: “Gib dem Schmied x Geld für die Waffe”, aber auch Reaktionen auf einen Angriff wie “die Flucht ergreifen” oder “zur Wehr setzen” und damit verbunden das Kampfverhalten (welche Schläge führe ich aus..).

Continue reading

Posted in Theory-O-Matic. Tagged with , , .

Mein NSC versteht mich nicht..

Wäre das nicht imba, wenn dein Lieblings NSC dich nicht nur nett anlächeln könnte oder wortlos mit dir handeln könnte, sondern dich verstehen, dir antworten und sich vielleicht sogar an die Gamersprache gewöhnen könnte? Wenn du einen Söldner NSC ansprichst mit “Hey, LFM Torlahöhle, Interesse?” und der antwortet mit “Alles FFA?” – ich fände es toll :) Und klar, Gamersprache ist in einem RP nicht gewollt, aber auch dort gibt es genug Anwendungsfälle, in denen das nice ist: andere Namen für Orte, sprachliche Umgangsformen..

Aber ist das umsetzbar? Nach den ersten Kapiteln aus “The Handbook of Computational Linguistics and Natural Language Processing” von A. Clark, Ch. Fox, Sh. Lappin (Beute aus meinem letzten Unibib Raid) lautet meine vorläufige Antwort leider “Nein”. Aber so schnell lasse ich mich nicht entmutigen..

Posted in Theory-O-Matic. Tagged with , , .