що можна зробити, щоб покращити остаточну божевільну стратегію AI в реальному часі?


12

Я спілкувався з моїм другом про те, чи може бути створений AI чи ні, який міг би перемогти будь-якого людини без обману ресурсів у стратегічній грі в реальному часі. AI, який грав майже ідеально. AI сучасних ігор має багато областей, які можна вдосконалити, більшість з них покладаються на обман ресурсів, кращу розробку базової бази через це і нападів хвилями.

Проте питання полягає в тому, що потрібно зробити для покращення цього, щоб отримати остаточний ШІ. Крім того, якщо у вас є якийсь приклад гри, де використовується певна функція, було б чудово.

Редагувати: Є невелике роз’яснення, яке я можу надати тим, хто не прочитав назву чи кілька пунктів, що описують проблему. Йдеться про стратегічні ігри в реальному часі та остаточний ШІ. Це означає Strarcraft, Warcraft, Generals, Red Alert, Age of Empires, AI War тощо. Ігри, які мають більше ніж один рівень складності, але тут зосереджено увагу на кінцевій проблемі.

tenpn має фантастичний пост, наповнений великими ресурсами. Дякую, tenpn! Я б хотів, щоб більше людей зробили внесок у цьому напрямку.


6
Дійсно це питання не має сенсу без конкретного випадку. У всіх іграх є різні способи реалізації AI, залежно від ігрової механіки, і "як їх вдосконалити" буде значно відрізнятися. Принаймні, це має бути Wiki Wiki, оскільки тут немає «правильної» відповіді.
MrCranky

2
Далі до попереднього: Подумайте, що Шахи - це стратегічна гра.
Rushyo

1
Чому б ви хотіли? Зробити ідеальний AI для гри в Понг абсолютно тривіально, і зовсім не цікаво грати проти. Мета гри AI - не перемогти гравця, оскільки гравець (а не комп’ютер) повинен розважатися.
Ян Шрайбер

1
Ян: ОП говорить про щось дуже відмінне від Понга. Зробити неперевершений понг AI або інтелект Tic-Tac-Toe легко. Шахи можна віднести до ШІ, який може перемогти лише той самий, дуже, дуже найкращий. Але РТС - це інша бальна гра.
Качка комуністична

2
Можливо, вас зацікавить алгоритм STRIPS .
user712092

Відповіді:


12

Це своєрідне складне питання. Щоб визначити, що потребує вдосконалення, вам потрібно мати деякий відомий ШІ, з якого працювати. Однак ось кілька прикладів RI AI від aigamedev.com (необхідна реєстрація):

На жаль, більша частина дійсно хороших речей знаходиться за платною стіною.

Поширене рішення AI - це цільовий планувальник дій, який використовує правила для формування планів для задоволення цілей. Зараз це вже деякий час, але це дуже круто. На сайті Джеффа Оркіна є короткий огляд (pdf) про те, як він застосовується до FPS, але точно такий же принцип (з різними правилами та цілями) працює для RTS.

Багато РТС використовуватимуть герархії GOAP, з різними рівнями, отримуючи цілі від рівня вище, і стосуються різних рівнів деталізації поля бою. Я прочитав чудову статтю про AI якоїсь шестигранної бойової війни, яка була структурована так, але для всього, що є Google, я зараз не можу знайти посилання. Золота зірка для кожного, хто може мені допомогти.

Звичайно, ефективність GOAP та інших планувальників залежить від того, наскільки добре ви аналізуєте свій ігровий світ та наскільки вдосконалені ваші дії та цілі.

Інші поширені технології включають утилітні архітектури (pdf) для вибиття балів та пріоритетів та дошки для розбору ігрового світу.


6

Справа в тому, якщо у вас є ШІ

які могли би перемогти будь-якого людини без обману ресурсів у стратегічній грі в реальному часі

тоді у вас є гра, в яку ніхто не буде грати, оскільки вони не змогли пройти перший рівень.

Найважча частина програмування AI - це зробити AI придатним для перегляду, але його можна передати тим, хто має трохи навичок. Зробити це занадто просто, а гравців буде відбито через відсутність виклику, зробіть це занадто важким і знову люди будуть втомитися від побиття весь час.

Тому справа не в створенні складного AI (що не складно, адже AI може обробляти все, що знаходиться в межах своєї ігрової зони одночасно, тоді як гравець може обробляти лише те, що на екрані), а більше про створення збалансованої гри.


1
Для уточнення, зробити ШІ, який може перемогти будь-яку людину, не так вже й складно, оскільки ШІ може керувати своїми підрозділами з кращою деталізацією, ніж може сподіватися будь-яка людина (через обмеження інтерфейсу користувача). Людині потрібні секунди, щоб реагувати на події, вибирати та командувати підрозділи, тоді як AI може оновлювати замовлення для кожної одиниці окремо, кожну «гру чергу» у відповідь на будь-яку подію. Але на практиці це не робиться, оскільки це зробить гру втомливою. Дійсно важка частина робить AI досить німим, щоб перемогти.
Skizz

3
Для уточнення уточнення - зробити неперевершеним ШІ не так вже й важко; зробити вигідним, складним та зацікавленим ШІ далеко, набагато складніше.
Skizz

3

Можна було б зробити багато, але моя негайна реакція на це питання була зустрічним питанням: чому хто-небудь хотів би остаточний ШТІ ШІ? І чому ця людина просто не грає в Інтернеті проти іншого людського опонента?

Суть є: це не проблема зробити ІІ непереможний, це проблема , що робить його думати досить швидко (. Наприклад , він повинен прийняти ярлики) , щоб мати можливість грати проти 3 або навіть 7 супротивників ІІ на одній і тій же карти з звичайний комп’ютер. Навіть сьогодні і завтра, і, я думаю, це не зміниться навіть через десять років.

Наступне питання: поки ШІ дотримується суворих правил, це буде корисно. Навіть нечіткі правила зроблять його вразливим до подвигів. ШІ повинен був би навчитися, і йому доведеться робити помилки - навмисні та ненавмисні. Це також мало би вас здивувати. І тоді ви граєте проти іншої людини. Оскільки AI навіть не наближається до копіювання людського мислення як алгоритмічного, так і з точки зору процесорної потужності, вам набагато краще не витрачати свій час на AI одного гравця, що грає не так весело, як інший людська істота, якби тільки за участю соціальних факторів.


1

Те, що ви визначаєте як "обман ресурсів", це як "підвищення балансування" в гоночних іграх. "Поштовх" використовується для того, щоб намагатися тримати пакет у відносно близькій близькості один від одного, щоб створити ілюзію жорсткої раси. Якщо гравець не веде за собою, він може тримати вигляд гравця процесора, а якщо гравець веде себе, він тримає тиск, ставлячи опонентів прямо на хвіст, навіть якщо сам процесор є посереднім драйвером.

У RTS ви дивитеся на набір значень, які можна організувати оптимально. Ви точно знаєте, скільки часу потрібно, щоб отримати ресурс, скільки коштують будівельні елементи, час обходу карти тощо.

Якщо ви створили таблиці і маєте доступну для вас інформацію, це лише питання кількості даних, що стискають дані, щоб знайти найкращі співвідношення для виведення.

Але як весело грати проти ворога, який завжди робить абсолютно те саме, виходячи з контексту ігрового поля?

Так ви додаєте хаосу. Ви даєте AI ефективність на розсувній шкалі. У вас це переслідує гравця. Якщо гравець, здається, справляє себе занадто добре, у вас AI трохи обдурить і дасте йому додаткові ресурси або підкріплення, щоб тримати гравця на ногах.

Ви хочете, щоб гравець відчував задоволення перед тим, як зіткнутися зі складним суперником, а не плескати слабким AI або бути забитим Hal9000. Досконалість опонента процесора полягає в його недосконалості. :)


2
І різні, але пов’язані між собою: приємно, якщо AI іноді робить речі, які технічно не є найкращим варіантом, але додають у гру трохи задоволення, наприклад, використовуючи незвичні підрозділи або рухи (наприклад, перекидання військ у тилу бази гравця )
Барт ван Хекелом

0

Важливим є те, що ви повинні бути в курсі стратегічного розвитку гри. Жодна розробка не дозволить AI виграти матч Starcraft 1 (у чесній грі), якщо він вважає, що основна армія морських піхотинців - це спосіб грати в гру Terran vs Terran.

Це не тільки убереже AI від постійного побиття за рахунок вибору застарілої стратегії, але, маючи більший репертуар підходів до гри, зробить AI більш захоплюючим, якщо AI робить життєздатний вибір на цьому шляху.

Насичене дерево стратегій навіть дозволяє отримати повзунком складності; наприклад, божевільний Zerg AI буде схильний застосовувати гнучкі підходи, здатні адаптуватися до ворога і швидко розширюватися, коли їм надається можливість, але при нормальному рівні складності, ймовірно, вибирати більш жорсткі конструкції і бути менш схильними до масових розширень.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.