Tworzę grę typu „Broń swojego zamku”, w której każdy gracz ma zamek i musi wysłać jednostki, aby zniszczyć zamek przeciwnika. Wygląda to tak (i tak, to jest prawdziwa gra, a nie szybki rysunek farby ...):
Teraz próbuję zaimplementować AI przeciwnika i chciałbym stworzyć 4 różne poziomy AI: Łatwy, Normalny, Trudny i Hardcore. Nigdy wcześniej nie tworzyłem żadnej „poważnej” sztucznej inteligencji i tym razem chciałbym stworzyć całkiem kompletną.
Moim pomysłem jest obliczenie wyniku „siły” gracza na podstawie aktualnego stanu zdrowia jego zamku i indywidualnego wyniku „siły” jego jednostek. Następnie AI próbowałoby po prostu utrzymać wynik zbliżony do wyniku gracza ( Łatwy pozostawałby poniżej niego, Normalny trzymałby się blisko niego, a Trudny próbowałby dostać się powyżej niego). Ale po prostu nie wiem, jak obliczyć wynik gracza. Jest po prostu zbyt wiele zmiennych, aby je wziąć pod uwagę i nie wiem, jak właściwie je wykorzystać, aby utworzyć jedną znaczącą liczbę (poziom mocy).
Czy ktoś mógłby mi pomóc w tej sprawie?
Oto zmienne, które powinny wpływać na wynik siły gracza:
Bieżące zdrowie zamku, całkowite zdrowie jednostki, obrażenia, szybkość i zasięg ataku. Ponadto gracz może zwiększyć Dochód (worek pieniędzy), obrażenia (+ Obrażenia) i szybkość (+ szybkość) ... Jak mogę uwzględnić je w wyniku?
Naprawdę utknąłem tutaj ... A może jest inny sposób na wdrożenie AI dla tego typu gier?
Dzięki za cenny czas.
źródło
Odpowiedzi:
Nie jestem pewien, jak łatwo byłoby to powiedzieć, ale próba ustalenia, jak ważna jest każda zmienna, jest prawdopodobnie miejscem, w którym można zacząć (jeśli zyskasz 50 punktów zdrowia, możesz wytrzymać 10 sekund dłużej; jeśli uzyskasz 5 obrażeń, może zniszczyć 50 zdrowia o 10 sekund szybciej; itp.). Po tym, próba normalizacji umiejętności może być opłacalna (50 punktów zdrowia jest takie samo, jak 10 prędkości jest równych 100 dochodom).
Wyobrażam sobie, że łatwym sposobem na znalezienie tego jest uruchomienie symulacji. Utrzymuj jednego gracza na jednym poziomie, a następnie zacznij dostosowywać poszczególne zmienne do ich skali.
źródło
Przede wszystkim nie uwzględniałbym krótkoterminowych korzyści, takich jak ulepszenia dochodu lub prędkości - myślę, że gracze oczekują, że te rzeczy im pomogą, a nie to, że AI natychmiast się dostosowuje i staje się silniejsza.
A reszta: wypróbuj. Zacznij od formuły mocy, która wydaje ci się rozsądna (odpowiedź nimbus57 powinna być dobrym punktem wyjścia), a następnie iteracyjnie opracuj formułę i sztuczną inteligencję.
Na koniec, upewnij się, że podstawowa formuła nie może być wykorzystana przez gracza, aby uzyskać nieuczciwą przewagę itp. - nie powinno to być zbyt oczywiste, jak to działa, więc weź trochę losowości.
źródło