AI w popularnych silnikach 3d

0

Jakiś czas temu, w 3ds max zacząłem robić modele low poly budynków, obiektów, zombie i tak dalej. UVMapy mają też zrobione. Budynków całkiem sporo się uzbierało, modeli zombie obu płci 6, mam też swoje stare modele postaci zwykłej.

W chwili obecnej rozważam, czy miałoby sens wykorzystać to gdzieś i pomyślałem o jakimś gotowym silniku 3d jak unity, udk, cryengine i inne. Jednak zanim zacznę cokolwiek robić, chcę się dowiedzieć, co może być największym problemem, przy tworzeniu prostej gry typu survival. Założenie jest takie - w dowolnym silniku 3d wstawię te oteksturowane modele moje, teren stworzę i będzie jakieś małe miasteczko (animację postaci w 3ds maxie mam zrobioną). Następnie będę musiał zająć się klepaniem jakiegoś kodu, zaprogramować wszystko. Poruszanie postaci i podnoszenie rzeczy takich jak jedzenie, konsumowanie tego itd nie powinno sprawić mi problemu.

Wydaje mi się, że mogę mieć problem z AI zombie i właśnie głównie z tego powodu tu piszę. Czy są jakieś gotowce AI dla jakiegoś silnika, czy nie ma? Czy samodzielne stworzenie AI dla zombie jest ekstremalnie trudnym zadaniem? Nie znam się na tym w ogóle, mogę w ciemno zakładać, że mógłbym takiemu zombie doczepić niewidzialny obiekt w stylu trójkąta (jako zakres jego widzenia), co pozwalałoby graczowi przejść za plecami zombie niezauważony, a idąc przed oczami zombie, gracz zostałby wykryty, ale jak wtedy miałbym rozwiązać kwestię obiektów, przeszkód? Dla przykadu gracz ukrywa się za skrzynią, beczką, żywopłotem, skałą lub murkiem, domyślnie ten tzw. "trójkąt" widzenia, ignorowałby przeszkody i zombie uznawałby, że widzi gracza ukrytego za przeszkodą, a nie powinien go widzieć, "trójkąt" widzenia powinien tracić widoczność, tam gdzie dotyka jakiejś ściany, przeszkody, ale jednocześnie kilka, kilkanaście metrów za skałą, ten trójkąt widzenia powinien działać i wychwytywać gracza.

Przykład: http://iv.pl/images/41990956933975429838.jpg

0

Czy samodzielne stworzenie AI dla zombie jest ekstremalnie trudnym zadaniem?

Zależy jak bardzo zaawansowane to AI ma być.

domyślnie ten tzw. "trójkąt" widzenia, ignorowałby przeszkody i zombie uznawałby, że widzi gracza ukrytego za przeszkodą, a nie powinien go widzieć, "trójkąt" widzenia powinien tracić widoczność, tam gdzie dotyka jakiejś ściany, przeszkody, ale jednocześnie kilka, kilkanaście metrów za skałą, ten trójkąt widzenia powinien działać i wychwytywać gracza.

Wystarczą dwie "fazy" sprawdzania widoczności (paranoicznie można by dodać jeszcze AABB na samym początku, ale nie przesadzajmy :P):
1.Czy gracz znajduje się w zasięgu pola widzenia (póki co ignorując przeszkody)?
2.Jeżeli tak, sprawdzamy, czy w odcinku pomiędzy graczem, a zombie nie znajduje się jakaś przeszkoda (np.mur). Jest to czysto algorytmiczne, banalne zadanie.
Trudniejsze byłoby już zaprogramowanie, by gdy np.zombie podąża za graczem (goni go), to gdy gracz się szybko za czymś schowa, zombie od razu nie odwracał się i nie był całkowicie zagubiony, lecz także próbował wciąż podążać w kierunku miejsca, gdzie ostatni raz zobaczył gracza.

1 użytkowników online, w tym zalogowanych: 0, gości: 1