Робимо сторонні діалоги живими
Стаття: https://gamecareerguide.com/features/1929/adding_life_to_worlds_with_.php?print=1
Для більш природного звучання ці діалоги можна умовно поділити на дві категорії:
1. Озвучені вголос думки
2. Підслухана розмова
В реальному світі, звісно, ніхто б не озвучував свої думки, однак в грі це додає більше колориту та атмосфери.
При розробці таких діалогів:
Звертайте увагу на дієслова
Мається на увазі те, що завжди варто звертати увагу чим займався NPC коли відбувся діалог. Це також має впливати і на те, що каже цей персонаж.
Життєві теми
Персонажі будуть відчуватись найбільш живими та реальними, якщо і діалоги їх будуть пов’язані із “реальним” та “буденним”.
1. Робота
2. Сім’я
3. Мрії
Персоналізуйте персонажів
Всі персонажі повинні мати загальні риси свого характеру, особистості та життя. Тоді і діалоги із ними будуть виглядати живими та сповненими змісту. Також це допоможе уникнути ситуації, коли все місто розмовляє про одне і те ж однаковими словами.
Не бійтесь занурюватись в політику та світові конфлікти
Діалоги із персонажами можуть бути побудовані також довкола:
1. Ворогів
2. Легенд
3. Регіонів, культури
Всі мають власну думку
Не намагайтесь транслювати свої думки через всіх NPC, адже насправді багато з них можуть і повинні думати інакше. Наприклад, зараз всі визнають, що рабство як явище - це жорстоко і ганебно, однак якщо ігровий світ має в собі це явище, значить деякі його персонажі точно будуть розцінювати його як позитив.
Знають і помічають головного героя
Хорошим варіантом діалогів є момент, коли персонаж впізнає героя, каже щось персоналізоване, або ж коли обговорює якісь події в світі, що були спричинені діями гравця. Це дасть відчуття того, що світ живий та реагує на зміни.
1. Спостереження - коментує або ображає героя
2. Позитивне підкріплення - виражає подяку і підтримку герою
3. Негативне підкріплення - присоромлює чи проклинає героя
Такі “випадкові” діалоги також мають бути корисними для гравця. Таким чином, гравець може не лише зануритись в світ та його атмосферу, але і дізнатись цікаві факти, таємниці, що він би не дізнався без діалогів.
#gamedesign #narrativedesign #dialogue #conversation #NPC #tips
Стаття: https://gamecareerguide.com/features/1929/adding_life_to_worlds_with_.php?print=1
Для більш природного звучання ці діалоги можна умовно поділити на дві категорії:
1. Озвучені вголос думки
2. Підслухана розмова
В реальному світі, звісно, ніхто б не озвучував свої думки, однак в грі це додає більше колориту та атмосфери.
При розробці таких діалогів:
Звертайте увагу на дієслова
Мається на увазі те, що завжди варто звертати увагу чим займався NPC коли відбувся діалог. Це також має впливати і на те, що каже цей персонаж.
Життєві теми
Персонажі будуть відчуватись найбільш живими та реальними, якщо і діалоги їх будуть пов’язані із “реальним” та “буденним”.
1. Робота
2. Сім’я
3. Мрії
Персоналізуйте персонажів
Всі персонажі повинні мати загальні риси свого характеру, особистості та життя. Тоді і діалоги із ними будуть виглядати живими та сповненими змісту. Також це допоможе уникнути ситуації, коли все місто розмовляє про одне і те ж однаковими словами.
Не бійтесь занурюватись в політику та світові конфлікти
Діалоги із персонажами можуть бути побудовані також довкола:
1. Ворогів
2. Легенд
3. Регіонів, культури
Всі мають власну думку
Не намагайтесь транслювати свої думки через всіх NPC, адже насправді багато з них можуть і повинні думати інакше. Наприклад, зараз всі визнають, що рабство як явище - це жорстоко і ганебно, однак якщо ігровий світ має в собі це явище, значить деякі його персонажі точно будуть розцінювати його як позитив.
Знають і помічають головного героя
Хорошим варіантом діалогів є момент, коли персонаж впізнає героя, каже щось персоналізоване, або ж коли обговорює якісь події в світі, що були спричинені діями гравця. Це дасть відчуття того, що світ живий та реагує на зміни.
1. Спостереження - коментує або ображає героя
2. Позитивне підкріплення - виражає подяку і підтримку герою
3. Негативне підкріплення - присоромлює чи проклинає героя
Такі “випадкові” діалоги також мають бути корисними для гравця. Таким чином, гравець може не лише зануритись в світ та його атмосферу, але і дізнатись цікаві факти, таємниці, що він би не дізнався без діалогів.
#gamedesign #narrativedesign #dialogue #conversation #NPC #tips
Реакція АІ в іграх (частина 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…
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