Kürzester Weg für Gegner

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kürzester Weg für Gegner

    Hallo erst mal, ich möchte ein kleines Strategiespiel programmieren.
    Ich stufe meine Programmiererfahrung als Fortgeschritten ein. (Dies vor allem bei "anderen Programmiersprachen", nicht so ganz bei GML)

    Da Programmieren (hauptsächlich Spiele) viel mit Logischen Denken und Mathe, sowie grafisches Design zu tun hat, habe ich mir gedacht mal ein Strategiespiel mit GameMaker zu programmieren.

    Jetzt geht es mir darum wie ich den kürzesten Weg (in einer Gitter-Matrix) zum Spieler finden kann.

    Also folgende Bedingungen:

    Das Spielfeld kann unterschiedliche Größen haben. Wir nehmen einfach mal ein Spielfeld von 6x6 Feldern an. Dieses Spielfeld ist immer von einer kompletten unpassierbaren Wand umgeben. Innerhalb des Spielfeldes gibt es immer wieder unpassierbare Hindernisse. Diese Hindernisse können als Schutz für den Spieler dienen oder einfach nur als Blockade für den Gegner. Wir nehmen jetzt einfach mal einen Gegner und einen Player in diese Matrix. Das Grid legen wir jetzt einfach mal auf 32x32 fest. Der Player und der Gegner dürfen sich nur grid-basierend bewegen. Eine diagonale Bewegung ist nicht möglich. Der Spieler darf sich immer nur 1 Feld bewegen und der Gegner bewegt sich normal 2 Felder.

    Der Gegner möchte immer auf kürzesten Weg zum Spieler und der Gegner versucht immer zu erst einen horizontalen Schritt. Wenn kein horizontaler Schritt möglich ist versucht er einen vertikalen Schritt. Kann der Gegner keinen Schritt durchführen stößt er an ein Hindernis.

    Jetzt kommt die Frage: Wie könnte ich so eine Wegfindung für den Gegner programmieren? Bin bis jetzt noch zu planlos und brauch zumindest einen Denkanstoß.

    Danke, für jede Hilfe!
  • Hallo willkommen im Forum ;)
    Ich kann das Video von LetsGameDev auf YouTube empfehlen. Hab jetzt nur kein Link parat ^^

    Fröhliche Weihnachten :)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Das Video was Husi meint ist wahrscheinlich das hier: https://www.youtube.com/watch?v=4cIkP9Yw7h

    Ansonsten ist hier noch eine englischsprachige Übersicht über jede Menge A*-Kram: http://theory.stanford.edu/~amitp/GameProgramming/

    und eine A*-Extension findest du hier: http://gmc.yoyogames.com/index.php?showtopic=570621

    LG und frohe Weihnachten :D