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!
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!