Skocz do zawartości

AI do RPGa


Rekomendowane odpowiedzi

Witam!

Robię grę RPG. Poprzestałem na zrobieniu pierwszego typu potworów. Potwory umieściłem w roomie. No i teraz została rzecz bardzo trudna do zrobienia(jak dla mnie). Chcę zrobić swego rodzaju AI. Chciałbym aby potwory przemieszczały się losowo(w górę, w prawo i lewo, w dół) z jakąś prędkością. Co jakiś czas mają zmieniać kierunek poruszania się. W momencie, kiedy gracz podejdzie do potwora(np. na odległość 250 pikseli), potwór ma automatycznie zacząć zmierzać ku graczowi stosując tylko podstawowe kierunki(góra, prawo, lewo, dół).

Proszę o pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

Pisanie kodu AI jest rzeczą ciężką nawet jeśli assassin pomoże Ci w tym nie wiadomo czy będzie odpowiadał Ci styl gry BOT-a. Bo może być za łatwo lub za trudno. Zrób obiekt o_AI czy jakoś tak. Daj tam zmienne wszystkie te które ty masz czyli surowce i tym podobne i na przykład na początek każ mu budować budynki, zbierać surowce potem rekrutuj wojsko i go na twój obóz ;).

 

E. O kurde napisał do rts.

Odnośnik do komentarza
Udostępnij na innych stronach

Ustawienie alarma, losowych kierunków i warunku z odległością to nie jest AI tylko pięć linijek

nieznaczącego kodu. AI do Rpg to chyba najtrudniejsze z możliwych, trzeba uwzględnić milion

zmiennych, łykanie potionów, używanie itemów, algorytmy działań itp.

Odnośnik do komentarza
Udostępnij na innych stronach

Potworki też łykają poty?

Ja w swojej zrobiłem potwora idącego w stronę gracza, który jak dojdzie to atakuje czeka trochę potem znowu atakuje (gracz.hp-=5) a jak jesteś od niego daleko to nie idzie za Tobą.

Proste :>

To losowe chodzenie to tak samo łatwa sprawa ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie no, że ja muszę wymieniać? Dobra, masz:

-Baldur's gate I i II,

-Ice wind dale I i II,

-NWN I i II,

-Diablo I i II,

 

na przykład, i tak się robi, jeden obj i tylko zmienia się np. grafika, cechy itp.

 

Edit: To nie jest takie łatwe jak napisałeś.

Odnośnik do komentarza
Udostępnij na innych stronach

W dobrym Rpg'u wszystkie rodzaje przeciwników powinny mieć tyle samo zmiennych i takie same

ale różne wartości w zależności od potwora, czyli teoretycznie zwykły potwór powinien móc

robić nawet to co np. jakiś tam boss.

 

Dokładnie, tylko zmienne odpowiadają za np. prędkość potwora i ilość zadawanych obrażeń ;)

Ja mam takie coś:

GML
//////////////////////////////////////////

////////////K A R A L U C H //////////////

//////////////////////////////////////////

hp=20 //// zycie

zasieg=10 //// zasieg ataku

sila=10 //// sila ataku

czas_atak=100 //// szybkosc ataku</span>

 

I tylko zmieniam te wartości, co prawda jeszcze nie mam dużo zrobione w mojej grze, i nie wiem co jeszcze dodać i czy w ogóle będą bossy, ale takie coś mi wystarcza. A poty może brać tylko postać, chociaż może dodam je też do innych inteligentnych i humanoidalnych wrogów :)

Odnośnik do komentarza
Udostępnij na innych stronach

AI na poruszanie się:

 

CREATE:

GML
alarm[0]=1

 

 

ALARM[0]

GML
//poruszanie sie wroga

ide=round(random(1)) //idzie lub stoi

ile=irandom_range(20,200) //ile razy sie poruszy (od 20 do 200 razy)

kont=round(random(0,360)) //kat ruchu

if ide=0 {repeat(ile)direction=kont; speed=2 } //idzie, speed mozesz zmienic (speed to predkosc poruszania sie)

if ide=1 {repeat(ile)hspeed=0; vspeed=0} //stoi

alarm[0]=ile

 

Oczywiście gm8. Jeśli chcesz pod starsze wersje zastąp irandom_range zwykłym randomem. Bede miał kredki? ;)

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ę...