Cybernetic Systems

Game Engineering

für Genres wie Rollenspielen, Actionspiele, Simulationen und allen Spielen die viele Spiel Objekte haben die von der OOA her analysiert prinzipiell autonome Objekte sind, welche in selbständiger Interaktion mit ihrer Umgebung stehen.

 

Beispielsweise:

- Dorfbevölkerung in einem Rollenspiel (tägliches Handwerk, Bedürfnisse wie Essen, Sicherheit, etc.)

- Gegner Horden in einem Wald (Wölfe bekommen Nachwuchs - müssen auch essen, etc.)

- Boss Gegner die sehr umfassend ihre eigenen Ziele verfolgen und Lernfähig sind, etc.

- Nun haben Autos Lenker welche sich individuell verhalten und somit den Verkehr beeinflussen.

- Etc.

 

Schlicht: Alle NPC (=None Player Charakters) die neuerdings nicht nur an einem Ort stehen, sondern sogar eigenmächtig entscheiden und vermutlich immer etwas anders. 

What is the core?

Weiter Entwickeltes OOD (object oriented design):

 

- Die Objekte bekommen Bedürfnisse. Das sind Eigenschaften die einen Zielwert haben und definierte Schwellenwerte wo das Objekt reagieren kann/muss.

 

- Jedes Objekt trifft Entscheidungen (Im Basic Mode auf Fuzzylogic basierend), auch genannt Hirn. Beinhaltet eine Schnittstelle wo eine spezialisierte KI angehängt werden kann (Mustererkennung, maschinelles Lernen, etc.). Zu den freien Entscheidungen gibt es auch die Möglichkeit von fix verdrahtenden Entscheidungen - genannt Instinkt)

Fuzzylogic  nach dem englischen Wort Fuzzy (unscharf). Verallgemeinerung der zweiwertigen Booleschen Logik, die vor allem für die Darstellung menschlichen (und damit unscharfen) Wissens entwickelt wurde (https://de.wikipedia.org/wiki/Fuzzylogik).
Bei mir gibt es einen definierten Grenzbereich wo es nach Zufall entschieden wird. Dies habe ich erweitert um weitere Einflussfaktoren welche unterschiedliche Entscheidungen unterschiedlich gewichten)

 

- Lernfähig; getroffene Entscheidungen werden gemessen und haben Einfluss auf zukünftige Entscheidungen. (in der Basis nur auf Erfolg/nicht Erfolg innerhalb eines definierten Zeitrahmens)

 

- Die Objekte werden lebendig. In einem komplexen Gameloop mit spezialisierten Deltalisten werden die Bedürfnisse ständig abgefragt und angepasst - worauf die Objekte mit Entscheidungen reagieren können/werden)

 

- Schwarm KI: eine (relativ) grosse Menge von Objekten einer Klasse kann durch die indirekte Programmierung (per Setting) von spezifischen Entscheidungen bei der Klasse zu einem intelligenten Schwarm implementiert werden.

Technical view

Bibliotheken

Bibliotheken welche eine Schnittstelle anbieten die in alle Klassen aufgenommen werden muss welche die erweiterten Möglichkeiten nutzen sollen. Zudem muss die abstrakte Basisklasse das AuObj in den Basis Gameloop deines Spiels aufgenommen/angesprochen werden.

Programmierung/Konfiguration des Objektvverhaltens

1. Den Klassen muss folgend die Eigenschaften nach bekannter Manier definiert werden

2. Die Bedürfnisse mit ihren Schwellenwerten müssen definiert werden. Das sind erweiterte Eigenschaften, meistens ein ganzer Satz davon. Hier können auch Instinkte direkt verdrahtet werden (normale Events) ausgelöst werden. Zudem unterliegen Bedürfnisse automatischen Veränderungen. Beispiel: nötiger Wasserlevel im Körper, Durstschwelle, Wasserverbrauch).

3. Die Skills müssen definiert werden. Einerseits sind das bekannte Methoden. Andererseits sind das auch Vorgehensweisen und Scripte die über mehrere Impulszyklen bestimmend sind.

Beispiel: trinken, suchen (Wasser)

4. Die Sensoren müssen konfiguriert werden (Sichtweite, Hörschärfe, etc.).Insbesondere der allenfalls gebrauchte 6. Sinn)

Beispiel: Wasser sehen/riechen, bestimmte Uferbäume entdecken. 

5. Entscheidungen/Schwarmverhalten implementieren. Verknüpfungsstelle aller vorher genannter Komponenten über Fuzzylogik. Teils in Grundfähigkeiten vorhanden

 

etc.

Mehr Details, welche Sprachen welche Plattformen später...