Muchaszewski Opublikowano 28 Lipca 2008 Udostępnij Opublikowano 28 Lipca 2008 Jak można zrobić bota który by robił różne czynności np. Pomoc innym botom Sam by uczył inne boty (po nauczeniu go) Myślałem nad tym aby w pomocy inny, bot by wzywał i ustawiał priorytet wszystkim botom lecz jak to zrobić!!! :( (Obie czynności) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 28 Lipca 2008 Udostępnij Opublikowano 28 Lipca 2008 Sporo pisania, aby uzyskać tak zaawansowany system AI :P Zacznij od czegoś prostszego, bo taki system to nikt Ci za darmo go nie napisze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 28 Lipca 2008 Udostępnij Opublikowano 28 Lipca 2008 prosty podstawowy system: kazdemu botowi w create dajesz GML umiejetnosc[1] = 0 umiejetnosc[2] = 0 umiejetnosc[3] = 0 umiejetnosc[4] = 0 w stepie dajesz im GML if umiejetnosc[1] = 1 //mozesz tez dac inne warunki, odleglosc od jakies sciany, przeciwnika, czy bot jest uszkodzony czy co tam chcesz { //wykonywanie tej umiejetnosci } if umiejetnosc[2] = 0 { //wykonywanie tej umiejetnosci } if umiejetnosc[3] = 0 { //wykonywanie tej umiejetnosci } if umiejetnosc[4] = 0 { //wykonywanie tej umiejetnosci } O uczeniu sie musialbym sie dluzej zastanowic, a teraz czasu nie mam. Jak te umiejetnosci ma bot wykonywac to juz musisz sam sobie napisac. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muchaszewski Opublikowano 28 Lipca 2008 Autor Udostępnij Opublikowano 28 Lipca 2008 Dzięki :D ale coś takiego to bym sobie sam napisał ale mi chodzi o priorytet (głównie) Rozwiązałem cały ten problem sam i było rozwiązanie prostsze niż można sobie wyobrazić. GML if global.aktualny_priorytet > global.priorytet_nowy { //Wyłącz event } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 28 Lipca 2008 Udostępnij Opublikowano 28 Lipca 2008 Ja właśnie będę robił przykład bota;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 1 Sierpnia 2008 Udostępnij Opublikowano 1 Sierpnia 2008 W przykładzie daje priorytet dla medyka na polu bitwy Priorytet możesz dorobic w kilka sposobow 1.Im wyższa ranga tym wyższy priorytet 2.Im mniej lifa tym wyższy priorytet 3.Im dalej tym mniejszy priorytet. 4.Im blizej osoby jest wrog tym mniejszy priorytet(po ludzku tchórz:)) A jakby bylo, że medyk miałby szeregowego obok i sierżanta 200 pikseli dalej, a sam jest 2x2 pikseli i do sierżanta leci, można jeszcze dorobic, ze ponad pewna odlegloscia jakastam czesc priorytetu nie funkcjonuje. P.S. wiem że sobie poradziłeś, ale to taka ciekawostka do zmiany priorytetu :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dziadekkleofas Opublikowano 1 Sierpnia 2008 Udostępnij Opublikowano 1 Sierpnia 2008 Najprostszy i najinteligentniejszy jest system drzewka. Na samym szczycie jest najprostsza animowana czynność, tzn. odpoczynek, spacer, patrol. Potem następuje rozgałęzienie czynności uwarunkowane jakimiś triggerami, tzn. spotyka przyjaciela, nagle zostaje poważnie zraniony czy zostaje zaatakowany przez wroga. I bot schodzi niżej - przy spotkaniu z przyjacielem może go leczyć, pomóc mu w walce, oddać amunicję, kryć go. Przy zranieniu - udać się do medyka czy też samemu spróbować zatamować krew. Przy walce - od razu oddać strzał czy przedtem znaleźć jakieś schronienie i przeładować broń. Podczas wykonywania czynności następują przeskoki między nimi. Np. po schowaniu się i przeładowaniu ostrzał wroga, po wyleczeniu ran spatrolowanie zagrożonego terenu jeszcze raz albo ostrzeżenie innych botów, po wspólnej walce z przyjacielem uzupełni mu zapas amunicji itp. Najprostszy, a zarazem najbardziej realistyczny system. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 1 Sierpnia 2008 Udostępnij Opublikowano 1 Sierpnia 2008 Podobnym w działaniu jest drabinka czynności, która polega na uszeregowaniu działań pod priorytetów. Jeżeli przyjaciel jest ranny - wykonaj akcję, jeśli nie - sprawdź mniej priorytetową czynność. Konstrukcja jest banalna, a polega tylko na: GML if czynnosc_priorytetowa = 1 { //wykonaj } else if czynnosc_mniej_priorytetowa = 1 { //wykonaj } (...) else if czynnosc_malo_priorytetowa = 1 { //wykonaj } else Oczywiście - czynnosc_ to wybrany zestaw warunków. Powyższa metoda jest prostsza niż drzewko, ale za to sprawdza się przy mało skomplikowanych działaniach. Została zastosowana w mojej grze i dobrze się spisuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę