Skocz do zawartości

AI wroga


trolu122

Rekomendowane odpowiedzi

A żeś mu pomógł...

 

Masz takie prościutkie AI. Trzeba by jeszcze zrobić wykrywanie, czy pocisk leci bardziej w lewą, czy prawą część przeciwnika, i zależnie od tego on robi unik w odpowiednią stronę.

Jakby co - kod nie testowany, nigdy ie robiłem AI top-down. Ale chyba działa :P

GML
//Robisz sobie jakieś dwie zmienne, go_x, oraz go_y. (oczywiscie bohater do nich automaycznie idzie...)

if(pocisk jest blisko wroga && leci w kierunku playera (choćby collision_line)) //Oczywiście to się tyczy najbliższego pocisku (nearest)

{

if(random(1) < 0.5) //50% szans

{

new_dir = <direction pocisku>+90; //badam direction NAJBLIZSZEGO pocisku

}

else

{

new_dir = <direction pocisku>-90; //To jest dir, w ktorym enemy bedze robil unik

}

 

go_x = lengthdir_x(32, new_dir)

go_y = lengthdir_y(32, new_dir)

}

Odnośnik do komentarza
Udostępnij na innych stronach

@up: lol... '-.-

 

Ty wiesz, jak działa GM'owe mp_potential_step()...?

Wróg będzie szedł w stronę gracza, prosto na pocisk. I dopiero, kiedy już nie będzie mógł iść do przodu (będzie styczny do pocisku), zacznie go omijać. Nawet, jeśli pocisk poruszałby się 1px/s, to i tak trafiłby wroga...

 

Zresztą omijanie przeszkód nie uwzględnia ruchomych obiektów, nie nadaje się do tego. A już na pewno to GM'owe...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...