Корисні лінки для аналітиків і не тільки
Ну, загалом, там лінки корисні не лише, для аналітиків, але також і для геймдизайнерів, трафік менеджерів, маркетологів, ігрових економістів і тп. А ще вони зручно поділені по рубрикам. Вашій увазі:
https://edu.devtodev.com/articles/139/100-poleznih-ssilok-dlya-igrovih-analitikov?lang=ru
Цікавий факт, змінивши мову ми отримуємо трохи інший список:
https://edu.devtodev.com/articles/139/100-poleznih-ssilok-dlya-igrovih-analitikov?lang=en
#gamedesign #saved #analytics #compilation #traffic #marketing #AI #statistics #ABtests
Ну, загалом, там лінки корисні не лише, для аналітиків, але також і для геймдизайнерів, трафік менеджерів, маркетологів, ігрових економістів і тп. А ще вони зручно поділені по рубрикам. Вашій увазі:
https://edu.devtodev.com/articles/139/100-poleznih-ssilok-dlya-igrovih-analitikov?lang=ru
Цікавий факт, змінивши мову ми отримуємо трохи інший список:
https://edu.devtodev.com/articles/139/100-poleznih-ssilok-dlya-igrovih-analitikov?lang=en
#gamedesign #saved #analytics #compilation #traffic #marketing #AI #statistics #ABtests
Devtodev
100 полезных ссылок для игровых аналитиков
Самые полезные ресурсы для игровых аналитиков - статьи, видео, подкасты,
Реакція АІ в іграх (частина 1)
Продовжуючи тему атмосферного світу неможливо пройти повз реакцію NPC на різні події довкола.
Стаття: https://gamasutra.com/blogs/SergioOcioBarriales/20200508/362600/You_had_me_at_AAAAHHH__On_the_Importance_of_Reactions_in_Game_AI.php
Основне завдання штучного інтелекту (ШІ) в грі - це створення багатого та веселого досвіду для гравця. Це означає, що більшість ігор не потребують створення 100% достовірної симуляції реального світу, отже і ШІ не має бути 100% реалістичним (хоча із цим треба бути обережним)
Узагальнена логіка роботи ШІ: утворюється певний стимул, він передається в ШІ де вирішується має ШІ реагувати на цей стимул чи ні. Якщо ШІ приймає рішення реагувати - стимул потрапляє у відділ прийняття рішення, де обирається спосіб реакції на цей стимул.
Методи контроля прийняття рішень та обробки реакції:
1. State-based solutions або якщо детальніше: Finite-State Machines (FSMs) чи їх ієрархічні версії (HFSMs).
*Чесно, це один із перших випадків, коли я не перекладатиму такі терміни, щоб точно не плутати.
Обробляється реакція NPC на конкретний стимул у вигляді переходу від одного стану до іншого. Проблеми із цим підходом з’являються тоді, коли виникає дуже багато таких станів і відповідно переходів між ними. Із цим стає складно працювати.
2. Behavior Trees (BTs) - Поведінкове дерево.
Свого роду еволюція попереднього методу. Поведінкове дерево дозволяє пріоритезувати зовнішні стимули, отримувати більше одного зовнішнього стимулу одночасно та створювати більш елегантні та точкові рішення для конкретних стимулів
3. Автоматизоване планування (GOAP or HTNs).
Може вимагати часткового чи повного перепланування. Цей метод краще впорається із масштабуванням, однак реакції на один і той же стимул можуть відрізнятись (їх важче контролювати). Цей метод бере в розрахунок стан світу та цілі конкретного NPC
4. Деякі ігри можуть будувати прийняття рішень конкретними NPC відокремлено від загальних систем із прийняття рішень. Прикладом такого підходу є прийняття рішень за заданими правилами
Реакції використовуються для того, щоб сповіщати гравця про зміну стану NPC. Окрім реакцій це можуть бути анімації або звуки. Також, перед переходом в інший стан або ж перед зміною поведінки NPC часто можна побачити UI сповіщення про те, яка реакція може трапитись у відповідь на дії гравця (наприклад, охоронці в стелс іграх починають щось підозрювати, коли знайшли вже третє тіло свого колеги).
Перша ціль реакцій ШІ - передача зворотного зв’язку гравцю. Коли гравець робить певну дію, він очікую відповідь від гри
Друга ціль - створення реакцій, що підходять за контекстом подій. Зробивши певну дію, гравець очікує конкретну реакцію, тому NPC мають реагувати адекватно та правдоподібно.
Третя ціль - реакції завжди мають бути читабельними та послідовними, щоб гравець міг вчити, звикати та адаптуватись до ігрових систем.
#gamedesign #AI #tips #NPC
Продовжуючи тему атмосферного світу неможливо пройти повз реакцію NPC на різні події довкола.
Стаття: https://gamasutra.com/blogs/SergioOcioBarriales/20200508/362600/You_had_me_at_AAAAHHH__On_the_Importance_of_Reactions_in_Game_AI.php
Основне завдання штучного інтелекту (ШІ) в грі - це створення багатого та веселого досвіду для гравця. Це означає, що більшість ігор не потребують створення 100% достовірної симуляції реального світу, отже і ШІ не має бути 100% реалістичним (хоча із цим треба бути обережним)
Узагальнена логіка роботи ШІ: утворюється певний стимул, він передається в ШІ де вирішується має ШІ реагувати на цей стимул чи ні. Якщо ШІ приймає рішення реагувати - стимул потрапляє у відділ прийняття рішення, де обирається спосіб реакції на цей стимул.
Методи контроля прийняття рішень та обробки реакції:
1. State-based solutions або якщо детальніше: Finite-State Machines (FSMs) чи їх ієрархічні версії (HFSMs).
*Чесно, це один із перших випадків, коли я не перекладатиму такі терміни, щоб точно не плутати.
Обробляється реакція NPC на конкретний стимул у вигляді переходу від одного стану до іншого. Проблеми із цим підходом з’являються тоді, коли виникає дуже багато таких станів і відповідно переходів між ними. Із цим стає складно працювати.
2. Behavior Trees (BTs) - Поведінкове дерево.
Свого роду еволюція попереднього методу. Поведінкове дерево дозволяє пріоритезувати зовнішні стимули, отримувати більше одного зовнішнього стимулу одночасно та створювати більш елегантні та точкові рішення для конкретних стимулів
3. Автоматизоване планування (GOAP or HTNs).
Може вимагати часткового чи повного перепланування. Цей метод краще впорається із масштабуванням, однак реакції на один і той же стимул можуть відрізнятись (їх важче контролювати). Цей метод бере в розрахунок стан світу та цілі конкретного NPC
4. Деякі ігри можуть будувати прийняття рішень конкретними NPC відокремлено від загальних систем із прийняття рішень. Прикладом такого підходу є прийняття рішень за заданими правилами
Реакції використовуються для того, щоб сповіщати гравця про зміну стану NPC. Окрім реакцій це можуть бути анімації або звуки. Також, перед переходом в інший стан або ж перед зміною поведінки NPC часто можна побачити UI сповіщення про те, яка реакція може трапитись у відповідь на дії гравця (наприклад, охоронці в стелс іграх починають щось підозрювати, коли знайшли вже третє тіло свого колеги).
Перша ціль реакцій ШІ - передача зворотного зв’язку гравцю. Коли гравець робить певну дію, він очікую відповідь від гри
Друга ціль - створення реакцій, що підходять за контекстом подій. Зробивши певну дію, гравець очікує конкретну реакцію, тому NPC мають реагувати адекватно та правдоподібно.
Третя ціль - реакції завжди мають бути читабельними та послідовними, щоб гравець міг вчити, звикати та адаптуватись до ігрових систем.
#gamedesign #AI #tips #NPC
GAMASUTRA
You had me at 'AAAAHHH' – On the Importance of Reactions in Game AI
The following blog post, unless otherwise noted, was written by a member of Gamasutra's community. The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company. Reactions are an important aspect of an AI’s performance…
Реакція АІ в іграх (частина 2)
Стаття: https://gamasutra.com/blogs/SergioOcioBarriales/20200508/362600/You_had_me_at_AAAAHHH__On_the_Importance_of_Reactions_in_Game_AI.php
В розмовах про ШІ часто використовують термін “suspension of disbelief” (припинення недовіри). Це поняття описується як “готовність сприймати неправдоподібність історії, доки вона достатньо правдоподібна, щоб зацікавити”
Для ігор це означає, що гравці схильні приймати правила та занурюватись в ігровий світ, доки сам розробник дотримується своїх правил.
Реакції NPC - це дуже важливий пункт у підтриманні ілюзії правдивості світу. Якщо реакції персонажів будуть поза контекстом, або не відповідатимуть очікуванням - це зруйнує імерсивність світу.
Людський мозок дуже круто знаходить певні патерни в різних сферах, отже і ігрові системи не будуть виключенням, тут на допомогу і прийде читабельність та послідовність реакцій. Однак треба пам’ятати, що часто повторювані реакції будуть гравцям набридати.
В силу певних обмежень, розробники не можуть створити реакції на всі можливі стимули, отже це означає, що нам треба завжди розставляти пріоритети і створювати реакції для найбільш ймовірних подій.
Повторення певних фраз в іграх це нормально, однак треба розуміти, що деякі із них гравець може чути сотні разів під час проходження. Варто додавати різноманіття, кулдаун і запам’ятовувати “круті моменти”, щоб не повторювати їх раз за разом.
Проблема із груповим ШІ в тому, що він ламатиме занурення в гру, у випадку, якщо всі NPC реагуватимуть однаково. Це можна вирішити за допомогою грубої сили (додавання більшої кількості варіантів переходу з одного стану в інший) або шляхом обмеження кількості NPC, що одночасно можуть переходити з одного стану в інший (таким чином перехід буде неодночасним і не так буде кидатись в очі).
Система попадання - сигналізує гравцю чи була вдалою його атака. Такі попадання мають бути правдоподіними, а зворотний зв’язок - миттєвим.
Система сприйняття - це система, що дозволяє збирати інформацію про навколишній світ через зір та слух. NPC мають адекватно реагувати на зміни та стимули, що відбуваються в полі їх очікуваного зору та слуху.
Для стелс ігор важливими є те, як NPC помічають гравця, плутаються та час переходу між різними станами.
Тактично треба прораховувати можливість ШІ змінювати свої патерни поведінки, якщо гравець надто часто використовує один метод боротьби.
Висновки:
1. Використовуйте розумні висловлювання для NPC, але не зловживайте ними.
2. Використовуйте різні варіації анімацій
3. Рандомізуйте швидкість реакції NPC
4. Відповідайте очікуванням гравця
#gamedesign #AI #tips #NPC
Стаття: https://gamasutra.com/blogs/SergioOcioBarriales/20200508/362600/You_had_me_at_AAAAHHH__On_the_Importance_of_Reactions_in_Game_AI.php
В розмовах про ШІ часто використовують термін “suspension of disbelief” (припинення недовіри). Це поняття описується як “готовність сприймати неправдоподібність історії, доки вона достатньо правдоподібна, щоб зацікавити”
Для ігор це означає, що гравці схильні приймати правила та занурюватись в ігровий світ, доки сам розробник дотримується своїх правил.
Реакції NPC - це дуже важливий пункт у підтриманні ілюзії правдивості світу. Якщо реакції персонажів будуть поза контекстом, або не відповідатимуть очікуванням - це зруйнує імерсивність світу.
Людський мозок дуже круто знаходить певні патерни в різних сферах, отже і ігрові системи не будуть виключенням, тут на допомогу і прийде читабельність та послідовність реакцій. Однак треба пам’ятати, що часто повторювані реакції будуть гравцям набридати.
В силу певних обмежень, розробники не можуть створити реакції на всі можливі стимули, отже це означає, що нам треба завжди розставляти пріоритети і створювати реакції для найбільш ймовірних подій.
Повторення певних фраз в іграх це нормально, однак треба розуміти, що деякі із них гравець може чути сотні разів під час проходження. Варто додавати різноманіття, кулдаун і запам’ятовувати “круті моменти”, щоб не повторювати їх раз за разом.
Проблема із груповим ШІ в тому, що він ламатиме занурення в гру, у випадку, якщо всі NPC реагуватимуть однаково. Це можна вирішити за допомогою грубої сили (додавання більшої кількості варіантів переходу з одного стану в інший) або шляхом обмеження кількості NPC, що одночасно можуть переходити з одного стану в інший (таким чином перехід буде неодночасним і не так буде кидатись в очі).
Система попадання - сигналізує гравцю чи була вдалою його атака. Такі попадання мають бути правдоподіними, а зворотний зв’язок - миттєвим.
Система сприйняття - це система, що дозволяє збирати інформацію про навколишній світ через зір та слух. NPC мають адекватно реагувати на зміни та стимули, що відбуваються в полі їх очікуваного зору та слуху.
Для стелс ігор важливими є те, як NPC помічають гравця, плутаються та час переходу між різними станами.
Тактично треба прораховувати можливість ШІ змінювати свої патерни поведінки, якщо гравець надто часто використовує один метод боротьби.
Висновки:
1. Використовуйте розумні висловлювання для NPC, але не зловживайте ними.
2. Використовуйте різні варіації анімацій
3. Рандомізуйте швидкість реакції NPC
4. Відповідайте очікуванням гравця
#gamedesign #AI #tips #NPC
GAMASUTRA
You had me at 'AAAAHHH' – On the Importance of Reactions in Game AI
The following blog post, unless otherwise noted, was written by a member of Gamasutra's community. The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company. Reactions are an important aspect of an AI’s performance…
Штучний інтелект в Command & Conquer
Культова, без перебільшень, стратегія, ремастером якої занялись ЕА. Разом із цим ЕА виклали код оригінальної гри у відкритий доступ.
Це хороша нагода поглянути на те, як працює штучний інтелект в RTS і це точно буде корисно тим, хто із цим ще не зіштовхувався.
Відео (28:46): https://www.youtube.com/watch?v=Wb84Vi7XFRg
Стаття: https://gamasutra.com/blogs/TommyThompson/20200730/367192/Exploring_the_AI_of_Command__Conquer.php
GitHub: https://github.com/electronicarts/CnC_Remastered_Collection
Два типи ігрових правил:
Місії (напад, добування ресурсів, охорона)
Стратегії (пріоритети в будівництві, покращення шляхів надходження грошей)
Пошук шляху у відео затронутий зовсім коротко, але є відео від Ars Technica
Відео (13:02): https://www.youtube.com/watch?v=S-VAL7Epn3o
І куди ж тут без відео від Noclip (40:14): https://www.youtube.com/watch?v=7MUDQYWk6qY
#AI #saved #tips #noclip #path
Культова, без перебільшень, стратегія, ремастером якої занялись ЕА. Разом із цим ЕА виклали код оригінальної гри у відкритий доступ.
Це хороша нагода поглянути на те, як працює штучний інтелект в RTS і це точно буде корисно тим, хто із цим ще не зіштовхувався.
Відео (28:46): https://www.youtube.com/watch?v=Wb84Vi7XFRg
Стаття: https://gamasutra.com/blogs/TommyThompson/20200730/367192/Exploring_the_AI_of_Command__Conquer.php
GitHub: https://github.com/electronicarts/CnC_Remastered_Collection
Два типи ігрових правил:
Місії (напад, добування ресурсів, охорона)
Стратегії (пріоритети в будівництві, покращення шляхів надходження грошей)
Пошук шляху у відео затронутий зовсім коротко, але є відео від Ars Technica
Відео (13:02): https://www.youtube.com/watch?v=S-VAL7Epn3o
І куди ж тут без відео від Noclip (40:14): https://www.youtube.com/watch?v=7MUDQYWk6qY
#AI #saved #tips #noclip #path
YouTube
Exploring the AI of Command & Conquer | AI and Games #53
25 years after its release, Command & Conquer returns to PC gaming in a newly remastered collection comprised of both Tiberian Dawn and Red Alert. But in addition, the source code of the remaster has been released to the public. So in this episode, we dive…
Коні в RDR2
Для RDR2 кінь це не просто засіб швидшого пересування по локаціям - це справжній друг і напарник. Ну і плюс ще унікальний характер, поведінка та персоналізація.
Відео лекція з GDC (50:36): https://www.youtube.com/watch?v=8vtCqfFAjKQ&ab_channel=GDC
А в цьому відео все коротко і з гумором (22:05): https://www.youtube.com/watch?v=1iak2-oGYXU&t=389s&ab_channel=AIandGames
Основний фокус під час розробки коней (неоднозначно прозвучало якось):
1. Система руху (locomotion system)
Тобто як коні рухаються в світі і як поєднати всі необхідні анімації між собою максимально реалістично
2. Система навігації на місцевості (terrain system)
Вплив місцевості та її елементів (дерева чи урвища) на рух і поведінку коней
3. Особистість коня
Яка має бути поведінка та реакція коня на різні ситуації, щоб бути максимально схожими на реальну тварину
#gamedesign #AI #horse #rdr2 #animation
Для RDR2 кінь це не просто засіб швидшого пересування по локаціям - це справжній друг і напарник. Ну і плюс ще унікальний характер, поведінка та персоналізація.
Відео лекція з GDC (50:36): https://www.youtube.com/watch?v=8vtCqfFAjKQ&ab_channel=GDC
А в цьому відео все коротко і з гумором (22:05): https://www.youtube.com/watch?v=1iak2-oGYXU&t=389s&ab_channel=AIandGames
Основний фокус під час розробки коней (неоднозначно прозвучало якось):
1. Система руху (locomotion system)
Тобто як коні рухаються в світі і як поєднати всі необхідні анімації між собою максимально реалістично
2. Система навігації на місцевості (terrain system)
Вплив місцевості та її елементів (дерева чи урвища) на рух і поведінку коней
3. Особистість коня
Яка має бути поведінка та реакція коня на різні ситуації, щоб бути максимально схожими на реальну тварину
#gamedesign #AI #horse #rdr2 #animation
YouTube
Making the Believable Horses of 'Red Dead Redemption II'
In this 2021 AI Summit session, Rockstar Games’ Tobias Kleanthous shares how they delivered a believable stable of horses that lived up to the memories of Red Dead Redemption, while making them a critical part of the player’s experience.
Register for GDC…
Register for GDC…
Створення найбільш вражаючої погоні в Uncharted 4
Відео, в якому два геймдиректори розповідають про створення погоні, цікаві дизайнерські рішення і вплив наративу на появу цієї екшн сцени
Відео (22:30): https://www.youtube.com/watch?v=ftJX0brjUEE
Ключова ідея цього моменту в грі - зробити цю погоню найвищим піком напруги в грі, щоб навіть гравець забув про всі обіцянки, що Нейтан давав протягом проходження гри (а це дозволить після моменту тріумфу гравця, штовхнути його у безодню)
Кілька складнощів, які треба було вирішити протягом розробки погоні:
1. Як зробити погоню цікавою? Якщо противник позаду гравця - його не буде видно і гравцю буде незручно постійно повертати камеру.
Рішення: зробити противника, який постійно буде перед нами і перешкоджати нам добратись до потрібної нам точки
2. Структура карти повинна бути достатньо складною, щоб гравець відчував хаос, але в той же час всі шляхи мають вести до потрібних ділянок карти із запланованими подіями.
Рішення: розвилки постійно зводяться до основної вулиці і більшість поворотів та вигинів так чи інакше виводять гравця на основну вулицю
3. Як гравцю не заплутатись із напрямком?
Рішення: все місто стоїть на схилі, а гравцю треба до узбережжя, тобто до найнижчої точки міста
4. Коли Дрейк в погоні з жертви переходить в режим мисливця - гравець сам починає вирішувати в який момент перестрибувати між машинами і просуватись вперед. це означає, що розробникам треба було зробити майже нескінченну дорогу для конвою
Рішення: зробити максимально реалістичну петлю по якій буде їздити конвой, розбити конвой на слоти в які постійно будуть ставати менші машини. Транспорт противників постійно спауниться в точках невидимих для гравця (за будинками)
#gamedesign #leveldesign #chase #AI #tips #narrative #uncharted4
Відео, в якому два геймдиректори розповідають про створення погоні, цікаві дизайнерські рішення і вплив наративу на появу цієї екшн сцени
Відео (22:30): https://www.youtube.com/watch?v=ftJX0brjUEE
Ключова ідея цього моменту в грі - зробити цю погоню найвищим піком напруги в грі, щоб навіть гравець забув про всі обіцянки, що Нейтан давав протягом проходження гри (а це дозволить після моменту тріумфу гравця, штовхнути його у безодню)
Кілька складнощів, які треба було вирішити протягом розробки погоні:
1. Як зробити погоню цікавою? Якщо противник позаду гравця - його не буде видно і гравцю буде незручно постійно повертати камеру.
Рішення: зробити противника, який постійно буде перед нами і перешкоджати нам добратись до потрібної нам точки
2. Структура карти повинна бути достатньо складною, щоб гравець відчував хаос, але в той же час всі шляхи мають вести до потрібних ділянок карти із запланованими подіями.
Рішення: розвилки постійно зводяться до основної вулиці і більшість поворотів та вигинів так чи інакше виводять гравця на основну вулицю
3. Як гравцю не заплутатись із напрямком?
Рішення: все місто стоїть на схилі, а гравцю треба до узбережжя, тобто до найнижчої точки міста
4. Коли Дрейк в погоні з жертви переходить в режим мисливця - гравець сам починає вирішувати в який момент перестрибувати між машинами і просуватись вперед. це означає, що розробникам треба було зробити майже нескінченну дорогу для конвою
Рішення: зробити максимально реалістичну петлю по якій буде їздити конвой, розбити конвой на слоти в які постійно будуть ставати менші машини. Транспорт противників постійно спауниться в точках невидимих для гравця (за будинками)
#gamedesign #leveldesign #chase #AI #tips #narrative #uncharted4
YouTube
Uncharted 4: Devs Reveal Secrets Behind the Series' Best Chase Sequence - Art of the Level
Uncharted 4: A Thief's End crescendos at its midpoint with a bombastic, all-out chase action sequence that is not only a highpoint for the game itself but for the entire Uncharted franchise, ranking as one of Uncharted's best chases and action scenes. It's…
🔥4😱1
Utility AI та інші підходи до створення ШІ в іграх
Нещодавно досліджував тему штучного інтелекту в іграх і зацікавило використання різних підходів для реалізації різноманітних типів штучного інтелекту (ШІ).
Utility AI наразі виглядає найбільш цікавим та сучасним підходом, а також дозволяє комбінації із іншими типами штучного інтелекту (як то із деревами поведінки).
Найбільше матеріалів на тему Utility AI використовують приклад гри Sims. Тому я зателефонував Марку Брауну і попросив його скомпілювати все це в класне та коротке відео по темі (жартую звісно, але його відео дійсно дуже вчасно для мене вийшло)
Відео (21:37): https://www.youtube.com/watch?v=9gf2MT-IOsg&ab_channel=GameMaker%27sToolkit
Рішення ШІ приймає на основі своїх потреб.
Кожна потреба, як то голод чи відпочинок, має шкалу від -100 до 100. Заповненість шкали поступово зменшується, а значить потреба - зростає.
Предмети довкола мають свою “рекламу” і повідомляють ШІ, що якщо він використає певний предмет, то відновить якусь із своїх потреб. Таким чином ШІ має динамічні засновки та інструменти для задоволення своїх потреб.
Різні потреби будуть мати різну важливість для ШІ, а також різну динаміку зміни, оскільки зазвичай це не лінійна динаміка, а обережно збалансована крива.
Щоб ШІ не відчувався як запрограмовний робот - ШІ буде обирати випадкову дію із топ3 списку дій. Також, на рішення ШІ може впливати характер конретного персонажа, що буде додавати бонусні бали тим діям, що вважаються більш “цікавими” для цього конкретного індивіда.
Окремо хотілося б додати кілька матеріалів на тему штучного інтелекту, щоб спробувати краще розкрити тему.
Стаття про проблемні місці behaviour trees та про переваги Utility AI: https://www.gamedeveloper.com/programming/are-behavior-trees-a-thing-of-the-past-
В цій статті також наведені приклади використання Utility AI в шутері, а не лише в Sims
Відео №2 (8:56): https://www.youtube.com/watch?v=78AcS_0lQSM&ab_channel=TheShaggyDev
Тут також розкривається тема Utility AI, деяка інформація аналогічна до першого відео, але більше прикладів із різних жанрів.
Ну і на десерт ще три відео з ютуб каналу присвяченого штучному інтелекту в іграх
Відео про behaviour trees (дерева поведінки) (9:49): https://www.youtube.com/watch?v=6VBCXvfNlCM&t=3s&ab_channel=AIandGames
Відео про G.O.A.P. (goal oriented action planning), тип ШІ, що вибудовує свої дії в залежності від своєї поточної мети (18:17): https://www.youtube.com/watch?v=PaOLBOuyswI&ab_channel=AIandGames
І про всяк випадок, якщо комусь цікаво, відео про Utility AI з цього ж каналу, але інформація тут буде на 99% відповідати інформації з попередніх двох відео на цю тему
Відео (15:47): https://www.youtube.com/watch?v=p3Jbp2cZg3Q&ab_channel=AIandGames
GDC лекція про використання G.O.A.P. в таких іграх як FEAR та Middle-Earth: Shadow of Mordor (1:01:05): https://www.youtube.com/watch?v=gm7K68663rA&ab_channel=GDC
Так, якось дуже рясно матеріалів в цьому пості, але тема дуже складна і навіть цих відео буде недостатньо, щоб розібратись в усіх плюсах та мінусах кожного підходу.
#gamedesign #AI #Utility_AI #GOAP #Sims #GMTK #FEAR #NPC #behaviour #behaviour_trees #GDC
Нещодавно досліджував тему штучного інтелекту в іграх і зацікавило використання різних підходів для реалізації різноманітних типів штучного інтелекту (ШІ).
Utility AI наразі виглядає найбільш цікавим та сучасним підходом, а також дозволяє комбінації із іншими типами штучного інтелекту (як то із деревами поведінки).
Найбільше матеріалів на тему Utility AI використовують приклад гри Sims. Тому я зателефонував Марку Брауну і попросив його скомпілювати все це в класне та коротке відео по темі (жартую звісно, але його відео дійсно дуже вчасно для мене вийшло)
Відео (21:37): https://www.youtube.com/watch?v=9gf2MT-IOsg&ab_channel=GameMaker%27sToolkit
Рішення ШІ приймає на основі своїх потреб.
Кожна потреба, як то голод чи відпочинок, має шкалу від -100 до 100. Заповненість шкали поступово зменшується, а значить потреба - зростає.
Предмети довкола мають свою “рекламу” і повідомляють ШІ, що якщо він використає певний предмет, то відновить якусь із своїх потреб. Таким чином ШІ має динамічні засновки та інструменти для задоволення своїх потреб.
Різні потреби будуть мати різну важливість для ШІ, а також різну динаміку зміни, оскільки зазвичай це не лінійна динаміка, а обережно збалансована крива.
Щоб ШІ не відчувався як запрограмовний робот - ШІ буде обирати випадкову дію із топ3 списку дій. Також, на рішення ШІ може впливати характер конретного персонажа, що буде додавати бонусні бали тим діям, що вважаються більш “цікавими” для цього конкретного індивіда.
Окремо хотілося б додати кілька матеріалів на тему штучного інтелекту, щоб спробувати краще розкрити тему.
Стаття про проблемні місці behaviour trees та про переваги Utility AI: https://www.gamedeveloper.com/programming/are-behavior-trees-a-thing-of-the-past-
В цій статті також наведені приклади використання Utility AI в шутері, а не лише в Sims
Відео №2 (8:56): https://www.youtube.com/watch?v=78AcS_0lQSM&ab_channel=TheShaggyDev
Тут також розкривається тема Utility AI, деяка інформація аналогічна до першого відео, але більше прикладів із різних жанрів.
Ну і на десерт ще три відео з ютуб каналу присвяченого штучному інтелекту в іграх
Відео про behaviour trees (дерева поведінки) (9:49): https://www.youtube.com/watch?v=6VBCXvfNlCM&t=3s&ab_channel=AIandGames
Відео про G.O.A.P. (goal oriented action planning), тип ШІ, що вибудовує свої дії в залежності від своєї поточної мети (18:17): https://www.youtube.com/watch?v=PaOLBOuyswI&ab_channel=AIandGames
І про всяк випадок, якщо комусь цікаво, відео про Utility AI з цього ж каналу, але інформація тут буде на 99% відповідати інформації з попередніх двох відео на цю тему
Відео (15:47): https://www.youtube.com/watch?v=p3Jbp2cZg3Q&ab_channel=AIandGames
GDC лекція про використання G.O.A.P. в таких іграх як FEAR та Middle-Earth: Shadow of Mordor (1:01:05): https://www.youtube.com/watch?v=gm7K68663rA&ab_channel=GDC
Так, якось дуже рясно матеріалів в цьому пості, але тема дуже складна і навіть цих відео буде недостатньо, щоб розібратись в усіх плюсах та мінусах кожного підходу.
#gamedesign #AI #Utility_AI #GOAP #Sims #GMTK #FEAR #NPC #behaviour #behaviour_trees #GDC
YouTube
The Genius AI Behind The Sims
🔴 Get my premium monthly newsletter - https://gamemakerstoolkit.com/digest/ 🔴
The Sims uses a super smart AI system to make virtual people who think, feel, and interact in a believable way. Here's how.
=== Sources and Resources ===
- Footnotes
(1) Most…
The Sims uses a super smart AI system to make virtual people who think, feel, and interact in a believable way. Here's how.
=== Sources and Resources ===
- Footnotes
(1) Most…
👍4🤔2🤯1😱1
Штучний інтелект в грі Into the Breach
Раджу спробувати цю гру! Я сам нещодавно почав в неї грати і вона доволі складна.
Відео (14:34): https://www.youtube.com/watch?v=fkEG55gFqrA&ab_channel=AIandGames
Into the Breach це більше пазл, ніж стратегія, а отже неправильний баланс, може перетворити це в пазл без правильного рішення.
Противники в грі використовують Utility AI, вони оцінюють всі свої можливі дії, комбінуючи переміщення та атаку, а потім випадково обирають одну дію з кількох найвище оцінених. (детальніше про Utility AI можна почитати в постах вище)
Вибір випадкової найкращої дії (або конкретно топ2 дії чи топ3 дії) використовується для того, щоб гравцю було складніше передбачити дію противника, а також, щоб був простір для підвищення складності.
Цікавим доповненням є також негативна оцінка тайла, що був обраний противником в попередньому кроці. Таким чином, противник не буде повторювати одну і ту ж дію, або фокусуватись на одному противнику
І знову повторюємо підхід KISS (keep it simple, stupid) - тобто створюємо все максимально простим і без потреби в складному обслуговуванні.
#gamedesign #puzzle #ai #utility_ai #enemy #behaviour #balancing #kiss
Раджу спробувати цю гру! Я сам нещодавно почав в неї грати і вона доволі складна.
Відео (14:34): https://www.youtube.com/watch?v=fkEG55gFqrA&ab_channel=AIandGames
Into the Breach це більше пазл, ніж стратегія, а отже неправильний баланс, може перетворити це в пазл без правильного рішення.
Противники в грі використовують Utility AI, вони оцінюють всі свої можливі дії, комбінуючи переміщення та атаку, а потім випадково обирають одну дію з кількох найвище оцінених. (детальніше про Utility AI можна почитати в постах вище)
Вибір випадкової найкращої дії (або конкретно топ2 дії чи топ3 дії) використовується для того, щоб гравцю було складніше передбачити дію противника, а також, щоб був простір для підвищення складності.
Цікавим доповненням є також негативна оцінка тайла, що був обраний противником в попередньому кроці. Таким чином, противник не буде повторювати одну і ту ж дію, або фокусуватись на одному противнику
І знову повторюємо підхід KISS (keep it simple, stupid) - тобто створюємо все максимально простим і без потреби в складному обслуговуванні.
#gamedesign #puzzle #ai #utility_ai #enemy #behaviour #balancing #kiss
YouTube
The Secret of Into the Breach's AI: Power in Simplicity | AI and Games #72
Sometimes you just don't need super flashy AI in your game. You just need something that is 'good enough' for what your game is trying to do. With that in mind, we dive behind the scenes of Subset Games 2018 release 'Into the Breach', and find out that…
🔥4❤1
ШІ та анімації всього тіла для противників в грі Doom 2016
Відео (32:23): https://www.youtube.com/watch?v=3lO1q8mQrrg&ab_channel=GDC
Відео розповідає про підхід ID software до створення анімації противників в грі Doom 2016. Відео в більшості розраховане на аніматорів та програмістів, але я вважаю, що геймдизайнеру корисно знати все 😎
У відео пояснюється як ID software за допомогою delta correction розтягували чи стискали анімації руху і ближнього бою
Використання focus tracking для того, щоб розвертати противника обличчям до гравця, продовжуючи відтворювати анімації
Phase synchronization для контролю ніг та синхронізації ходьби
Bad zones - розділ про те, як ШІ допомагає уникати незручних для анімації зон
Як результат - анімації всього тіла завжди доступні, що спрощує запам’ятовування патернів противника та робить телеграфування атак більш очевидним
#animation #AI #GDC #doom #programming #traversal #attack #melee_attack #full_body_animation
Відео (32:23): https://www.youtube.com/watch?v=3lO1q8mQrrg&ab_channel=GDC
Відео розповідає про підхід ID software до створення анімації противників в грі Doom 2016. Відео в більшості розраховане на аніматорів та програмістів, але я вважаю, що геймдизайнеру корисно знати все 😎
У відео пояснюється як ID software за допомогою delta correction розтягували чи стискали анімації руху і ближнього бою
Використання focus tracking для того, щоб розвертати противника обличчям до гравця, продовжуючи відтворювати анімації
Phase synchronization для контролю ніг та синхронізації ходьби
Bad zones - розділ про те, як ШІ допомагає уникати незручних для анімації зон
Як результат - анімації всього тіла завжди доступні, що спрощує запам’ятовування патернів противника та робить телеграфування атак більш очевидним
#animation #AI #GDC #doom #programming #traversal #attack #melee_attack #full_body_animation
YouTube
Bringing Hell to Life: AI and Full Body Animation in DOOM
In this GDC 2017 talk, id Software's Jake Campbell explains some of the techniques that were used to make the unique animations of DOOM in a modern game environment.
Register for GDC: http://ubm.io/2gk5KTU
Join the GDC mailing list: http://www.gdconf.com/subscribe…
Register for GDC: http://ubm.io/2gk5KTU
Join the GDC mailing list: http://www.gdconf.com/subscribe…
👍5🤯1🤩1
Роздуми. Ready or Not
Дрібнички, що підсилюють досвід гравця. Частина 2
Щоб отримати рейтинг S, ви маєте заарештувати ВСІХ на рівні. Арешт цивільних не є проблемою, а от арешт злочинців може виявитись більш складним ніж ви собі уявляєте. Мені дуже подобається те, як Void Interactive попрацювали над ШІ противників і як їм вдається тримати гравця в напрузі протягом всієї місії, а також створити тиск, що буде підганяти гравця
Ситуація №1: Злочинець, що потрапив в безвихідну ситуацію, може застрелитись!
https://www.youtube.com/watch?v=oj0gQOdmbGQ&list=WL&index=126&ab_channel=MattieAngerfist
Ситуація №2: Якщо злочинець загнаний в кут і поруч є цивільні - це потенційна ситуація із заручником. Злочинці не вагаючись вб’ють заручника
https://www.youtube.com/shorts/mi4KZaLWH0Y
Ситуація №3: Якщо ви не дуже поспішаєте із проходженням місії та зачисткою локації - злочинці на вас не чекатимуть і продовжать шукати цивільних та вбивати їх
https://www.youtube.com/shorts/KLI2esfCsqc
Ситуація №4: Противники із задоволенням вистріляти вам у спину і вони готові на все заради цього, навіть ховатись під ліжками
https://www.youtube.com/shorts/DoyA4p7HJ30
#gamedesign #details #hostage #AI #ready_or_not #game_mechanic
Дрібнички, що підсилюють досвід гравця. Частина 2
Щоб отримати рейтинг S, ви маєте заарештувати ВСІХ на рівні. Арешт цивільних не є проблемою, а от арешт злочинців може виявитись більш складним ніж ви собі уявляєте. Мені дуже подобається те, як Void Interactive попрацювали над ШІ противників і як їм вдається тримати гравця в напрузі протягом всієї місії, а також створити тиск, що буде підганяти гравця
Ситуація №1: Злочинець, що потрапив в безвихідну ситуацію, може застрелитись!
https://www.youtube.com/watch?v=oj0gQOdmbGQ&list=WL&index=126&ab_channel=MattieAngerfist
Ситуація №2: Якщо злочинець загнаний в кут і поруч є цивільні - це потенційна ситуація із заручником. Злочинці не вагаючись вб’ють заручника
https://www.youtube.com/shorts/mi4KZaLWH0Y
Ситуація №3: Якщо ви не дуже поспішаєте із проходженням місії та зачисткою локації - злочинці на вас не чекатимуть і продовжать шукати цивільних та вбивати їх
https://www.youtube.com/shorts/KLI2esfCsqc
Ситуація №4: Противники із задоволенням вистріляти вам у спину і вони готові на все заради цього, навіть ховатись під ліжками
https://www.youtube.com/shorts/DoyA4p7HJ30
#gamedesign #details #hostage #AI #ready_or_not #game_mechanic
YouTube
Ready or Not: Suspect off's himself
Yet another brutal encounter in the new update of Ready or Not. I quite like the new AI behaviour, saves me some bullets.
🔥6❤2👍2
Штучний інтелект противників-людей в The Last of Us
хочу поділитись документом де описані основні підходи до розробки ШІ противників як у комбаті, так і у стелсі.
Посилання: https://www.gameaipro.com/GameAIPro2/GameAIPro2_Chapter34_Human_Enemy_AI_in_The_Last_of_Us.pdf
Основними стовпами дизайну стали:
1. Противники мають відчуватись “реалістичними” та “живими”.
2. Гравцю має здаватись, що вони працюють у команді.
3. Противники мають реагувати на вбитих, гравця і мати “інстинкт самозбереження”.
4. Противники мають бути небезпечними, щоб гравець боявся вступати в бій.
Щоб досягти цих цілей, розробники, зрозуміло, дуже старалися над аудіо- та візуальним супроводом, але також приділяли дуже багато уваги поведінці противників. Основна мета була максимально уникнути дивних маневрів, що можуть зруйнувати занурення гравця (зайняти позицію з неправильної сторони дверей або ж пробігти крізь напрям вогню свого напарника).
Навігація.
ШІ використовує два типи navmesh: класичний navmesh, що є відносно дешевим для перформансу, але не надто точним, а також не враховує всі потенційні перепони, та локальні 2D-сітки для КОЖНОГО окремо взятого противника. Другий тип навігації був у рази дорожчим за класичний, але давав хорошу точність у навігації та міг враховувати динамічні перешкоди. Для оптимізації розробники обмежили навігацію на 2D-сітках до одного разу на кадр (тоді як класичний вони могли викликати 40 разів на кадр), а противники мали чергу, у якій використовували 2D-сітки.
Окремим викликом було зробити захід у фланг і навігацію через простір “інтелектуальними”, щоб противники не робили це на відкритому просторі перед гравцем. Для цього розробники імплементували карту зору (exposure map).
На navmesh була вказана висота кожного елемента за допомогою бітів, що давало “топографічну карту” рівня і дозволяло розрахувати видимість. Позиція гравця бралася за основу, і далі вираховувалась видимість на 360 градусів. “Дешевизна” такого підходу дозволила використовувати його для розрахунку всіх найкращих маршрутів руху, особливо заходу у фланг гравця.
Зір.
Класичний конус для поля зору противника не спрацював для розробників, оскільки гра має достатньо великі відстані, а значить, чим ближче гравець до противника, тим легше уникати поля зору. І навпаки, що далі гравець від противника, то швидше і більше поле зору стає.
Щоб вирішити цю проблему, розробники замінили конус на кастомну форму поля зору, що давала кращий кут огляду ближче до противника і звужувала його на відстані.
Для визначення видимості гравця розробники використовували лише одну точку на тілі Джоела, що змінювала свою позицію залежно від того, чи знаходиться гравець у стелсі, чи вже вступив у бій.
У стелсі противники перевіряли, чи бачать центр грудної клітини, що дозволяло зробити стелс легшим для гравця. Однак під час комбата противники перевіряли видимість голови Джоела.
У випадку, якщо противник помітив гравця, він ставив мітку із часовою позначкою і передавав локацію гравця іншим противникам. Однак він не мав доступу до “поточної позиції”, доки знову не помітить гравця або ж доки гравець не вистрілить.
Противники намагаються взяти в “облогу” позицію гравця та наблизитись до неї так близько, як дозволяють укриття, але якщо гравець змістився більше ніж на 5 метрів від поточної позиції, одному противнику дається наказ перевірити останню відому точку, і якщо він не помітив гравця - всі противники починають пошук.
Незалежно від стану гравця (комбат чи стелс), видимість розраховується із таймером. У бою противникам треба менше кадрів “видимості гравця”, ніж у стелсі, але це гарантувало, що противник не реагуватиме на один кадр видимості гравця.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
хочу поділитись документом де описані основні підходи до розробки ШІ противників як у комбаті, так і у стелсі.
Посилання: https://www.gameaipro.com/GameAIPro2/GameAIPro2_Chapter34_Human_Enemy_AI_in_The_Last_of_Us.pdf
Основними стовпами дизайну стали:
1. Противники мають відчуватись “реалістичними” та “живими”.
2. Гравцю має здаватись, що вони працюють у команді.
3. Противники мають реагувати на вбитих, гравця і мати “інстинкт самозбереження”.
4. Противники мають бути небезпечними, щоб гравець боявся вступати в бій.
Щоб досягти цих цілей, розробники, зрозуміло, дуже старалися над аудіо- та візуальним супроводом, але також приділяли дуже багато уваги поведінці противників. Основна мета була максимально уникнути дивних маневрів, що можуть зруйнувати занурення гравця (зайняти позицію з неправильної сторони дверей або ж пробігти крізь напрям вогню свого напарника).
Навігація.
ШІ використовує два типи navmesh: класичний navmesh, що є відносно дешевим для перформансу, але не надто точним, а також не враховує всі потенційні перепони, та локальні 2D-сітки для КОЖНОГО окремо взятого противника. Другий тип навігації був у рази дорожчим за класичний, але давав хорошу точність у навігації та міг враховувати динамічні перешкоди. Для оптимізації розробники обмежили навігацію на 2D-сітках до одного разу на кадр (тоді як класичний вони могли викликати 40 разів на кадр), а противники мали чергу, у якій використовували 2D-сітки.
Окремим викликом було зробити захід у фланг і навігацію через простір “інтелектуальними”, щоб противники не робили це на відкритому просторі перед гравцем. Для цього розробники імплементували карту зору (exposure map).
На navmesh була вказана висота кожного елемента за допомогою бітів, що давало “топографічну карту” рівня і дозволяло розрахувати видимість. Позиція гравця бралася за основу, і далі вираховувалась видимість на 360 градусів. “Дешевизна” такого підходу дозволила використовувати його для розрахунку всіх найкращих маршрутів руху, особливо заходу у фланг гравця.
Зір.
Класичний конус для поля зору противника не спрацював для розробників, оскільки гра має достатньо великі відстані, а значить, чим ближче гравець до противника, тим легше уникати поля зору. І навпаки, що далі гравець від противника, то швидше і більше поле зору стає.
Щоб вирішити цю проблему, розробники замінили конус на кастомну форму поля зору, що давала кращий кут огляду ближче до противника і звужувала його на відстані.
Для визначення видимості гравця розробники використовували лише одну точку на тілі Джоела, що змінювала свою позицію залежно від того, чи знаходиться гравець у стелсі, чи вже вступив у бій.
У стелсі противники перевіряли, чи бачать центр грудної клітини, що дозволяло зробити стелс легшим для гравця. Однак під час комбата противники перевіряли видимість голови Джоела.
У випадку, якщо противник помітив гравця, він ставив мітку із часовою позначкою і передавав локацію гравця іншим противникам. Однак він не мав доступу до “поточної позиції”, доки знову не помітить гравця або ж доки гравець не вистрілить.
Противники намагаються взяти в “облогу” позицію гравця та наблизитись до неї так близько, як дозволяють укриття, але якщо гравець змістився більше ніж на 5 метрів від поточної позиції, одному противнику дається наказ перевірити останню відому точку, і якщо він не помітив гравця - всі противники починають пошук.
Незалежно від стану гравця (комбат чи стелс), видимість розраховується із таймером. У бою противникам треба менше кадрів “видимості гравця”, ніж у стелсі, але це гарантувало, що противник не реагуватиме на один кадр видимості гравця.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
🔥6👍3🤔1
Штучний інтелект противників-людей в The Last of Us №2
Укриття.
Одне з найважливіших та найважчих рішень для ШІ - це вибір укриття. Кожен противник розраховував 20 укриттів довкола себе за допомогою валідації їх розташування та “повернутості” їх до загрози (гравця). Коли 20 укриттів визначені, кожне укриття перевірялося за допомогою 4 променів, направлених на останню позицію гравця з різних куточків. Якщо всі 4 промені блокувалися геометрією - укриття відкидалося.
Другим типом укриттів є список укриттів довкола останньої відомої позиції гравця. Ці укриття перевіряються також за допомогою 4 променів і згодом можуть бути використані противником для перевірки власне позиції гравця і тригеру майбутнього пошуку.
Після отримання списку укриттів кожен противник приймав рішення на основі списку своїх критеріїв:
1. Шлях до укриття. Шлях не повинен бути надто довгим та не повинен мати тривале переміщення в бік гравця (в лоб).
2. Поведінка та роль противника. Різні укриття матимуть різну оцінку у випадку, якщо противник атакує чи панікує та відступає.
3. Укриття не повинно бути зайнятим.
Стелс.
Під час стелсу поведінка противників ділиться на два типи: розслідування і пошук.
Противники мають заскриптовані дії, але щойно гравець робить шум - один із противників тригерить стан розслідування і прямує до найкращої позиції, щоб перевірити шум. Якщо гравця не знайдено - противник повернеться на попередню позицію і продовжить заскриптовану дію чи патрулювання.
У випадку, коли противникам відомо про те, що гравець на локації, - вони перейдуть у режим пошуку. Рівень буде поділений на квадрати. Якщо позиція гравця відома, то всі інші квадрати позначаються порожніми.
Якщо противники не бачать гравця, а знають лише його останнє розташування - з часом сусідні квадрати до колишньої позиції гравця почнуть “заповнюватися” потенційною наявністю гравця. Мапа квадратів розподіляється між противниками, що мають пройти її і зачистити всі квадрати.
Завдяки карті зору всі видимі квадрати для противника автоматично ставали “зачищеними”, якщо гравця немає в полі зору.
Смертоносність.
Відкинуті варіанти: дати противникам багато ХП або ж засипати гравця противниками. Це потенційно руйнувало занурення гравця в гру.
Основним фокусом стало збільшення смертоносності кожного конкретного противника.
У противників важче стріляти через те, що вони займають укриття, але водночас кожен постріл противника, не лише завдає значної шкоди, але й активує анімацію реакції на постріл, що уповільнює персонажа та відбирає керування на долі секунди. Це стало хорошим інструментом для ритму комбата.
Наступний крок - створити постійну загрозу гравцю.
Розробники створили комбат-координатора, що розподіляє ролі між противниками і переконується, що завжди є один противник, який має вигідну позицію і готовий вести вогонь по гравцю.
Ведення вогню цим противником може навіть переривати анімації, щоб бути достатньо смертоносним і унеможливити раш від гравця.
Приклад ролей противників: Flanker, Approacher, Investigator, StayUpAndAimer, OpportunisticShooter (основна роль, що має бути завжди заповнена).
Також розробники визначили, що має бути не більше одного противника, який завжди готовий стріляти, адже це є достатнім покаранням для гравця.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
Укриття.
Одне з найважливіших та найважчих рішень для ШІ - це вибір укриття. Кожен противник розраховував 20 укриттів довкола себе за допомогою валідації їх розташування та “повернутості” їх до загрози (гравця). Коли 20 укриттів визначені, кожне укриття перевірялося за допомогою 4 променів, направлених на останню позицію гравця з різних куточків. Якщо всі 4 промені блокувалися геометрією - укриття відкидалося.
Другим типом укриттів є список укриттів довкола останньої відомої позиції гравця. Ці укриття перевіряються також за допомогою 4 променів і згодом можуть бути використані противником для перевірки власне позиції гравця і тригеру майбутнього пошуку.
Після отримання списку укриттів кожен противник приймав рішення на основі списку своїх критеріїв:
1. Шлях до укриття. Шлях не повинен бути надто довгим та не повинен мати тривале переміщення в бік гравця (в лоб).
2. Поведінка та роль противника. Різні укриття матимуть різну оцінку у випадку, якщо противник атакує чи панікує та відступає.
3. Укриття не повинно бути зайнятим.
Стелс.
Під час стелсу поведінка противників ділиться на два типи: розслідування і пошук.
Противники мають заскриптовані дії, але щойно гравець робить шум - один із противників тригерить стан розслідування і прямує до найкращої позиції, щоб перевірити шум. Якщо гравця не знайдено - противник повернеться на попередню позицію і продовжить заскриптовану дію чи патрулювання.
У випадку, коли противникам відомо про те, що гравець на локації, - вони перейдуть у режим пошуку. Рівень буде поділений на квадрати. Якщо позиція гравця відома, то всі інші квадрати позначаються порожніми.
Якщо противники не бачать гравця, а знають лише його останнє розташування - з часом сусідні квадрати до колишньої позиції гравця почнуть “заповнюватися” потенційною наявністю гравця. Мапа квадратів розподіляється між противниками, що мають пройти її і зачистити всі квадрати.
Завдяки карті зору всі видимі квадрати для противника автоматично ставали “зачищеними”, якщо гравця немає в полі зору.
Смертоносність.
Відкинуті варіанти: дати противникам багато ХП або ж засипати гравця противниками. Це потенційно руйнувало занурення гравця в гру.
Основним фокусом стало збільшення смертоносності кожного конкретного противника.
У противників важче стріляти через те, що вони займають укриття, але водночас кожен постріл противника, не лише завдає значної шкоди, але й активує анімацію реакції на постріл, що уповільнює персонажа та відбирає керування на долі секунди. Це стало хорошим інструментом для ритму комбата.
Наступний крок - створити постійну загрозу гравцю.
Розробники створили комбат-координатора, що розподіляє ролі між противниками і переконується, що завжди є один противник, який має вигідну позицію і готовий вести вогонь по гравцю.
Ведення вогню цим противником може навіть переривати анімації, щоб бути достатньо смертоносним і унеможливити раш від гравця.
Приклад ролей противників: Flanker, Approacher, Investigator, StayUpAndAimer, OpportunisticShooter (основна роль, що має бути завжди заповнена).
Також розробники визначили, що має бути не більше одного противника, який завжди готовий стріляти, адже це є достатнім покаранням для гравця.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
🔥5👍1
Штучний інтелект противників-людей в The Last of Us №3
Рух у фланг.
Комбат-координатор мав перелік ролей, що можуть виконуватися лише одним противником у конкретно взятий момент. Одна з таких ролей - це противник, який має зайти з флангу.
Всі противники прораховують потенційні маршрути для флангу, а комбат-координатор обирає найбільш оптимальний і призначає роль одному противнику. Всі інші противники отримують відмову від руху у фланг гравця, доки попередній противник не закінчить фланг або не отримає нову роль на основі нових засновків. На відміну від ролі OpportunisticShooter, що видавалася першому противнику, який дав запит на це.
Ускладненням руху у фланг було те, що карта зору гравця постійно змінювалася (через його пересування), а отже, розробникам довелося створити combat vector, що враховував напрям комбата з точки зору гравця та напрямок останніх зроблених пострілів.
Напрям комбата враховувався як додатковий коефіцієнт під час оцінки маршрутів для флангу. Прямий рух мав найгірший коефіцієнт через максимальну близькість до “центру комбата”, боки - кращий, а спина гравця - найкращий коефіцієнт.
Додатково.
1. Додавання специфічних анімацій, діалогів та скриптованих сцен допомогло оживити ШІ противників.
2. Діалоги та оклики допомагають гравцю розуміти дії противників та створюють ілюзію співпраці.
3. Комбат-координатор виконав функцію “підробки” злагодженої поведінки противників.
4. Найкраща перевірка ШІ — це плейтести та перегляд відео з плейтестів.
Висновки:
1. Вороги виглядають живими, мають особистість і стали емоційно значущими.
2. Загроза від кожного ворога змушує гравця сприймати їх як “розумних людей”.
3. Противники діють і реагують, як люди: тікають, ховаються, створюють ілюзію обдуманих рішень.
4. Насильство у грі стало більш тривожним і емоційно важким, а не лише візуально жорстоким.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
Рух у фланг.
Комбат-координатор мав перелік ролей, що можуть виконуватися лише одним противником у конкретно взятий момент. Одна з таких ролей - це противник, який має зайти з флангу.
Всі противники прораховують потенційні маршрути для флангу, а комбат-координатор обирає найбільш оптимальний і призначає роль одному противнику. Всі інші противники отримують відмову від руху у фланг гравця, доки попередній противник не закінчить фланг або не отримає нову роль на основі нових засновків. На відміну від ролі OpportunisticShooter, що видавалася першому противнику, який дав запит на це.
Ускладненням руху у фланг було те, що карта зору гравця постійно змінювалася (через його пересування), а отже, розробникам довелося створити combat vector, що враховував напрям комбата з точки зору гравця та напрямок останніх зроблених пострілів.
Напрям комбата враховувався як додатковий коефіцієнт під час оцінки маршрутів для флангу. Прямий рух мав найгірший коефіцієнт через максимальну близькість до “центру комбата”, боки - кращий, а спина гравця - найкращий коефіцієнт.
Додатково.
1. Додавання специфічних анімацій, діалогів та скриптованих сцен допомогло оживити ШІ противників.
2. Діалоги та оклики допомагають гравцю розуміти дії противників та створюють ілюзію співпраці.
3. Комбат-координатор виконав функцію “підробки” злагодженої поведінки противників.
4. Найкраща перевірка ШІ — це плейтести та перегляд відео з плейтестів.
Висновки:
1. Вороги виглядають живими, мають особистість і стали емоційно значущими.
2. Загроза від кожного ворога змушує гравця сприймати їх як “розумних людей”.
3. Противники діють і реагують, як люди: тікають, ховаються, створюють ілюзію обдуманих рішень.
4. Насильство у грі стало більш тривожним і емоційно важким, а не лише візуально жорстоким.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
🔥5👍3
Штучний інтелект противників-людей в The Last of Us №4
Ілюстрації до посту
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
Ілюстрації до посту
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
👍4