SlideShare a Scribd company logo
1 of 42
Download to read offline
Штучний Інтелект у Іграх
Міф чи реальність?
Про презентацію
Данило Сиротинський - Dragons Games. Доповідач
Ігор Меншиков - розробник штучного інтелекту.
Чи обовязковий АІ?
Грі не потрібно мати людського інтелекту для того, щоби бути цікавою і навпаки,
навіть якщо в грі є інші абсолютно реальні гравці, як в MMO - це абсолютно не
гарантує, що гра вийде максимально цікавою.
Портал 1 грався офігенно без усілякого АІ.
Тест Тюринга
Щоби суб’єкт, який тестує машину Тюринга повірив в її людськість, потрібно не
надлюдський суперінтелект, а змусити його захотіти, щоби вона такою була.
Персонаж повинен з’єднатися з гравцем на емоційному рівні.
Закохати в себе. Ви повинні змусити гравця
співчувати персонажу, переживати, очікувати
сцен із ним, він може стати справжнім другом,
чи ворогом. Не формально, а дійсно.
Як у якісних книжках і фільмах.
Ролі АІ
Моби - як правило дурні і не глибокі. Наприклад, “боси”.
NPC - вид мобів з якими можна вступати в соціальний контакт. Для ігор, в яких
існує сюжет, чого всім раджу.
Боти - замінюють самого гравця, другого гравця, тд. Наприклад, інші фракції в
Total War, противники в одиночній грі в Starcraft, Warcraft, Civilisation, Counter
Strike, тд. Зазвичай, значно складніші для написання.
Ігри з простою механікою
Пекмен, Маріо - є тільки моби.
Сокобан - АІ не присутня в ігровому процесі. Якщо гру реалізує дуже добре
обізнана в алгоритмах людина, вона може зробити автоматичний солвер до гри,
який зміг би підказувати гравцеві чи він зможе вийти з такого стану, в який вона
себе запхала, чи зможе підказати їй яким чином вибратися з нього. Також це
допоможе підчас розробки рівнів. Якщо реалізує людина не обізнана алгоритмах,
автосолвер максимум порадує гравця меморізованою можливістю розв’язування
лише з початкового стану.
Diablo
Моби - звичайні монстри з якими б’єшся. Чаклун може спавнити їх на підмогу. В
грі також присутні і NPC з якими можна торгувати. Присутній алгоритм пошуку
шляху.
В грі використовується складна процедурна генерація рівнів, в якій монстри та лут
може підбиратися аналізуючи стиль гри, інвентар та параметри гравця.
Меморізація й оптимізаційна евристика:
Шахи
АІ тут називається ботом, оскільки заміняє другого гравця.
Оскільки за розумний час тут нічого не обчислиш, використовується підхід станів автомата (fsm)
відносно попередньо обчислених меморізованих ходів і при потребі, таки прораховування, але неглибоке,
з евристикою, яка аналізує ці всі прораховані ходи і вирішує як таки бути, наприклад використовуючи
певні алгоритми оптимізації навчені на прикладах.
Людиногравці грають за тим же принципом оптимізаційної евристики, але в меншій мірі меморізації,
оскільки всього не запам’ятаєш. Відрізняється алгоритм за яким навчалась оптимізаційна евристика й сам
досвід (кількість навчання).
Складність
за рахунок простих
дрібненьких модулів
Divide et
Impera
Розділення, Евристика й Оптимізація:
Civilization | Heroes of Might & Magic
Прийняття рішень ботами тут йде зарахунок системи з кількох різних модулів для обчислення різних частин гри. Окремо
йде обчислення того куди піти юнітам, окремо приймаються стратегічні рішення по науці, окремо по містобудівництву,
окремо по дипломатії. Але вони скльопані до купи й не тягнуть гравця врізнобіч, а йдуть “в ногу” зарахунок певних дуже
абстрагованих еврестичних показників. Наприклад, силовий показник рівня небезпеки від сусідів, чи можливості їх
захопити впливає на прийняття рішення про побудову військових споруд і війська алгоритмом побудови міста, а також має
наслідки для алгоритму дипломатії, очевидні наслідки для розстановки юнітів. Більш розділеною зарахунок побудови
ігрової механіки є Civilization, ніж у Heroes of MM. Чим більшою є розділеність зарахунок правильної побудови ігрової
механіки, тим кращий АІ легше зробити.
Тим не менше, існуючий штучний інтелект Цивілізації не є співмірним по крутості вирішування поставлених йому задач з
людським, але це компенсовано тим, що йому дається більше ресурсів (на складніших рівнях).
Чому так є не пояснено сценарієм, через що проглядається фейковість. Фейковість також сильно виходить назовні коли
бот допускає банальні помилки в своїй стратегії.
Розділення, Евристика й Оптимізація:
Starcraft
Проста гра: евристика, алгоритми оптимізації. АІ вміє швидко розвідувати мапу не тратячи надто багато ресурсів. АІ добре знає якими юнітами і турелями можна
контрити яких юнітів і турелі ворога і будує відповідно, прокачує відповідні апгрейди. Може розрахувати які ресурси йому на це потребуються найближчим часом.
Навчений шукати вигідні місця для побудови споруд. Навчений оцінювати можливі напрямки наступу на нього й можливості юнітів, які наступатимуть, шукати
слабкі місця на своїй й ворожій базах і відповідним чином розставляти юнітів і турелі, вводити відповідні патрулювання територій. Все це робиться зарахунок
окремих модулів. Навчений оптимізовувати напрямки атаки, послідовність використання юнітів і те, якими юнітами у що цілити, попередньо враховуючи
розміщення ворожих юнітів, турелів та споруд. Вміє вишукувати ті споруди, які життєвоважливі для ворога й паралізувати виробництво тих речей, які найбільше
шкодять цьому АІ. Планування наступу, наприклад, найімовірніше, складається з окремого оцінювання того чого варте (в умовних очках) знищення яких споруд,
турелів і юнітів, програвання “подумки” варіантів наступів з різних позицій при цьому віддаючи поведінку юнітів і структур в руки відносно простеньких моб-стайл
АІ, а розстановку нападаючих юнітів в руки окремої спеціалізованої АІ.
Кампанія: тут в АІ може бути зразу більше ресурсів та військ, що нівелює його задизайнену тупість націлену на досягнення гравцем більшого задоволення.
Розглянемо місію протосів знищити вищий розум зергів. По суті треба знищити ворожу базу (подібно до простої одиночної гри по мапах). Щоб місія була складною,
зергам (ворогам) дається зразу більша армія і більша база. АІ працює за певним сценарієм і атакує не одразу, а після паузи і кожен раз нарощує свої атаки. АІ явно
поводиться не найвигідніше, а так, як йому сказав розробник. Такий підхід класний, якщо дурості та піддавання АІ пояснені сценарієм. Якщо ні, гравцеві видно фейк.
Сильний Сюжет і FSM:
Metal Gear
Моби - ходять по продуманих дизайнером місцях. Якшо затрігераєш алерт, вони починають ходити де тебе бачили останній
раз чи ше шось таке, шукати не за попередньо продуманим дизайнером шляхом. Поки не алерт - поводяться - патролюють
одним із заготовлених ігровим дизайнером шляхів.
Як результат все приблизно відповідає реальності при тому, що моби працюють по станах автомата (finite-state machine /
automata). Спершу, подібно до людей на вахті в реальному світі. Коли алерт - поводяться подібно до того як реальні люди в
таких самих обставинах поводилися б, покрайній мірі, на думку гравця.
Супутники - АІ зроблений через такі ж прості стани автомата, але їхні можливості підібрані таким чином, шо для людини
їхня поведінка виглядає реалістичною відповідно до сюжету, а їхня гра сильною.
Приклад того, як потрібно будувати сюжет для того, щоби не мати потім такого явного фейка, як виглядають зблизька
баталії в Total War і щоби не мати гемору з розробками ботів і тд.
Total War: Bulat Steel, або як псувати
враження
Я мушу тримати в місті по 20 загонів, і все одно місто бунтує. АІ тримає в місті 1
загін і місто не бунтує. Це бісить і ламає бачення логіки гри гравцем.
Якшо є рівноцінний людині персонаж, то він повинен виглядати ніби
управляється настільки ж розумним створінням як людина, інакше гравець буде
біситись.
АІ в Total War працює в значній мірі за рахунок алгоритмів оптимізації.
Glitches:
Gothic
1) NPC мав відвести мене з точки а в точку б. Застряг в камені. No comments
2) Орк б’ється зі мною і застрягає в дереві. Такі речі дико виносять мозг
розробникам, але гравцям деколи весело (особливо якшо в тебе лишився 1 хп - в
мене так бувало). Звісно бажано пофіксати аби вашу гру не розносили в пух і прах
ютюбери, а компенсації моменту про 1 хп треба робити сценарійно, наприклад бац
і вам повезло з останніх сил в відчаї попасти орку прямо в серце.
Подрібнення
Є задачі відокремлені від абстрактної ігрової логіки. Розв’язки задач, як от пошук
шляху з уникненням рухомих перешкод часто поставляються в окремих
фреймворках/модулях, або є вбудованою частиною ігрових двигунів і ті ж розв’
язки використовуються в абсолютно різних іграх.
Чому взагалі згадали про pathfinding? Бо він входить в поведінку на нижчому
рівні. Тобто на абстрактному рівні я пішов юнітом в напрямку до точки Z, але на
ділі, не абстрагуючись, що я зробив - це пройшов через точку A i B на
найкоротшому (чи найбезпечнішому?) шляху до Z. Divide et Impera. Розділяйте
АІ на максимально дрібні вузькоспеціалізовані підзадачі.
Ролі АІ
Три застосування АІ
1. Боти (дуже хороша ідея робити ігри, де їх немає).
2. Моби (найлегше, якщо моби в вашому сценарії - якісь тупі зомбі, чи ще якісь
істоти не наділені особливим інтелектом).
3. Правила (динамічна зміна сценарію, складності, якісь підказки).
Моби
АІ мобів в стратегічних іграх, аркадах та хак-н-слешах тісно взаємодіє з ядром.
Його задачі - автоматизація поведінки мобів, npc, ігрових босів, автомитазація
складних тригерів ігрового світу.
Боти
Є унікальним для кожної гри. API для компютерного бота має бути тотожним з
API для людини.
В багатьох іграх скрипти ботів існують окремо від клієнтської частини гри.
Тактичний АІ
Приймає рішення по поточній діяльності. Управляє конкретним юнітом або й
цілою групою - наприклад вирішує ким пожертвувати, кого лікувати.
Стратегічний АІ
Стратегічний АІ приймає рішення про конкретну задачу. Часто в них юзаються
карти - карти рішень, карти ресурсів, карти конфліктів
Програмування АІ
Programming: Методи штучного інтелекту
Визначеність - пошук шляху, задачі, які можна за достатньо короткий час машинно вирішити абсолютно
правильно.
Евристика використовується коли за короткий час не можна прийняти однозначне абсолютно правильне
рішення. Коли єдиного абсолютно правильного рішення не існує, як наприклад, коли моделюється
багатогранна людська поведінка, чи поведінка квантів, або якщо на те, щоби найкраще рішення знайти, як
для пошуку найкоротшого розв’язку гри Sokoban, потрібно дуже багато часу. Сюди входять, наприклад,
алгоритми оптимізації і “правила правої руки”, “лівої ноги”, “третього.. тойво” коли ігровий розробник
робить вгадувалку в стилі станів автомата (FSM), яка не обов’язково забеспечить вибір найкращого
рішення, але за час даний їй постарається підібратися близько.
Пошук шляху та суміжні алгоритми
1. Алгоритм Дейкстри
2. Алгоритм Астар
3. RVO
Astar and Dijkstra
Programming: Які є Підходи
1. Машина станів автомата - FSM - в т.ч. Behaviour tree, Decision tree - це лише
методи для реалізації цього підходу.
2. Utility based - оцінка правильності рішення на основі пріоритету
3. Алгоритми оптимізацій, як от нейромережі, генетичний алгоритм, тощо,
support vector machines, тони інших, так звані “складні експертні системи”
часто тотожні цьому.
4. Конкретні алгоритми для точного вирішення різних конкретних задач, які
потрібно вирішувати в конкретній грі. Наприклад, пошук шляху.
Programming: Decision Tree
Купа if-then-else стейтментів. Найпростіша архітектура
Programming: FSM
Сутність приймає рішення відповідно до конкретного стану. Стани - спокій, рух
до точки, переслідування цілі.
Planner
В даній архітектурі АІ шукає шлях досягнення цілі вже поставленої цілі
Utility based algorithm
Для кожного рішення обраховується вага, що позначатиме його оптимальність.
Виконується найоптимальніше рішення на даний момент
Память та навчання АІ
Штучний інтелект часто мусить пам'ятати прийняті рішення. Наприклад в
стратегічній грі компютерний бот вибирає довгортивалу стратегію гри - атакувати
головну ворожі базу чи взяти її в облогу. Для складнішої поведінки та навчання -
записуємо прийняті нами та ворогом рішення в dictionary чи спеціальні структури
даних.
Паралелізація АІ
Поширена практика по оптимізації. Стратегічний і тактичний рівні - в окремі
потоки, з високою частотою обновлення. задачі нижчого порядку мають свою
логіку - Пошук найближчих цілей має високу частоту обновлення. Пошук шляху є
сенс виконувати з допомогою threadpool.
Дякую за увагу!

More Related Content

Viewers also liked

Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...
Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...
Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...Lviv Startup Club
 
Андрій Гурський "Agile architecture"
Андрій Гурський "Agile architecture"Андрій Гурський "Agile architecture"
Андрій Гурський "Agile architecture"Lviv Startup Club
 
Анна Дериколенко - "Facebook для В2В"
Анна Дериколенко - "Facebook для В2В"Анна Дериколенко - "Facebook для В2В"
Анна Дериколенко - "Facebook для В2В"Lviv Startup Club
 
Сергій Гилюк “Маркетинг вашої гри в Steam”
Сергій Гилюк “Маркетинг вашої гри в Steam”Сергій Гилюк “Маркетинг вашої гри в Steam”
Сергій Гилюк “Маркетинг вашої гри в Steam”Lviv Startup Club
 
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...Lviv Startup Club
 
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...Lviv Startup Club
 
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...Lviv Startup Club
 
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...Lviv Startup Club
 
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in IT
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in ITKYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in IT
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in ITLviv Startup Club
 
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"Lviv Startup Club
 
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”Lviv Startup Club
 
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”Ліза Воронкова “Досвід розробки носимого пристрою в Україні”
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”Lviv Startup Club
 
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"Lviv Startup Club
 
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...Lviv Startup Club
 
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...Lviv Startup Club
 
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"Андрій Сірук "7 способів підвищення ефективності контекстної реклами"
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"Lviv Startup Club
 
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...Lviv Startup Club
 

Viewers also liked (17)

Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...
Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...
Lviv Freelance Forum Дмитро Суслов “Мультитаскинг на благо або запуск внутріш...
 
Андрій Гурський "Agile architecture"
Андрій Гурський "Agile architecture"Андрій Гурський "Agile architecture"
Андрій Гурський "Agile architecture"
 
Анна Дериколенко - "Facebook для В2В"
Анна Дериколенко - "Facebook для В2В"Анна Дериколенко - "Facebook для В2В"
Анна Дериколенко - "Facebook для В2В"
 
Сергій Гилюк “Маркетинг вашої гри в Steam”
Сергій Гилюк “Маркетинг вашої гри в Steam”Сергій Гилюк “Маркетинг вашої гри в Steam”
Сергій Гилюк “Маркетинг вашої гри в Steam”
 
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...
Lviv Freelance Forum Іван Веркалець: “Як аутсорсинговій компанії ефективно пр...
 
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...
Ростислав Чабан – композитор та співзасновник в Universe Music “Чим зачепити ...
 
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...
Lviv Freelance Forum Ігор Яковлєв «Як найняти в компанію правильного фрілансе...
 
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...
Lviv Freelance Forum Павло Пелех “Фріланс-платформа як стартовий майданчик дл...
 
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in IT
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in ITKYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in IT
KYIV PM CLUB 25.01 Anna Lavrova - Once upon a time in IT
 
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"
GameDev 2017 - Олександр Дзюба "Гра: від креативу до бізнесу через плейтести"
 
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”
Віталій Мороз “Предметна економіка: “Вірність” від прядок до оніксів”
 
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”Ліза Воронкова “Досвід розробки носимого пристрою в Україні”
Ліза Воронкова “Досвід розробки носимого пристрою в Україні”
 
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"
GameDev 2017 - Юлія Піштар "Створення ігрового персонажа – повний пайплайн"
 
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
 
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...
Lviv PMDay 2016 S Анатолій Савін: Майстер-клас з управління ризиками в проект...
 
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"Андрій Сірук "7 способів підвищення ефективності контекстної реклами"
Андрій Сірук "7 способів підвищення ефективності контекстної реклами"
 
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
 

More from Lviv Startup Club

Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...Lviv Startup Club
 
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...Lviv Startup Club
 
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...Lviv Startup Club
 
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...Lviv Startup Club
 
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)Lviv Startup Club
 
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)Lviv Startup Club
 
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...Lviv Startup Club
 
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...Lviv Startup Club
 
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...Lviv Startup Club
 
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...Lviv Startup Club
 
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)Lviv Startup Club
 
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...Lviv Startup Club
 
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)Lviv Startup Club
 
Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)Lviv Startup Club
 
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...Lviv Startup Club
 
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...Lviv Startup Club
 
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)Lviv Startup Club
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)Lviv Startup Club
 
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Lviv Startup Club
 

More from Lviv Startup Club (20)

Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
 
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
 
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
 
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
 
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
 
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
 
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
 
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
 
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
 
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
 
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
 
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
 
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
 
Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)
 
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
 
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
 
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
 
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
 

Данило Сиротинський “Artificial intelligence in games: Myth and Reality”

  • 1. Штучний Інтелект у Іграх Міф чи реальність?
  • 2. Про презентацію Данило Сиротинський - Dragons Games. Доповідач Ігор Меншиков - розробник штучного інтелекту.
  • 3. Чи обовязковий АІ? Грі не потрібно мати людського інтелекту для того, щоби бути цікавою і навпаки, навіть якщо в грі є інші абсолютно реальні гравці, як в MMO - це абсолютно не гарантує, що гра вийде максимально цікавою. Портал 1 грався офігенно без усілякого АІ.
  • 4.
  • 5. Тест Тюринга Щоби суб’єкт, який тестує машину Тюринга повірив в її людськість, потрібно не надлюдський суперінтелект, а змусити його захотіти, щоби вона такою була. Персонаж повинен з’єднатися з гравцем на емоційному рівні. Закохати в себе. Ви повинні змусити гравця співчувати персонажу, переживати, очікувати сцен із ним, він може стати справжнім другом, чи ворогом. Не формально, а дійсно. Як у якісних книжках і фільмах.
  • 6. Ролі АІ Моби - як правило дурні і не глибокі. Наприклад, “боси”. NPC - вид мобів з якими можна вступати в соціальний контакт. Для ігор, в яких існує сюжет, чого всім раджу. Боти - замінюють самого гравця, другого гравця, тд. Наприклад, інші фракції в Total War, противники в одиночній грі в Starcraft, Warcraft, Civilisation, Counter Strike, тд. Зазвичай, значно складніші для написання.
  • 7. Ігри з простою механікою Пекмен, Маріо - є тільки моби. Сокобан - АІ не присутня в ігровому процесі. Якщо гру реалізує дуже добре обізнана в алгоритмах людина, вона може зробити автоматичний солвер до гри, який зміг би підказувати гравцеві чи він зможе вийти з такого стану, в який вона себе запхала, чи зможе підказати їй яким чином вибратися з нього. Також це допоможе підчас розробки рівнів. Якщо реалізує людина не обізнана алгоритмах, автосолвер максимум порадує гравця меморізованою можливістю розв’язування лише з початкового стану.
  • 8.
  • 9. Diablo Моби - звичайні монстри з якими б’єшся. Чаклун може спавнити їх на підмогу. В грі також присутні і NPC з якими можна торгувати. Присутній алгоритм пошуку шляху. В грі використовується складна процедурна генерація рівнів, в якій монстри та лут може підбиратися аналізуючи стиль гри, інвентар та параметри гравця.
  • 10.
  • 11. Меморізація й оптимізаційна евристика: Шахи АІ тут називається ботом, оскільки заміняє другого гравця. Оскільки за розумний час тут нічого не обчислиш, використовується підхід станів автомата (fsm) відносно попередньо обчислених меморізованих ходів і при потребі, таки прораховування, але неглибоке, з евристикою, яка аналізує ці всі прораховані ходи і вирішує як таки бути, наприклад використовуючи певні алгоритми оптимізації навчені на прикладах. Людиногравці грають за тим же принципом оптимізаційної евристики, але в меншій мірі меморізації, оскільки всього не запам’ятаєш. Відрізняється алгоритм за яким навчалась оптимізаційна евристика й сам досвід (кількість навчання).
  • 13.
  • 14.
  • 15. Розділення, Евристика й Оптимізація: Civilization | Heroes of Might & Magic Прийняття рішень ботами тут йде зарахунок системи з кількох різних модулів для обчислення різних частин гри. Окремо йде обчислення того куди піти юнітам, окремо приймаються стратегічні рішення по науці, окремо по містобудівництву, окремо по дипломатії. Але вони скльопані до купи й не тягнуть гравця врізнобіч, а йдуть “в ногу” зарахунок певних дуже абстрагованих еврестичних показників. Наприклад, силовий показник рівня небезпеки від сусідів, чи можливості їх захопити впливає на прийняття рішення про побудову військових споруд і війська алгоритмом побудови міста, а також має наслідки для алгоритму дипломатії, очевидні наслідки для розстановки юнітів. Більш розділеною зарахунок побудови ігрової механіки є Civilization, ніж у Heroes of MM. Чим більшою є розділеність зарахунок правильної побудови ігрової механіки, тим кращий АІ легше зробити. Тим не менше, існуючий штучний інтелект Цивілізації не є співмірним по крутості вирішування поставлених йому задач з людським, але це компенсовано тим, що йому дається більше ресурсів (на складніших рівнях). Чому так є не пояснено сценарієм, через що проглядається фейковість. Фейковість також сильно виходить назовні коли бот допускає банальні помилки в своїй стратегії.
  • 16.
  • 17. Розділення, Евристика й Оптимізація: Starcraft Проста гра: евристика, алгоритми оптимізації. АІ вміє швидко розвідувати мапу не тратячи надто багато ресурсів. АІ добре знає якими юнітами і турелями можна контрити яких юнітів і турелі ворога і будує відповідно, прокачує відповідні апгрейди. Може розрахувати які ресурси йому на це потребуються найближчим часом. Навчений шукати вигідні місця для побудови споруд. Навчений оцінювати можливі напрямки наступу на нього й можливості юнітів, які наступатимуть, шукати слабкі місця на своїй й ворожій базах і відповідним чином розставляти юнітів і турелі, вводити відповідні патрулювання територій. Все це робиться зарахунок окремих модулів. Навчений оптимізовувати напрямки атаки, послідовність використання юнітів і те, якими юнітами у що цілити, попередньо враховуючи розміщення ворожих юнітів, турелів та споруд. Вміє вишукувати ті споруди, які життєвоважливі для ворога й паралізувати виробництво тих речей, які найбільше шкодять цьому АІ. Планування наступу, наприклад, найімовірніше, складається з окремого оцінювання того чого варте (в умовних очках) знищення яких споруд, турелів і юнітів, програвання “подумки” варіантів наступів з різних позицій при цьому віддаючи поведінку юнітів і структур в руки відносно простеньких моб-стайл АІ, а розстановку нападаючих юнітів в руки окремої спеціалізованої АІ. Кампанія: тут в АІ може бути зразу більше ресурсів та військ, що нівелює його задизайнену тупість націлену на досягнення гравцем більшого задоволення. Розглянемо місію протосів знищити вищий розум зергів. По суті треба знищити ворожу базу (подібно до простої одиночної гри по мапах). Щоб місія була складною, зергам (ворогам) дається зразу більша армія і більша база. АІ працює за певним сценарієм і атакує не одразу, а після паузи і кожен раз нарощує свої атаки. АІ явно поводиться не найвигідніше, а так, як йому сказав розробник. Такий підхід класний, якщо дурості та піддавання АІ пояснені сценарієм. Якщо ні, гравцеві видно фейк.
  • 18.
  • 19. Сильний Сюжет і FSM: Metal Gear Моби - ходять по продуманих дизайнером місцях. Якшо затрігераєш алерт, вони починають ходити де тебе бачили останній раз чи ше шось таке, шукати не за попередньо продуманим дизайнером шляхом. Поки не алерт - поводяться - патролюють одним із заготовлених ігровим дизайнером шляхів. Як результат все приблизно відповідає реальності при тому, що моби працюють по станах автомата (finite-state machine / automata). Спершу, подібно до людей на вахті в реальному світі. Коли алерт - поводяться подібно до того як реальні люди в таких самих обставинах поводилися б, покрайній мірі, на думку гравця. Супутники - АІ зроблений через такі ж прості стани автомата, але їхні можливості підібрані таким чином, шо для людини їхня поведінка виглядає реалістичною відповідно до сюжету, а їхня гра сильною. Приклад того, як потрібно будувати сюжет для того, щоби не мати потім такого явного фейка, як виглядають зблизька баталії в Total War і щоби не мати гемору з розробками ботів і тд.
  • 20. Total War: Bulat Steel, або як псувати враження Я мушу тримати в місті по 20 загонів, і все одно місто бунтує. АІ тримає в місті 1 загін і місто не бунтує. Це бісить і ламає бачення логіки гри гравцем. Якшо є рівноцінний людині персонаж, то він повинен виглядати ніби управляється настільки ж розумним створінням як людина, інакше гравець буде біситись. АІ в Total War працює в значній мірі за рахунок алгоритмів оптимізації.
  • 21.
  • 22. Glitches: Gothic 1) NPC мав відвести мене з точки а в точку б. Застряг в камені. No comments 2) Орк б’ється зі мною і застрягає в дереві. Такі речі дико виносять мозг розробникам, але гравцям деколи весело (особливо якшо в тебе лишився 1 хп - в мене так бувало). Звісно бажано пофіксати аби вашу гру не розносили в пух і прах ютюбери, а компенсації моменту про 1 хп треба робити сценарійно, наприклад бац і вам повезло з останніх сил в відчаї попасти орку прямо в серце.
  • 23. Подрібнення Є задачі відокремлені від абстрактної ігрової логіки. Розв’язки задач, як от пошук шляху з уникненням рухомих перешкод часто поставляються в окремих фреймворках/модулях, або є вбудованою частиною ігрових двигунів і ті ж розв’ язки використовуються в абсолютно різних іграх. Чому взагалі згадали про pathfinding? Бо він входить в поведінку на нижчому рівні. Тобто на абстрактному рівні я пішов юнітом в напрямку до точки Z, але на ділі, не абстрагуючись, що я зробив - це пройшов через точку A i B на найкоротшому (чи найбезпечнішому?) шляху до Z. Divide et Impera. Розділяйте АІ на максимально дрібні вузькоспеціалізовані підзадачі.
  • 25. Три застосування АІ 1. Боти (дуже хороша ідея робити ігри, де їх немає). 2. Моби (найлегше, якщо моби в вашому сценарії - якісь тупі зомбі, чи ще якісь істоти не наділені особливим інтелектом). 3. Правила (динамічна зміна сценарію, складності, якісь підказки).
  • 26. Моби АІ мобів в стратегічних іграх, аркадах та хак-н-слешах тісно взаємодіє з ядром. Його задачі - автоматизація поведінки мобів, npc, ігрових босів, автомитазація складних тригерів ігрового світу.
  • 27. Боти Є унікальним для кожної гри. API для компютерного бота має бути тотожним з API для людини. В багатьох іграх скрипти ботів існують окремо від клієнтської частини гри.
  • 28. Тактичний АІ Приймає рішення по поточній діяльності. Управляє конкретним юнітом або й цілою групою - наприклад вирішує ким пожертвувати, кого лікувати.
  • 29. Стратегічний АІ Стратегічний АІ приймає рішення про конкретну задачу. Часто в них юзаються карти - карти рішень, карти ресурсів, карти конфліктів
  • 31. Programming: Методи штучного інтелекту Визначеність - пошук шляху, задачі, які можна за достатньо короткий час машинно вирішити абсолютно правильно. Евристика використовується коли за короткий час не можна прийняти однозначне абсолютно правильне рішення. Коли єдиного абсолютно правильного рішення не існує, як наприклад, коли моделюється багатогранна людська поведінка, чи поведінка квантів, або якщо на те, щоби найкраще рішення знайти, як для пошуку найкоротшого розв’язку гри Sokoban, потрібно дуже багато часу. Сюди входять, наприклад, алгоритми оптимізації і “правила правої руки”, “лівої ноги”, “третього.. тойво” коли ігровий розробник робить вгадувалку в стилі станів автомата (FSM), яка не обов’язково забеспечить вибір найкращого рішення, але за час даний їй постарається підібратися близько.
  • 32. Пошук шляху та суміжні алгоритми 1. Алгоритм Дейкстри 2. Алгоритм Астар 3. RVO
  • 34. Programming: Які є Підходи 1. Машина станів автомата - FSM - в т.ч. Behaviour tree, Decision tree - це лише методи для реалізації цього підходу. 2. Utility based - оцінка правильності рішення на основі пріоритету 3. Алгоритми оптимізацій, як от нейромережі, генетичний алгоритм, тощо, support vector machines, тони інших, так звані “складні експертні системи” часто тотожні цьому. 4. Конкретні алгоритми для точного вирішення різних конкретних задач, які потрібно вирішувати в конкретній грі. Наприклад, пошук шляху.
  • 35. Programming: Decision Tree Купа if-then-else стейтментів. Найпростіша архітектура
  • 36.
  • 37. Programming: FSM Сутність приймає рішення відповідно до конкретного стану. Стани - спокій, рух до точки, переслідування цілі.
  • 38. Planner В даній архітектурі АІ шукає шлях досягнення цілі вже поставленої цілі
  • 39. Utility based algorithm Для кожного рішення обраховується вага, що позначатиме його оптимальність. Виконується найоптимальніше рішення на даний момент
  • 40. Память та навчання АІ Штучний інтелект часто мусить пам'ятати прийняті рішення. Наприклад в стратегічній грі компютерний бот вибирає довгортивалу стратегію гри - атакувати головну ворожі базу чи взяти її в облогу. Для складнішої поведінки та навчання - записуємо прийняті нами та ворогом рішення в dictionary чи спеціальні структури даних.
  • 41. Паралелізація АІ Поширена практика по оптимізації. Стратегічний і тактичний рівні - в окремі потоки, з високою частотою обновлення. задачі нижчого порядку мають свою логіку - Пошук найближчих цілей має високу частоту обновлення. Пошук шляху є сенс виконувати з допомогою threadpool.