Was wir machen?

Das Auoji

Das Auoji als Game KI Engine steht im Fokus. Dies ist die Grundlage für alles weitere

Das HumansWorld Game

Das ist ein Game. Mein Game, Joe Black’s Game. 

 

Es soll dazu dienen aufzuzeigen, was die Auoji KI Engine leisten kann.

 

Darüber hinaus ist es mein Favoriten Game schlichthin. So will ich ein Game haben. Da gehört sogar die Entwicklung auch in späten Phasen des Projektes hinzu (Das Ergänzen mit Bedürfnissen, Fähigkeiten, Möglichkeiten etc.)

#0004
#0004

Wie kann ich die NPC (None Player Charakters) eines Rollen Spieles in einer Open World wesentlich intelligenter machen?

Grundlage

Seit dem Jahre 2000 wurden die NPC in Rollenspielen/OpenWorld Games nur unmerklich besser. Nach wie vor versucht es die Game-Industrie mit zentralen KI Lösungen und mit geskripteten Objekten.

 

Das ist offensichtlich der falsche Ansatz → Erfolgslos in 20 Jahren Arbeit. 

 

Nun da kommt eine Lösung mit einem AOS (Autonomen Objekt System). Umgesetzt mit Auoji.

 

Ich erkläre es hier am Beispiel von Adam (einem Menschen).

Beschreibung von was Erlebt wird und dem technischen Hintergrund dazu

Kontext

Wir sehen auf eine 2D-Welt aus der Vogelperspektive. (Es schwebt ein Zeppelin über der Welt und wir schauen hinunter)

Erlebt, wir sehen

Adam schaut herum, hat aber kein Grund irgendwohin zu gehen

Die Technik dazu

Alle Sensoren sind immer(meistens) wach und registrieren 30x in der Sekunde, was diese erfassen. Er dreht den Kopf unregelmässig um alles zu sehen und zu hören, zu riechen etc.

 

Das Kurzzeitgedächtnis (RAM-Liste) führt immer eine aktuelle Liste aller relevanten Sensor-Ereignisse.

Wichtige Elemente werden ins Gedächtnis (Datenbank) übertragen.

 

Adam registriert einen Bach und einen Beerenbusch in seinem Gedächtnis (Datenbank), mit dem Ort wo diese sind.

Ausführung

Sehen, riechen, schmecken, hören und fühlen sind die Sensoren des Menschen.

Tiere haben andere, bzw. andere Ausprägungen.

 

Auch Pflanzen. Ein Baum kann nicht sehen. Aber fühlen.


Adam hat Durst und hatte vorher schon einen Bach gesehen. Er geht zum Bach zum trinken

Das Objekt (Adam) lebt und hat Bedürfnisse, dessen es nachgehen will. Es ist also im Game Loop 30x in der Sekunde, nicht nur um die Sensoren zu lesen, sondern auch um zu handeln.

 

In seinen definierte Bedürfnissen (Programmiert) hat er einen gewissen Wasserhaushalt definiert (Eine Zahl mit Minimum und Maximum und verschiedenen Schwellenwerten sowie den Konsequenzen). Individuell ausgerichtet pro Objekt. Die grösste Konsequenz beim Wasser ist das Sterben, wenn kein Tropfen mehr Wasser im Körper mehr ist.

 

Dies Konfiguration kann eingesehen und auch überschrieben ‘konfiguriert’ werden. Als Gott (Es) kannst Du das.

 

Er hat etwas wenig Wasser mit der Zeit. Also ist er im Zustand 'durstig'. Bei Durst weiss Adam, dass er trinken soll (programmiert)

 

In seinem Instinkt (programmiert) weiss er, dass er einen Bach braucht um zu trinken. Was der Sensor Augen gesehen hat ist im Gedächtnis (Datenbank) oder sogar im Kurzzeitgedächtnis (Liste im RAM). Er hat sich also den Bach sowie den Ort wo der ist gemerkt.

 

Dazu weiss er Instinktiv (programmiert), dass er hinlaufen kann zu etwas wo er hin/haben will. Also benutzt das Objekt (Adam) die Funktion laufen zu einem bestimmten Punkt (inklusive Weg-Findung)

 

Ist er vor Ort, bietet das Objekt ‘Bach’ Wasser an, welches Adam nutzt. Je nach Objekt wird mindestens bis 3000ml Wasser getrunken, maximal bis 7000. Pro Frame vielleicht 50ml

 

Natürlich schaut er sich währenddessen ständig um, riecht und hört auch.

Die Konfiguration vom Bedürfnis den Wasserhaushalt stabil zu halten

Beispiel, die Zahlen sind etwas individuell ja nach Objekt, des Homo-Sapiens:

7000 ml  pro Objekt als Maximum

7000 ml - 3000 ml → Normalzustand (Kein Zustand)

3000 ml und weniger versetzt das Objekt in den Zustand 'durstig'.

500 ml beeinträchtigt die Laufgeschwindigkeit

3000 ml - 1 ml beeinflusst das Risikoverhalten

0ml das Objekt Homo Sapiens stirbt (bleibt Kadaver übrig)

 

Fähigkeiten um das Bedürfnis zu bedienen.

  • Laufen (programmiert). Sowie den Weg finden durch das Gelände
  • Trinken (programmiert). Optisch am Rand des Baches stehend - Hand in Wasser und Hand zu Mund. 50 ml pro Hand beim Mund.

 

KI (selbständig)

  • Weiss wo ein Bach ist oder sucht. erlernt die Orte.

Es taucht während dem Laufen zum Bach ein Bär auf. Er weicht dem Bären aus

Die Augen Sensoren entdecken den Bär, wo alles im Kurzzeitgedächtnis (RAM-Liste) ist.

Dort drin ist jetzt auch der Bär. Jetzt ist der Adam auch noch im Zustand ‘ängstlich’.

Die Instinkte Bär (sich entfernen) und der Durst (zum Bach laufen um zu trinken) steht nun im Widerspruch.

Alles im Kurzzeitgedächtnis wird gewichtet und in Parameter für die Fuzzy Logik Fuzzylogik  Mechanik umgesetzt.

Die Fuzzylogik (unscharfe Entscheidung) ist nun mit Prozentwahrscheinlichkeiten versehen. Ich habe deshalb ein Parametrisierung System für die Fuzzy Logik entwickelt.

 

Nun wird gemäss der Fuzzy Logik eine Entscheidung getroffen, was jetzt am wichtigsten ist.

 

Das wird 30 Mal in der Sekunde gemacht. Es kann natürlich sein, dass er mal findet trinken ist wichtiger und eine Zehntelsekunde sich wieder zum Bach umdreht. Vielleicht hat er Glück…

Das ist der Fall, wenn der Durst immer grösser wird - weil einmal wird er sterben, wenn er nicht trinkt (nicht trinken kann)

 

Der Ort wo der Bär ist, wird beim Objekt automatisch ergänzt mit dem Wissen, dass dort schon mal der Bär war….

Bedürfnis überleben

Instinkt (Datenbank). Der Eintrag eines Bärs im Kurzzeitgedächtnis (und dann auch Gedächtnis). Da steht, entfernen, bzw. nicht weiter nähern vom Bär.

 

Fähigkeiten

 

Laufen und Weg finden (programmiert)

 

KI (selbständig)

 

Wahl:

 

stehen bleiben und abwarten

 

zurückgehen und anderen Weg suchen mit Sicherheitsabstand

 

Einfach anders abbiegen

 

Die Fuzzy Logik entscheidet. Einfluss hat auch der Charakter des Adams

 

Die Gefahr und der Erfolg des Überlebens wird gemerkt. Wenn Adam sich entschieden hat  stehen zu bleiben und zu warten, steigt die Möglichkeit, dass er das beim nächsten Mal wiederholt