Du bist nicht angemeldet.

  1. Übersicht
  2. » Diskussionen - Teamgeleitet
  3. » KI
  4. » Eine Antwort schreiben

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Bist Du ein Mensch oder ein Roboter ?

Verifizierung, dass diese Aktion durch eine reale Person vorgenommen wird und nicht von einem Programm.

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

Gast2
10.07.2019 19:33

Ist aber wirklich besser, wenn Du Dir angesichts der tobenden Kinderschar so langsam ein gewisses Ordnungsargumentationsgerüst zusammenstellst. smile

Ronny
10.07.2019 18:54

Du kannst ja einfach meine Beitraege und "drauf antwortende Beitraege" rauspfluecken ;-).

Ich scheue halt manches Mal einfach den Mehraufwand "bezug nehmend auf Beitrag X in Thread Y hier meine Replik"-Threads zu starten.


bye
Ron

Gast2
10.07.2019 17:56

Tschuldige, wenn ich den Bürokrator raushängen lasse. smile

Aber in dem TVTower-Strang geht echt viel unter. Wäre gut, den zu schließen und einen für den nächsten Test-Patch zu öffnen.

Es ist einfach gut, Themenspezifisch zu den einzelnen Themen die Fortschritte zu finden, auch wenn es nicht viel oder gar perfekt ist.
Ist dann einfacher, sich wieder einzuarbeiten. Oder als Neuhelfer einen Plan zu finden.

Also plädiere ich für höher Strangdisziplin. smile

Ronny
07.07.2019 14:59

Derzeit sind einige Funktionen die fuer eine KI in "Threads" von mir genutzt wuerden, noch nicht "thread-safe" (hier die "Reflexion" die es ermoeglicht aus Texten wie "TProgrammeLicence" auf die entsprechend genannte Klasse im Code zuzugreifen).


Entsprechend liegt das Projekt "Threaded AI" erstmal auf Eis und ich konzentriere mich auf die Optimierung der genutzten Prozessorzeiten und generell ein paar Verbesserungen in der KI.

bye
Ron

Ronny
21.06.2019 00:27

Habe heute angefangen damit zu experimentieren, die KI in Threads auslagern zu koennen.
Damit muss die KI "asynchron" werden, dass heisst statt direkt die KI-Funktion "OnMinute" (Eine Ingame-Minute ist um) aufzurufen, bekommt sie nur noch die Information auf einen Stapel und muss sich selbst um das Abarbeiten dieser Stapel kuemmern.

Kurzum wuerde die KI also in einer Dauerschleife den "Stapel" ueberwachen statt direkt den Zettel in die Hand zu bekommen und dann just in diesem Moment darauf zu reagieren.


Ich denke das ist notwendig, da vor allem Dinge wie die Programmplanung doch manchmal ein paar mehr Millisekunden brauchen als verfuegbar (bei 60 Logikupdates pro Sekunde bleiben also 15ms fuer die ganze Spiellogik eines Updates - da passen die bei mir teils 40ms fuer die Planoptimierung nicht rein und es fuehrt zu kurzem ... Ruckeln).


Das bedeutet aber, man muss alle moeglichen Stellen beachten um das "KI Programm" (Thread) zu beenden (Spielende, Spielerbankrott, ...), zu pausieren (wenn Menu aufgerufen etc).
Auch muessen zeitgleiche Zugriffe beachtet werden (ki 2 fuegt film in den Plan waehrend die Hauptlogik gerade den Plan auswertet).

Problematisch waere denke ich auch der Schnellvorlauf. Was ist, wenn die KI nicht ganz "hinterherkommt" und sich was aufstaut.
Ich schaetze man muss noch Befehle einbauen die dann doch auf die KI "warten", so dass sie - falls noetig - Zeit bekommt angemessen auf Dinge zu reagieren. Hoffe das ist vermeidbar, da es dem Prinzip der asynchronen Vorgehensweise widerspricht.


Alles in allem ein Garant fuer Fehler. Mal schauen.



bye
Ron