Guten Morgen liebe Java-Community! :smoke:
Da ich zur Zeit an einem kleinen Spiel programmiere, wollte ich hier mal nach konstruktiven Rat fragen / Ideen sammeln.
Das ganze ist eine Art Pacman. Das Problem ist jetzt die KI.
Für die Geister, welche versuchen den "Player" zu fangen, nutze ich einen A*-Algorithmus mittels PriorityQueue. Das ganze läuft auch sehr schnell, jedoch muss der Weg jede Runde neu berechnet werden.
Da das ganze später auch Netzwerkfähig sein soll, wird es nicht zwingend nur einen Spieler geben.
Jeder Geist muss also jede Runde folgendes machen:
Jetzt zu meiner Frage:
Hat jemand von euch Erfahrung mit solch einem Problem oder eine Idee, wie man das ganze etwas cleverer lösen könnte?
Meine erste Überlegung war, das sich der Geist einen Spieler aussucht, den Pfad berechnet und diesen erst abläuft, bis er am Ziel ist. Ist der Spieler nicht mehr dort, wird neu berechnet.
Das führt allerdings zu einer sehr dummen KI :applaus:
Ich bin auf eure Ideenvielfalt gespannt!
MfG Chasmo
Da ich zur Zeit an einem kleinen Spiel programmiere, wollte ich hier mal nach konstruktiven Rat fragen / Ideen sammeln.
Das ganze ist eine Art Pacman. Das Problem ist jetzt die KI.
Für die Geister, welche versuchen den "Player" zu fangen, nutze ich einen A*-Algorithmus mittels PriorityQueue. Das ganze läuft auch sehr schnell, jedoch muss der Weg jede Runde neu berechnet werden.
Da das ganze später auch Netzwerkfähig sein soll, wird es nicht zwingend nur einen Spieler geben.
Jeder Geist muss also jede Runde folgendes machen:
- Den Pfad zu jedem Spieler berechnen
- Vergleichen, welcher Pfad der kürzeste ist
Jetzt zu meiner Frage:
Hat jemand von euch Erfahrung mit solch einem Problem oder eine Idee, wie man das ganze etwas cleverer lösen könnte?
Meine erste Überlegung war, das sich der Geist einen Spieler aussucht, den Pfad berechnet und diesen erst abläuft, bis er am Ziel ist. Ist der Spieler nicht mehr dort, wird neu berechnet.
Das führt allerdings zu einer sehr dummen KI :applaus:
Ich bin auf eure Ideenvielfalt gespannt!
MfG Chasmo
Zuletzt bearbeitet von einem Moderator: