Zombie Bot für top down shooter

  • GM 8
  • Zombie Bot für top down shooter

    Hallo!

    Ich mache gerade einen Zombie topdown shooter und weiß nicht ganz recht, wie ich die Bots programieren soll... Sie sollen eigentlich nur, wenn sie im Haus sind, auf den Player zulaufen. Wenn die Zombies im selben Raum wie der Player sind klappt es ganz dut mit mp_potential_step(player.x,player.y,5,0).
    Wenn der Zombie aber z. B. in Raum 6 und Player in Raum 2 ist, hängt der Zombie sich immer an irgenteiner Ecke auf oder läuf in Richtung Player gegen die Wand.
    Hier noch einmal eine Skizze der Map: (Die braunen Rechtecke sind Türen, die geöffnet werden können)


    Die einzige Lösung, die mir eingefallen ist, ist dass ich bestimme wo der Player ist und dann für jeden Raum, wo ein Zombie sein kann einen Weg, den er gehen soll, erstelle.
    Das währe aber sehr aufwändig. Ich hoffe ihr habt noch bessere Vorschläge.
    LG Katze =^.^=
    :action_drawsprite: :event_collision: :action_killposition: = :action_health:

    :action_drawsprite: + :action_drawsprite: + :action_drawlivesimage: = :action_drawsprite: :action_drawsprite: :action_drawsprite:

    :action_drawsprite: + :action_color: = :action_spritecolor:

    :action_drawsprite: + :action_wrap: = :action_exit:
  • Schau die map die mp_grid* Funktionen an.
    Im groben erstellst du ein Grid über dem Raum, alle Zellen, in denen Mauern sind, werden geblockt und danach kannst du den Zombie mit mp_grid_path einen Pfad berechnen lassen, den er dann ausführt.

    © 2008 by Teamgrill Productions
  • Wenn die Zombis wissen in welchen Raum (wenn er rechteckig ist) sie sind kannst du ihr Bewegungsfeld durch die Abfrage des Aufendhaltortes des Spielerobjektes eingrenzen.

    GML-Quellcode

    1. //Werte für deine Zwecke bitte ändern
    2. if (player.x > 100 && player.y > 10 && player.x < 400 && player.y < 110) mp_potential_step(player.x,player.y,5,0);

    Die Zobmis bewegen sich dann nur wenn der Spieler nah genug an ihnen dran ist und sich in dem von dir defenieren rechteckigen Feld befindet.
  • Benutzer online 1

    1 Besucher