co można zrobić, aby poprawić niesamowitą sztuczną inteligencję w czasie rzeczywistym?


12

Rozmawiałem z moim przyjacielem o tym, czy można stworzyć sztuczną inteligencję, która mogłaby pokonać każdego człowieka bez oszukiwania zasobów w grze strategicznej w czasie rzeczywistym. AI, która grałaby prawie idealnie. Sztuczna inteligencja współczesnych gier ma wiele obszarów, które można poprawić, większość z nich polega na oszukiwaniu zasobów, lepszym wczesnym rozwoju bazy z tego powodu i atakowaniu falami.

Pozostaje jednak pytanie, co należałoby zrobić, aby to poprawić, aby uzyskać najlepszą sztuczną inteligencję. Ponadto, jeśli masz jakiś przykład gry, w której użyto określonej funkcji, byłoby świetnie.

Edycja: Nie mogę wyjaśnić tych, którzy nie przeczytali tytułu lub kilku akapitów opisujących problem. Chodzi o gry strategiczne w czasie rzeczywistym i najlepszą sztuczną inteligencję. Oznacza to Strarcraft, Warcraft, Generals, Red Alert, Age of Empires, AI War itp. Gry, które mają więcej niż jeden poziom trudności, ale koncentrują się tutaj na ostatecznym wyzwaniu.

tenpn ma fantastyczny post pełen wspaniałych zasobów. Dziękuję tenpn! Chciałbym, aby więcej osób przyczyniło się w tym kierunku.


6
Naprawdę to pytanie nie ma sensu bez konkretnego przypadku. Wszystkie gry mają różne sposoby implementacji sztucznej inteligencji, w zależności od mechaniki gry, a „jak je poprawić” będą się znacznie różnić. Powinna to być przynajmniej Wiki Wiki, ponieważ nie ma tutaj „właściwej” odpowiedzi.
MrCranky,

2
W nawiązaniu do pierwszego: zastanów się, że szachy to gra strategiczna.
Rushyo

1
Dlaczego miałbyś chcieć Stworzenie idealnej sztucznej inteligencji do gry w Ponga jest absolutnie trywialne i absolutnie nie sprawia przyjemności. Celem gry AI nie jest pokonanie gracza, ponieważ to on (a nie komputer) powinien się dobrze bawić.
Ian Schreiber

1
Ian: OP mówi o czymś zupełnie innym niż Pong. Łatwo jest stworzyć bezkonkurencyjną AI Pong lub AI Kółko i krzyżyk. Szachy można przenieść do sztucznej inteligencji, którą tylko bardzo, bardzo najlepsi potrafią pokonać. Ale RTS to inna gra w piłkę.
Kaczka komunistyczna

2
Być może interesuje Cię algorytm STRIPS .
user712092,

Odpowiedzi:


12

Odpowiedź na to pytanie jest trudna. Aby określić, co wymaga poprawy, musisz mieć znaną sztuczną inteligencję do pracy. Oto kilka przykładów AI RTS z aigamedev.com (wymagana rejestracja):

Niestety większość naprawdę dobrych rzeczy znajduje się za zaporą.

Typowym rozwiązaniem sztucznej inteligencji jest Planowanie zorientowane na cel, które wykorzystuje reguły do ​​tworzenia planów satyfikowania celów. Minęło już trochę czasu, ale jest bardzo fajna. Na stronie Jeffa Orkina znajduje się krótki przegląd (pdf) na temat tego, w jaki sposób stosuje się go do FPS, ale dokładnie ta sama zasada (z różnymi zasadami i celami) działa dla RTS.

Wiele RTS będzie wykorzystywać heirarchie GOAP, z różnymi poziomami osiągającymi cele z poziomu wyżej i zajmującymi się różnymi poziomami szczegółowości pola bitwy. Przeczytałem świetny artykuł na temat sztucznej inteligencji niektórych gier wojennych z II wojny światowej, który był tak skonstruowany, ale mimo wszystko to google nie mogę teraz znaleźć linku. Złota gwiazda dla każdego, kto może mi pomóc.

Oczywiście skuteczność GOAP i innych planistów zależy od tego, jak dobrze parsujesz świat gry oraz od tego, jak wyrafinowane są twoje działania i cele.

Inne popularne technologie obejmują architektury narzędzi (pdf) do punktacji i priorytetów oraz tablice do analizy świata gry.


6

Chodzi o to, jeśli masz AI

które mogłyby pokonać każdego człowieka bez oszukiwania zasobów w grze strategicznej czasu rzeczywistego

wtedy masz grę, w którą nikt nie zagra, ponieważ nie mogliby przekroczyć pierwszego poziomu.

Najtrudniejszą częścią programowania AI jest uczynienie AI możliwym do pobicia, ale pobitym przez kogoś z odrobiną umiejętności. Uczyń go zbyt łatwym do pokonania, a gracze będą zniechęceni brakiem wyzwania, utrudniają, a ludzie znów będą mieli dość bicia.

Nie chodzi więc o tworzenie złożonej sztucznej inteligencji (co wcale nie jest trudne, sztuczna inteligencja może przetwarzać wszystko w obrębie obszaru gry jednocześnie, podczas gdy gracz może przetwarzać tylko to, co jest na ekranie), ale bardziej na temat tworzenia zrównoważonej gry.


1
Aby to wyjaśnić, stworzenie sztucznej inteligencji, która mogłaby pokonać każdego człowieka, nie jest trudne, ponieważ AI może kontrolować swoje jednostki z większą ziarnistością, niż ktokolwiek mógłby oczekiwać (z powodu ograniczeń interfejsu użytkownika). Człowiek potrzebuje sekund na reagowanie na zdarzenia, wybieranie i dowodzenie jednostkami, podczas gdy AI może aktualizować rozkazy dla każdej jednostki indywidualnie podczas każdej tury gry w odpowiedzi na każde zdarzenie. Ale w praktyce nie robi się tego, ponieważ uczyniłoby to grę nudną. Naprawdę trudna rzecz polega na tym, że AI jest wystarczająco głupie, aby pokonać.
Skizz

3
Aby wyjaśnić wyjaśnienie - stworzenie sztucznej inteligencji nie do pokonania nie jest takie trudne; uczynienie AI możliwym do pokonania, wymagającym i angażującym jest o wiele trudniejsze.
Skizz

3

Wiele można było zrobić, ale moja natychmiastowa reakcja na to pytanie była kontrapunktem: dlaczego ktokolwiek chciałby mieć najlepszą sztuczną inteligencję RTS? I dlaczego ta osoba po prostu nie gra online przeciwko innemu ludzkiemu przeciwnikowi?

Sedno jest następujące: sprawienie, by sztuczna inteligencja była nie do pokonania, to sprawienie, by myślał wystarczająco szybko (np. Musi mieć skróty), aby móc grać przeciwko 3, a nawet 7 przeciwnikom AI na tej samej mapie z zwykły komputer. Nawet dzisiaj i jutro, i spodziewam się, że nie zmieni się to nawet za dziesięć lat.

Kolejny problem: dopóki AI będzie przestrzegać surowych zasad, będzie można ją wykorzystać. Nawet niewyraźne reguły czynią go podatnym na exploity. AI musiałaby się uczyć i musiałaby popełniać błędy - celowe i niezamierzone. Trzeba też cię zaskoczyć. A potem grasz przeciwko innemu człowiekowi. Ponieważ sztuczna inteligencja nie jest nawet bliska skopiowania ludzkiego myślenia zarówno algorytmicznego, jak i mocy obliczeniowej, znacznie lepiej jest nie marnować czasu na sztuczną inteligencję dla jednego gracza, z którą gra się nie tak dobrze, jak innym człowiek, choćby ze względu na zaangażowane czynniki społeczne.


1

To, co definiujesz jako „oszukiwanie zasobów”, jest jak „zwiększanie równowagi” w grach wyścigowych. „Wzmocnienie” służy do trzymania paczki w stosunkowo bliskiej odległości od siebie, aby stworzyć iluzję ciasnego wyścigu. Jeśli gracz nie jest na prowadzeniu, może utrzymywać wzrok procesora, a jeśli gracz jest na prowadzeniu, wywiera presję, kładąc przeciwników bezpośrednio na ogonie, nawet jeśli sam procesor jest miernym kierowcą.

W RTS patrzysz na zbiór wartości, które można optymalnie ustawić. Wiesz dokładnie, ile czasu zajmuje uzyskanie zasobu, ile kosztuje budowanie przedmiotów, czasy przejścia na mapę itp.

Jeśli jesteś tym, który stworzył tabele i ma łatwo dostępne informacje, kwestią liczbową jest zbieranie danych w celu znalezienia najlepszych wskaźników wyjściowych.

Ale jak fajnie jest grać przeciwko wrogowi, który zawsze robi dokładnie to samo w zależności od kontekstu pola gry?

Więc dodajesz chaos. Dajesz AI efektywność na ruchomej skali. Masz nękać gracza. Jeśli wydaje się, że gracz radzi sobie zbyt dobrze, masz trochę sztucznej inteligencji i dajesz mu dodatkowe zasoby lub posiłki, aby utrzymać go na nogach.

Chcesz, aby gracz czuł satysfakcję z zmierzenia się z trudnym przeciwnikiem, zamiast dawać klapsy słabej AI lub zostać zabitym przez Hal9000. Doskonałość przeciwnika procesora polega na jego niedoskonałości. :)


2
I inne, ale powiązane: Fajnie, jeśli AI robi czasem rzeczy, które nie są technicznie najlepszą opcją, ale dodaje trochę zabawy do gry, takie jak używanie niezwykłych jednostek lub ruchów (np. Zrzucanie żołnierzy z tyłu bazy gracza )
Bart van Heukelom,

0

Jedną wielką rzeczą jest to, że musisz nadążyć za strategicznym rozwojem gry. Żadne zmiany nie pozwolą AI wygrać meczu Starcraft 1 (w fair play), jeśli sądzi, że podstawowa armia marines jest sposobem na grę w Terran kontra Terran.

Nie tylko zapobiegnie to konsekwentnemu pobiciu AI z powodu wyboru przestarzałej strategii, ale także większy repertuar podejść do gry sprawi, że AI będzie bardziej wciągająca, jeśli AI dokona realnych wyborów po drodze.

Bogate drzewo strategii pozwala nawet na suwak trudności; np. szalona sztuczna inteligencja Zergów będzie miała tendencję do przyjmowania elastycznych podejść, które mogą dostosować się do wroga i szybko się rozwiną, jeśli da się taką możliwość, ale na normalnym poziomie trudności prawdopodobnie wybierze bardziej sztywne konstrukcje i będzie mniej podatna na masowe ekspansje.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.