Oder man verpasst den NPC's eine KI, oder genauer gesagt nutzt ein Pathfindingsystem.Zitat
Das frisst allerdings ziemlich viel Prozessorleistung. Einschränken könnte man das ja, indem man festlegt, dass sich die NPC's nicht über ihre Karte hinausbewegen können (also dass zB. eine Stadtwache nur in der Stadt rumlaufen kann und nicht im anliegenden Wald usw.). Dann müssen nähmlich diese NPC's nicht ständig berechnet werden, sondern nur dann, wenn der Spieler die entsprechende Map betritt.
Probleme gibt es beim Pathfinding ja auch nur dann, wenn sich dem NPC unerwarteterweise Hindernisse in den Weg stellen würden. Der Weg eines NPC's muss ja nur einmal berechnet werden, dann wird das Pathfinding erst wieder benötigt, wenn sich ein Hindernis in den Weg stellt. Wenn dies der fall ist, könnte man das Pathfinding ein zweites mal aktivieren, um Performance zu sparen, könnte man eventuell die gespeicherten Daten vom ersten anfänglichen Durchlauf nutzen, denn wenn der zweite Durchlauf wieder auf ein im ersten Durchlauf abgelaufenes Feld, welches hinter dem Hindernis liegt, trifft, dann kann der zweite Durchlauf ja beendet werden und muss nicht bis gaanz zum Ziel durchlaufen.
Ein Pathfindingalgorithmus ist natürlich noch nicht alles, um die KI weiter zu vervollständigen müsste man dem NPC natürlich immernoch den Tagesablauf per Forks verpassen. Diese Tagesabläufe würden dann natürlich auch immer nur beim betreten der entsprechenden Map berechnet werden, müssten dann allerdings ständig im Hintergrund laufen, solange man sich auf der Map befindet.
Also wegen der Performance ist das wie gesagt eher schlecht umsetzbar mit dem RPG Maker, da müsste man mal austesten wieviel NPC's pro Map zumutbar sind, bevor es anfängt zu ruckeln. Die Größe und Struktur der Maps spielt natürlich auch eine Rolle.
Ohmann, ich bin wirklich schlecht im Erklären, wenn man da nicht ein bisschen Ahnung von der Funktionsweise einer Pathfinding Routine hat, wird man aus meinen Ausführungen wohl kaum schlau werden (und selbst wenn, ist es immernoch unverständlich geschrieben^^').






Zitieren