Unikanie, proces unikania, jest przeciwieństwem ścigania. Zamiast zmniejszać odległość do celu, staramy się go zmaksymalizować.
Unika wielu obiektów jednocześnie. Korzystam z BFS tutaj. Aby przyspieszyć, jakich algorytmów powinienem użyć?
Unikanie, proces unikania, jest przeciwieństwem ścigania. Zamiast zmniejszać odległość do celu, staramy się go zmaksymalizować.
Unika wielu obiektów jednocześnie. Korzystam z BFS tutaj. Aby przyspieszyć, jakich algorytmów powinienem użyć?
Odpowiedzi:
Sugeruję użycie Zachowań sterujących do symulacji tego typu zachowań. Zobacz tę stronę, aby zapoznać się z przykładem zachowań wymijających zaimplementowanych w ten sposób.
Podstawową ideą jest rozważenie prostych właściwości, takich jak wektory położenia i prędkości ofiary i drapieżników, w celu obliczenia pożądanej zmiany tych właściwości w czasie liniowym. Powoduje to responsywne, ale realistyczne zachowanie.
Jest to jednak kosztem nieuwzględnienia innych czynników, takich jak cele na wyższym poziomie (na przykład pozycja ulepszeń) lub pozycja przeszkód statycznych, tak jak w przypadku szukania ścieżki. Można to wziąć pod uwagę, łącząc podejście Zachowania sterujące z, na przykład, potencjalnymi polami (patrz Używanie potencjalnych pól w scenariuszu gry strategicznej w czasie rzeczywistym (samouczek) ) lub wyszukiwanie ścieżek (np. Metoda mapy korytarza ). W przypadku tych ostatnich chcesz zmniejszyć częstotliwość aktualizacji (i zaufaj Zachowaniom Sterowania, aby zrekompensować wszelkie błędy, które mogą się z tego powodu pojawić) lub dokonaj częściowego przebudowy, ewentualnie w połączeniu z bardziej hierarchicznym podejściem (np. Prawie optymalne hierarchiczne wyszukiwanie ścieżek (HPA *) .
Jeśli chcesz uzyskać bardziej szczegółową odpowiedź, popraw swoje pytanie, podając więcej szczegółów na temat problemu. Rozważ na przykład opisanie swojej gry i liczby NPC, o których mówimy.