Entwickler-Ecke

Algorithmen, Optimierung und Assembler - PACMAN Pathfinding


DerNetteNachbar - Mo 11.05.09 11:47
Titel: PACMAN Pathfinding
Einen schönen guten Morgen an alle,
momentan befasse ich mich mit dem oben genannten Problem.
Die jetzige Implementation beruht auf negierte Nachahmung der Tasten die vom User gedrückt werden. Ich möchte für den Geist einen relativ intelligenten und vorallem eigenständigen Algorithmus entwerfen.
Ich hoffe ihr könnt mir helfen.

MfG

derNetteNachbar


BenBE - Mo 11.05.09 12:02

Also A* könnte Dir da zum einen helfen, aber auf eine Reihe anderer klassischer Algorithmen.

Als Ziel für diese Algorithmen ist es sinnvoll, den Punkt anzuvisieren, den sowohl der User, als auch der Geist am schnellsten erreichen ... Wobei der Weg in User-Lauf-Richtung bevorzugt wird.

Gibt es allein einen Weg, dann Bot auf schnellstem Wege zum User ;-)


DerNetteNachbar - Mo 11.05.09 12:26

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Also A* könnte Dir da zum einen helfen, aber auf eine Reihe anderer klassischer Algorithmen.

Als Ziel für diese Algorithmen ist es sinnvoll, den Punkt anzuvisieren, den sowohl der User, als auch der Geist am schnellsten erreichen ... Wobei der Weg in User-Lauf-Richtung bevorzugt wird.

Gibt es allein einen Weg, dann Bot auf schnellstem Wege zum User ;-)


Kann man dies etwas präzisieren?


jfheins - Mo 11.05.09 12:53

Grob umrissen:

Für jedes Monster:

1. Lege alle umliegenden begehbaren Felder in eine Liste. Jedes Element erhält dabei eine Bewertung, z.B. Wert = gegangener Weg + Luftline zu Pacman. (Hier ist also eine niedrige Bewertung gut) Wenn bei einem Feld der QWeg zu pacman =0 ist (Pacman ist auf dem feld) breche die Suche ab (bester Weg gefunden)

2. Nehme das erste Element (mit der besten Bewertung) aus der Liste heraus und gehe zu Schritt 1 ;)


Florian H. - Mo 11.05.09 15:42

Hier ist ein gutes Tutorial, dass du sicher ganz einfach in dein Spiel einbauen kannst:

dann auf Tutorials >> Pathfinding [http://www.delphigl.com/]

Viele Grüße, Florian


Marc. - Mo 11.05.09 18:01

Bezüglich Pathfinding finde ich folgenden Artikel sehr gelungen: Tiefensuche, A*-Suche und das Hillclimbing [http://www.delphipraxis.net/topic85844.html].


Thorsten83 - Mo 11.05.09 18:07

Hey,

ich glaube für pacman ist ein A* etwas übertrieben, oder?
Ich weiß noch nicht mal ob er schneller ist als eine einfache Breitensuche, da das Berechnen der unteren Schranke und die Heap-Operationen ja auch ihre Zeit brauchen...


jannn20 - Fr 05.06.09 18:10

Marc. Danke für den Link


DerNetteNachbar - Mo 15.06.09 10:16

Ich danke euch herzlich. Hat alles geklappt.