4 Stimmen

PacMan-Charakter-KI-Vorschläge für die optimale nächste Richtung

Erstens ist dies KI für PacMan und nicht für die Geister .

Ich schreibe ein Android-Live-Wallpaper, das PacMan um Ihre Icons herum spielt. Es unterstützt zwar Benutzervorschläge durch Berührungen des Bildschirms, aber der Großteil des Spiels wird von einer KI gespielt. Ich bin zu 99 % mit der Programmierung des Spiels fertig, aber die KI für PacMan selbst ist noch extrem schwach. Ich suche Hilfe bei der Entwicklung einer guten KI für die Bestimmung von PacMan's nächster Bewegungsrichtung.

Mein ursprünglicher Plan war folgender:

  1. Initialisieren Sie einen Punktezähler für jede Richtung mit einem Wert von Null.

  2. Beginnen Sie an der aktuellen Position und verwenden Sie ein BFS, um die vier möglichen Ausgangsrichtungen zu durchlaufen, indem Sie sie der Warteschlange hinzufügen.

  3. Nehmen Sie ein Element aus der Warteschlange, stellen Sie sicher, dass es nicht bereits "gesehen" wurde, stellen Sie sicher, dass es sich um eine gültige Brettposition handelt, und fügen Sie der entsprechenden anfänglichen Richtungsbewertung einen Wert für die aktuelle Zelle hinzu, der darauf basiert:

    1. Hat einen Punkt: plus 10
    2. Hat eine Steigerung der Leistung: plus 50
    3. Hat eine Frucht: plus Fruchtwert (variiert je nach Stufe)
    4. Hat einen Geist, der sich auf PacMan zubewegt: 200 abziehen
    5. Hat einen Geist, der sich von PacMan entfernt: nichts tun
    6. Hat einen senkrecht laufenden Geist: 50 % abziehen
    7. Multiplizieren Sie den Wert der Zelle mit einem Prozentsatz, der von der Anzahl der Schritte bis zur Zelle abhängt. Je mehr Schritte von der Ausgangsrichtung entfernt sind, desto näher liegt der Wert der Zelle bei Null.

    und reihen Sie die drei möglichen Richtungen von der aktuellen Zelle aus ein.

  4. Sobald die Warteschlange leer ist, suchen Sie die höchste Punktzahl für jede der vier möglichen Ausgangsrichtungen und wählen diese aus.

Auf dem Papier hörte sich das für mich gut an, aber die Geister umgeben PacMan extrem schnell und er zuckt in denselben zwei oder drei Zellen hin und her, bis ihn einer erreicht. Auch das Anpassen der Werte für die Geisterpräsenz hilft nicht. Mein nächster Punkt BFS schafft es zumindest auf Level 2 oder 3, bevor das Spiel endet.

Ich bin auf der Suche nach Code, Gedanken und/oder Links zu Ressourcen für die Entwicklung einer richtigen KI - vorzugsweise die ersten beiden. Ich möchte das Projekt an diesem Wochenende auf den Markt bringen, also bin ich etwas in Eile. Jede Hilfe ist sehr willkommen.


Zu Ihrer Information: Dieser Beitrag wurde manuell auf GameDev.StackExchange

0voto

Adamski Punkte 52945

Sie sollten sich diese Beschreibung von Anti-Objekte Dies ist die Technik, die die Pacman-Geister verwenden, um das Labyrinth zu durchqueren. Beachten Sie insbesondere:

Jedes dieser Anti-Objekte oder Mittel hat einen identischen und einfachen Algorithmus den er bei jeder Spielrunde ausführt Spiels ausführt. Anstatt Ghosts so intelligent zu machen genug zu machen, um "kürzeste Wege" zu lösen Probleme im Labyrinth zu lösen, wird stattdessen ein Begriff von "Pac-Man-Duft" geschaffen, und jede Kachel ist verantwortlich für die Aussage wie viel Pac-Man-Duft sich auf seinem Spielstein befindet.

Sie denken also über eine ähnliche duftbasierte Technik zur Kontrolle von Pacman nach, bei der Pacman vielleicht lieber einen Weg mit einer geringeren Menge an Duftstoffen zurücklegt, um die Wahrscheinlichkeit zu verringern, dass er über altes Terrain läuft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X