Autor Wątek: AI w RPG 2D  (Przeczytany 3767 razy)

Offline Ju1ian

  • Użytkownik

# Luty 24, 2009, 22:49:11
Witam! Od razu mówię, że chodzi tu o proste "gonienie" playera przez potwora. Zupełnie nie wiem jak się za to zabrać. Czytałem artykuły na gamedevie, ale niezbyt mi to dało ;/ Bardzo proszę warsztatowiczów o jakąkolwiek pomoc. Z góry dziękuję. Pozdrawiam.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Dab

  • Redaktor
    • blog

# Luty 24, 2009, 23:06:54
A*

Offline kuba

  • Użytkownik

# Luty 24, 2009, 23:21:25
Mała rada: jeśli nie radzisz sobie z takim "małym" AI, to nie bierz się za RPG ;) Zrób jakiegoś shootera lub przygodówkę, dopiero po niej, weź się za RPG jeśli już .. ;)

Offline Ju1ian

  • Użytkownik

# Luty 24, 2009, 23:24:00
Przygodówkę robiłem. Ale w tej grze już tyle mam zrobione, że aż żal rzucać ;/

Offline kuba

  • Użytkownik

# Luty 24, 2009, 23:31:48
Kto powiedział rzucić? :) Albo odłożyć na później i podszkolić się w tym, czego nie umiesz, lub poszukać kogoś od AI ;)

Offline sobol

  • Użytkownik

# Luty 25, 2009, 00:24:05
Odłożenie na później == rzucenie ;p
@pytanie - nie napisałeś jakie są warunki, w jakim środowisku i jaki wpływ to środowisko ma na "gonienie", jak bardzo proste ma to być, w ogóle nic nie napisałeś, tylko, że chcesz gonić. Moja odpowiedź - wektor potwór -> gracz normalizujemy, mnożymy przez skalar szybkości potwora i dt, a potem przesuwamy tego potwora o ten wektor.
<edit> za górami, za lasami, za trzema tematami (niżej w tym samym dziale)
http://forum.warsztat.gd/index.php/topic,9155.0.html

Offline Ju1ian

  • Użytkownik

# Luty 25, 2009, 10:57:38
Ok dzięki, nie zauważyłem tego tematu. Zastosuję "algorytm" ciVisa ;P Jest on na tyle prosty, że go rozumiem lol :P
EDIT:
No teraz działa, tyle że troll od razu do mnie podchodzi, a jak ja się ruszę to on nie
EDIT 2:
Oki zrobiłem coś inaczej i teraz chodzi za mną zawszę, tylko że chodzi po ukosach, a nie po kratkach. To gra RPG od góry
EDIT 3:
Ok wszystko działa. Tylko chcę dorobić kolizję z mapą (z graczem już mam). Mam takie coś:
(map[mapa_y + (troll.y - scrolling_y) / 40][mapa_x + 1 + (troll.x - scrolling_x) / 40]) == 0)
I tak do wszystkich kaflów (ten kod jest do warunku chodzenia - może iść jeśli map[..][...] == 0 itd.). Problem w tym, że gra się nie kompiluje. Pracuje w Dev - C++, a jak to każdy wie (chyba) to środowisko ma beznadziejnego debuggera. Wyświetla mi, że błąd jest w funkcjach usuwających bitmapy, timery itp. z pamięci (np. destroy_bitmap(ludek);, allegro_exit();). Błędu tam na pewno nie ma, gdyż wszystko jest tam zapisane poprawnie. Bardzo proszę o wskazówki. Pozdrawiam, Ju1ian.
« Ostatnia zmiana: Luty 26, 2009, 19:23:07 wysłana przez Ju1ian »

Ctrl`

  • Gość
# Marzec 02, 2009, 19:27:43
Daj kod, chociaż te linie na których kompilator wywala błędy.
Tak z ciekawości kodzisz wszystko w jednym pliku czy kilku ? No bo jak wszystko walisz byle działało to może błąd tkwi tam gdzie nawet nie zajrzałeś...
A najlepiej przerzuć się na visuala, też miałem z tym kiedyś opory ale chociaż ze względu na ten debuger warto. Jest darmowy.

Offline Ju1ian

  • Użytkownik

# Marzec 02, 2009, 19:38:06
Temat można zamknąć. Już nie potrzebuję pomocy.