Яка користь штучного інтелекту у розробці і як боти домовляються між собою, щоб вбивати гравців. Розповів AI Team Lead у Wargaming Олександр Піндик
Олександр Піндик, AI Team Lead з київської студії Wargaming, розповів, для чого використовується штучний інтелект у World of Tanks, як тренувати ботів і зрозуміти, що вони почали діяти без вказівки розробника, як AI може допомогти інді-командам при створенні ігор та яке майбутнє в іграх чекає на ШІ і нейромережі.
Який штучний інтелект створюють у Wargaming
Ми робимо ігровий штучний інтелект одразу для кількох напрямів у World of Tanks: для навчання, для режимів PvE (Player vs Environment) і PvP (Player vs Player). Ще експериментуємо потроху. Конкретно наш відділ розробляє технологію, завдяки якій у World of Tanks працює штучний інтелект.
Як взагалі все починалось: колись давно у консольній версії World of Tanks з’явився штучний інтелект, досить простий, але він не підходив для ПК-версії. Ми поспілкувались з його авторами, проаналізували їхні напрацювання і почали створювати свій ШІ.
Жодних готових рішень ми не використовували, лише частково взяли відкриті бібліотеки, як-от Recast і Detour для навігаційних сіток. При цьому ми самі їх активно допрацьовуємо, розвиваємо всередині компанії.
Також використовуємо основні підходи, поширені в ігровій розробці. Це Goal Oriented Action Planning, Behavior Tree, Utility System. Поверх цього всього ми зробили й кілька своїх розробок, які, по-перше, склеюють усе докупи в цікаві комбінації. А по-друге, адаптують усе саме під World of Tanks.
Де у PvP-грі гравці можуть помітити ШІ
Якщо говорити про World of Tanks, то все починається з того моменту, коли гравець запускає гру. Якщо він новачок, то потрапляє в режим навчання. Там ми для нього підготували коктейль з цікавих концепцій. З одного боку, просте і зрозуміле сценарне навчання: не відео переглянути, а виконати певні практичні дії. З іншого боку, є противники та союзники, які терпляче чекають від гравця потрібних дій, правильно виїжджають, стріляють та взаємодіють із гравцем. Вони допомагають навчити гравця базових механік. Це перший етап, де гравець взаємодіє з ШІ.
Далі він потрапляє в основну гру. Та поки досвіду у нього не дуже багато, він часто натрапляє у наших випадкових боях на ботів-суперників. Вони сильніші за гравця та значно краще грають за навчальних ботів. Такі боти є і в команді гравця, і в команді суперника. Це допомагає легше адаптуватись, щоб просунуті користувачі не домінували над новачками й не псували їм гру.
Плюс є гравці, які більше люблять PvE і всілякі івенти. Наприклад, у нас був режим «Мирний: Надія», який нещодавно закінчився. Для такого є окрема гілка розробки з інструментарієм ШІ. Це важливий напрям, який ми активно розвиваємо. Ось саме там люди грають проти ШІ по максимуму, штучний інтелект там доволі різноманітний, що дає змогу зробити геймплей унікальним і захопливим.
Цифр я навести не можу, але за відгуками гравців та команди розробки ці режими дуже заходять людям. Є користувачі, які лише в них і грають, а у звичайні «Танки» ні. Можливо, їм і бракує часу, можливо, складно, бо все ж для PvP потрібно докласти більше зусиль, щоб отримати хороший рівень досвіду. Але самі World of Tanks таким користувачам подобаються, вони грають і надсилають гарний фідбек.
Чому робили все самі, а не скористалися готовим рішенням
Взагалі тут є два шляхи: скористатись повністю готовим ШІ для ігор або ж взяти готові концепції та на їх основі створювати власний ШІ. Ми не брали повністю готовий фреймворк з кількох причин. По-перше, open source-рішення хоч і є, але вони дуже далекі від того, щоб їх можна було використовувати у великих компаніях (без попереднього доопрацювання). А по-друге, коли ви самі створюєте таку технологію, то можете зручно і гарно підлаштувати її під конкретний продукт.
Річ у тім, що сама гра World of Tanks унікальна: з одного боку — це шутер, з другого — шутер на техніці, а з третього — це повільний шутер. Не як Counter-Strike, не як Battlefield, такої швидкості в нас немає. Це складний і унікальний геймплей, який є в небагатьох іграх, тож нам жоден готовий ШІ не підійшов би.
Тому ми взяли базові концепції, щоб не винаходити велосипед, і на цьому фундаменті створили власний рушій для штучного інтелекту. Ігровий рушій в нас теж власний, ми не використовуємо Unreal Engine чи Unity для World of Tanks. Це дає змогу запускати гру на достатньо слабенькому «залізі» та в достатньо хорошій якості, бо все дуже оптимізовано.
Час тестування, або Як зрозуміти, що алгоритм готовий
Створити основні вміння та базовий ШІ набагато простіше, ніж довести його до пуття і зробити класним. Насправді ми досі розвиваємо штучний інтелект. Щоразу, коли дивимось на його гру, то аналізуємо ці дії за допомогою різних метрик.
Щодня ми проводимо значну кількість боїв різних версій ШІ між собою, тоді обираємо найкращу. Дивимось, які її навички спрацювали, а які ні, де були помилки, що і як можна поліпшити. Тож ми не зупиняємось.
Водночас цей розвиток не лише для того, щоб ШІ став на 100% розумнішим, ні. Важливо, наскільки він стає різноманітнішим. Адже головне завдання штучного інтелекту (особливо у PvP) — бути схожим на живого гравця. Ідеально, коли гравець не бачить різниці, чи його суперники або союзники боти, чи вони люди. Ми до цього йдемо, а щоб досягти мети, постійно робимо ШІ більш варіативним та універсальним.
На що треба звертати увагу під час тестування ШІ: важливі метрики
Ми аналізуємо, як наші гравці поводяться на арені. Тобто скільки в середньому вони стріляють по ворогу, на яку дистанцію проїжджають, скільки суперників вбивають, як грають на конкретному танку тощо.
Так само все робиться і для штучного інтелекту. По суті, для нас на сервері штучний інтелект — такий самий гравець. Для нього теж відстежуємо статистику, і нам важливо, як добре він стріляє, скільки досвіду отримує, як йому допомагає та чи інша техніка, як добре він використовує її особливості. Якщо це, наприклад, легкий танк, то як добре він передає команді данні про місцезнаходження ворога, а не настрілює по ворогах. Усі метрики, які можна зібрати для гравців, ми збираємо і для ботів.
Плюс ще маємо додаткові метрики, щоб оцінити, як боти витрачають серверні ресурси, більше чи менше. Цей показник завжди намагаємось скоротити. Чимось доводиться жертвувати. Можна зробити дуже розумних ботів, які блискуче гратимуть, але вам, найімовірніше, знадобляться суперкомп’ютери Google чи Amazon, котрі будуть усе це обчислювати. У нас такого немає, це дорого, і в цьому немає сенсу.
Найчастіше ми шукаємо баланс між тим, наскільки багато нам вдається обчислити даних і наскільки добре проаналізувати ботів, і тим, скільки на це йде ресурсів. Жертвуємо завжди, тому триває постійна оптимізація. Ми активно використовуємо і Python, і C++ для низькорівневих оптимізацій ботів.
Як ШІ можуть домовлятись між собою і вбивати сильніших гравців
Є два варіанти, як ШІ можуть взаємодіяти між собою. Усвідомлено, коли ми самі їм це дозволяємо, і неусвідомлено. У нас таке подекуди траплялося.
Наприклад, були боти, які кудись їхали удвох і побачили попереду ворога. Ми дізналися, що вони в цей момент обмінювалися інформацією про те, куди їхати та що робити (перемогти супротивника). Приблизно порахувавши ймовірність успіху, вони визначили, що один з них помре, а інший переможе. Боти про це домовились: зрештою один все ж помер, а інший доїхав та переміг ворога.
Це було трохи неочікувано, бо формально ми не дозволяли ботам так домовлятися. У нас просто був аналітичний апарат, який приблизно передбачав, хто із союзників хоче атакувати певні позиції. Але так вийшло, що ці боти справді визначили: вони обоє хочуть атакувати ціль і обоє, імовірно, поїдуть, тож можна скооперуватись і перемогти.
Усвідомлена взаємодія працює інакше. Наприклад, є умовний командир серед ботів, що віддає накази: ось ви, три агенти, їдете туди й робите те, хоч би й усупереч вашим бажанням. Такий підхід існує, але ми його не використовуємо. У нас боти індивідуалісти, як і гравці. Вони можуть розуміти, чого хоче команда, але не зобов’язані слухатись. У нас є умовний командир, та він дає рекомендації, а не накази.
Загалом ШІ можуть співпрацювати, щоб вбити гравця. Таке трапляється, коли ми не забороняємо їм, умовно, консультуватись один з одним.
Була така ситуація, коли три танки одночасно вбили дуже досвідченого гравця, вони вистрілили одночасно і моментально знищили його. Хоча він їздив на легкому танку, а вони були на артилерії, яка дуже крихка і легко знищується. Цей гравець міг би перемогти, якби не синхронізація ботів. Вона не дала йому жодних шансів.
Як виявити, що боти взаємодіють без вказівки розробника
У нас є чимало інструментарію, щоб аналізувати дії та рішення штучного інтелекту. Коли ми бачимо цю надлишкову узгодженість, то з’ясовуємо, чому так сталось, що боти перемагають гравця, який теоретично не мав би програти. Якщо перевага ботів видається нам надто сильною, намагаємось їх відучити від такого.
Узагалі головне в створенні ШІ — це гарний інструментарій для аналізу, ми доклали багато зусиль до його розробки.
Наведу приклад. В нас у грі діє система Goal Oriented. Кожен бот відіграє певну роль, має певні закладені цілі, а ще інструкції, як поводитись за певних умов. Це Behavior Tree, дерево з варіантами вибору.
Усе життя бота під час боїв ми записуємо: яку він вибрав роль, яку ціль, які варіанти поведінки та чому. Є окрема Utility System, яка допомагає збалансувати бажання бота залежно від конкретної бойової ситуації. Ми це фіксуємо, щоб потім можна було подивитись бій для кожного бота: що саме він думав у певний момент.
Плюс можна переглядати, де саме бот був розташований на карті, яких ворогів бачив, про яких супротивників знав точно, а про яких лише здогадувався. Над цим усім інструмент збирає рекомендації, які дала боту система. Це доволі потужний редактор: можна дивитись записи боїв з детальною інформацією, зупинитись у будь-яку секунду та залізти максимально глибоко в мізки ботів та їхню логіку.
Для таких перевірок в нас є п’ять геймдизайнерів. Вони, щоправда, не всі завжди цим займаються. Загалом в нас велика команда — 17 людей (це з продюсером і проджект-менеджером).
Геймдизайнерам допомагають автоматичні інструменти. Вони збирають та аналізують дані й можуть визначити, де є потенційні проблемні місця, на які вже має звернути увагу фахівець, і розібрати все докладно. Бо тисячу боїв для людини переглянути надто складно, треба не жити в принципі.
Чим штучний інтелект відрізняється у режимах PvP і PvE
У нас є найменший ШІ, який використовується для навчання. Є трошки доросліший, ШІ-школяр, який працює для PvE. Іноді він перетворюється на студента. А є справжній дорослий штучний інтелект для PvP, він найскладніший. На ньому ми експериментуємо з найновішими розробками.
Все цікаве й свіже ми спочатку створюємо для PvP, потім обкатуємо, а тоді готові рішення віддаємо для PvE. Геймдизайнер, який займається PvE, вигадує, як можна застосувати такий ШІ для цього режиму, ми допомагаємо адаптувати, а потім це вже бачать гравці.
Найпростішим прикладом буде створення укриттів. Для PvP ми робили дуже хорошу систему укриттів, аби бот міг ховатися і в кущах (розуміючи, що його можуть вбити), і за будиночками, за камінням тощо. Для PvE така варіативність не завжди потрібна. Навпаки, там бот інколи має бути дурненьким, неправильно виїжджати, невдало ховатися тощо. Тож цю систему укриттів ми спростили та перенесли у PvE. Там боти буцім і захищаються, але вбити їх легше.
Також у нас є стратегічні зони, на які розбита карта. Боти — залежно від своєї ролі та мети — займають певну зону і там функціонують. Для PvE ми вирішили спростити концепцію: теж поділити карту на зони, але не для стратегічної переваги, а для обмеження. Тоді боти намагаються не виїздити на межі своєї зони.
Насправді багато таких концепцій, які розробили для PvP і які перейшли у PvE. Так відбувається не завжди, але в нашій грі найбільший челендж якраз у PvP-режимі, де є змагальна складова. Але маємо й механіки, створені лише для PvE. Наприклад, механіка специфічних ботів: Невразливого, йоржів, зайців. Їх навчали конкретних нових вмінь саме для PvE; у PvP це теж можна зробити, але немає для чого.
Наші PvE-режими цікаві, але мають обмежений час дії, після якого закінчуються. Тим часом PvP працює постійно, там є боти 24/7, які грають на всіх регіонах, і в Штатах, і в Азії, і в Європі.
Штучний інтелект і нейромережі
В основі ботів для World of Tanks лежить Goal Oriented Action Planning та Behavior Tree. Це дозволяє урізноманітнити поведінку бота в грі. Я знаю, що є геймдев-студії, які намагаються тренувати ШІ через нейромережі, але ми так не робимо.
Зазвичай для цього беруть уже записані бої, які виконали гравці, і на цій основі тренується нейромережа. Там є чимало підводних каменів, і це не завжди достатньо ефективно, але такі експерименти проводять. Нам це поки не потрібно, та й для нашої гри недоліків тут буде більше, ніж переваг.
Для яких ігор взагалі добре підходить нейромережа? Для тих, де правила не сильно змінюються: шахи, Ґо, навіть DOTA. Хоча чемпіони там різні, загальні стратегії залишаються тими ж. У них можна винести спільний коефіцієнт: скажімо, є зброя, яка стріляє на 3 чи 4 зірочки. Коли нейромережа тренується, вона знає, що тут їй потрібна зброя рівно на 4 зірочки, аби досягти певної мети. Взяла зброю, побігла.
Якщо ж гра така жива, як «Танки», вона постійно трансформується: змінюється набір танків, сутності, ландшафт карт, додаються і видаляються механіки. Скажімо, ви взяли бої за пів року і навчили на них нейромережу. А потім випустили оновлення гри зі свіжою і важливою механікою. Все, нейромережа, не зможе працювати адекватно, треба нова. А до випуску патчу її не натренуєш, бо немає набору даних з тисячами боїв, які виконали гравці. Тому нейромережі не підходять для ігор, які постійно змінюються і розвиваються.
Насправді для їх тренування можна і не записувати дії гравців, а відправити ШІ грати один проти одного в закритому режимі — і вже на записах цих боїв навчати нейромережу. Багато хто так і робить. Але знов-таки тут є багато обмежень: нейромережа вміє лише те, що вміють ваші боти. А нині просунуті гравці все ж сильніші за ботів, тому дані користувачів-людей краще підходять для навчання.
Є й інші підходи. Скажімо, коли боти тренуються один проти одного і методом наукового тику намагаються знайти правильні рішення. Але навчання таких ботів буде складним і довгим.
Про майбутнє штучного інтелекту і нейромереж в іграх
Нейромережі нині активно розвиваються і часто застосовуються в геймдеві — попри те, що штучний інтелект в іграх не завжди створюють на базі нейромереж.
Наприклад, ШІ в іграх може займатись анімацією: сам обирати пози для персонажів та переходи в ці пози. Просто тому, що він бачив мільйони таких даних і розуміє, який перехід буде найлогічнішим та як правильно побудувати анімацію.
До того ж він може допомогти з анімацією обличчя, коли є вплив зовні. Скажімо, удар в обличчя, коли людина розмовляє чи коли на неї бризкає вода. Оці всі речі нейромережа добре зчитує й оцінює, наскільки вони правдоподібні.
ШІ може генерувати людей, яких не існує насправді, переглянувши бази даних з фотографіями. Формально він нікого не оцифровує, а придумує нову цікаву особистість. Також є генерування ландшафтів, карт, дерев і решти.
ШІ може робити це, ґрунтуючись на тому, що вже є: домалювати вміст, допомогти художникам і програмістам. Є, наприклад, інструмент Copilot, що допомагає завершувати код. Місцями він ще дурненький, але все одно помічний.
Не знаю, чи вже Copilot застосовують в іграх, я пробував з ним гратись: він класний, цікавий, але поки що дуже обмежений. Він добре працює зі стандартними бібліотеками і задачами: авторизуватись через мережу, отримати дані (як-от завантажити акаунт) і ці дані передати в клієнт. Такі прості виклики він виконує добре, для не-геймдеву це взагалі чудово і швидко. З геймдевом поки все не так, але думаю, що ми туди дійдемо.
Думаю, що ШІ на базі нейромереж рухається саме в напрямку універсального асистента. Він зможе виконувати всю нудну й монотонну роботу, а ви як людина будете перевіряти, доробляти й додавати ту людську й творчу особливість, що робить продукт цікавим для інших.
Геймдев-індустрія розвивається, цьогоріч думаю візьме планку в майже $200 мільярдів. Тож ринок буде тільки зростати, є прогнози, що у 2025 році він досягне $230 чи $250 мільярдів саме в напрямі геймдеву. Microsoft туди зараз активно інвестує, та й не тільки вона. Тож думаю, що й інструменти в цій галузі будуть удосконалюватись. Просто зараз речі на кшталт Copilot більше цікаві, ніж корисні.
Вони вчаться на відкритому коді, тож успадковують і помилки звідти. І якщо використовувати лише опенсорсні набори даних, то така ситуація буде ще довго. Люди припускаються помилок, це нормально, так цікавіше жити. Якщо ж такі інструменти можна буде тренувати і на своєму коді, вони будуть адаптуватись і вивчати, що краще підходить для вашої кодобази, то й помилок буде менше.
А ще тестування. Хороше автоматизоване та юніт-тестування, статистичний аналізатор помітно скоротять кількість помилок.
Інша річ, чи можна буде замінити архітектора? Умовно, ми можемо зібрати конструктор з 10 правильних кубиків, ідеально дібраних, але вежа з них буде розвалюватись. От з архітектурою тут складно — треба вкрай добре знати контекст, підхід, ваші обмеження. І ось до цього, думаю, нам ще далеко. Конкретно інженерна частина все ж залежить від людини-програміста.
Як ШІ може створювати більш розгалужені сюжетні лінії в RPG
Це насправді можливо. Я грав за моделлю GPT-3 в AI Dungeon. Це кумедно, ти намагаєшся його вивести в якийсь не зовсім очевидний напрямок — і він пручається. Вперто робить своє, хоч би що.
З AI Dungeon я грав в гру, знайшов мішок золота і забрав його. До мене приходить охоронець і каже: «Ти вкрав цей мішок». Я відповідаю, що не крав, а знайшов. Той каже: «Ні я тобі не вірю». Добре, я пропоную піти й перевірити, а він не хоче. Вочевидь, просив хабаря, монету (я перегравав ситуацію, давав монету, і все було добре). Я намагався йому довести, що не крав монету, та що б я не робив, він все одно нападає. Певно, цей мішок золота йому для чогось потрібен.
Та от робити всю гру з таким підходом, як в AI Dungeon... Він, звісно, хороший, але дуже обмежений набором даних. З одного боку, даних там безліч (і вони здебільшого англійською). Та з іншого, оскільки їх багато, вони дуже загальні. Спільні сюжети, людську поведінку в певних ситуаціях, моральні дилеми він може згенерувати. А от у вужчих ситуаціях буде, ймовірно, багато помилок.
Якщо ж розвивати такі інструменти, дуже точно обирати датасет, на базі якого вчиться ШІ, він може стати помічником дизайнера. Тобто дизайнер прописує напрям сюжету і просить створити бокових персонажів, міське життя тощо.
Ось приклад. Я був на GDC і спілкувався з розробниками Watch Dogs з Ubisoft. Вони розповіли, як пробували використати нейромережі. Йшлося про вибір випадкових сценок у грі: між людьми, машинами тощо. Вони звертали увагу на те, які сценки гравець додивляється до кінця, і намагались генератором обирати подібне. А тоді перевіряли, чи йому подобається це, чи набридло. Те саме і з GPT-3, він теж зможе додавати такі деталі в гру.
Про користь ШІ для великих компаній та інді-розробників
ШІ можна використати і для кращої анімації ботів-суперників у ігрових проєктах. Гадаю, це буде одна з дефолтних речей, які ми отримаємо найближчим часом у великих рушіях. Анімації обличчя, переходів, логічна поведінка — коли бот стрибає і не теліпає дивно ногами в повітрі. Саме для цього нейромережі добре пасують, вони можуть просто сказати: «Роби ось так, я точно знаю, що це правильно, мільйон разів таке бачила».
Загалом неважливо, чи ШІ працює на нейромережі, чи без неї, це все одно крутий інструмент. Він допомагатиме прототипувати, щоб навіть невеликими командами запускати складні геймплейні механіки, просто тому що є ШІ. Він і ваш супротивник, і ваш союзник, і наповнення світу, і генерація вмісту, і інструмент, який перевіряє стабільність світу. І це все буде розвиватись.
Окремо ШІ можна залучити для аналітики: наприклад, для з’ясування причин поведінки, чому на одній карті боти грають так, а на іншій ось так. На такі речі нейронки теж лягають добре.
Ще можна робити умовні прогнози й передбачення. Особливо у великих онлайн-іграх, коли починаються, наприклад, кланові війни, то нейронка може провести мільйон ітерацій, вивчить попередній досвід і видасть прогноз. Подекуди навіть правдивий.
Якщо ж говорити про інді-розробників, я би радив віддати весь контент штучному інтелекту: генерацію персонажів, асетів, карт, ботів завжди б додавав. Тоді ви значно меншою командою можете зробити прототип, показати його потенційним гравцям, отримати фідбек і пришвидшити процес ітерацій.
Потім цю всю згенеровану графіку можна й прибрати, замінити намальованою, коли ви вже зрозумієте, що в цього продукту все буде добре і ви на ньому зароблятимете. Для інді-розробки найкрутіше в ШІ — це максимальна автоматизація та здешевлення виробництва. Думаю, що далі, то більше інді-розробники будуть застосовувати ці методи. І то частіше ми бачитимемо маленькі команди, які роблять продукт. Нехай це не буде «Відьмак», Last of Us, Battlefield чи World of Tanks, але це буде цікава та завершена гра.
Сьогодні світ живе так, що краще випустити гру, ніж не випустити. Нехай у грі будуть проблеми, але в неї гратимуть і її можна допрацювати. Великі компанії не завжди можуть дозволити собі таке сьогодні, а незалежні розробники — цілком. Ти спілкуєшся з ком’юніті, кажеш, що знайшов помилку, дякуєш, через кілька днів публікуєш виправлення. Таке більш живе спілкування і розвиток проєктів гарно сприймають. Це краще, ніж робити гру два роки, випустити її на ринок і зрозуміти, що все, пізно, це вже нікому не цікаво.
Про найулюбленіше в розробці ШІ
Насамперед мені подобається те, що ШІ, хоч і має помилки, але подекуди дозволяє не залучати людину. Візьмемо будь-яку PvP-гру, геймдизайнер якої теж може помилятися. Коли йому допомагає ШІ, він стає напарником, який додатково все перевіряє. Плюс багато автоматизації. Ми всередині компанії робимо чимало перевірок на ШІ, за допомогою штучного інтелекту розробляємо ігри та удосконалюємо ШІ. Це шалена кількість допомоги і бенефітів, особливо на етапах прототипування й перевірки гіпотез.
У моєму ідеальному світі ШІ позбавляє нас усієї нудної роботи, монотонних перевірок і дає нам займатися творчістю. Для мене це найкраще в ШІ, тому я цим і займаюсь понад чотири роки.
Як ШІ можуть поліпшити гру, навіть якщо ви цього не планували
До гравців доходить (за дуже приблизною оцінкою) від третини до чверті тих функцій і механік, які ми вигадували й тестували. Кожна механіка проходить безліч ітерацій. Ті ж йоржі. Я робив чотири чи п’ять ітерацій, поки йоржі не прийняли свій фінальний вигляд і не увійшли в режим.
Тепер вони цікавіші та дуже різноманітно атакують гравця, дають йому шанс і ухилитися, і все ж програти. Плюс додалася велика куля, яка розпадається після того, як її підбили, на декілька інших куль, що атакують. Спочатку такого плану взагалі не було, але, погравшись, ми подумали, що це прикольно. Думаєш, що вбив його, а от і ні, ще не все.
Інколи оновлення роблять гру досконалішою. Ті ж зайці: спочатку вони просто тікали, та й усе. А тепер кидаються врозтіч, і це навіть заводить гравця у пастку. Ненавмисно, ми не задумували такої механіки, так вийшло. Гравець пропускає забагато інших типів ботів, які теж атакують. З одного боку, заєць просто втікає, з іншого — гравець створює собі купу проблем. Це, як на мене, цікаве геймплейне рішення, що робить гру гарнішою і приємнішою.
Найвеселіше, як на мене, було у торішньому режимі на Гелловін. Там був бос, якого неможливо вбити, але гравці знайшли спосіб. Ми не дуже розраховували на те, що вони придумають скинути його з мосту, аби невразливий бос все ж помер. Мені сподобалось, як люди для фану кооперуються (а в онлайнових PvP-іграх складно змусити людей працювати разом). До того ж і бот сильно опирався, такого спробуй вбити. Але знайшлись герої, які на собі його скинули у провалля. Мене це вразило найбільше.
Які недоліки має ШІ і про що мають завжди пам’ятати розробники
Якщо говорити про ШІ на базі нейромереж, то мінус у тому, що не можна залізти в мізки і зрозуміти, чому бот вирішив діяти саме так. Дороге тренування, яке може вкрай швидко ставати застарілим в іграх на кшталт World of Tanks.
Якщо ж говорити про ШІ загалом, то це хоч і дуже цікава галузь, але спеціалістів у ній мало — як розробників, так і геймдизайнерів. Готових рішень теж мало. Навіть відкриті бібліотеки, які ми застосовуємо для створення свого ШІ, не дозволяють просто взяти і зібрати конструктор. Все одно багато чого треба доробляти. Саме те, що задача складна і спеціалістів мало, створює суттєві проблеми. І для великих компаній, і для інді-студій.
Треба пам’ятати, що будь-яке рішення ШІ не може бути правильним чи неправильним. Воно посередині, і ви маєте шукати баланс. Якщо ви займаєтесь цим, то маєте любити колупатися в мізках ботів. Чому ж він робить так, а не інакше? Як працює ця механіка, а як має працювати? Чи схоже це на поведінку людини? А якщо мені не треба, щоб це було схоже на дії людини? Треба постійно собі ставити всі ці запитання.
І ще одна глобальна річ. Хоч ШІ і допомагає, не варто забувати, що ви вмієте робити. Помічник помічником, а головною має залишатися людина, так цікавіше. Все інше в ШІ мені подобається.
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів