Конспект геймдизайнера [GD compendium]
676 subscribers
139 photos
6 videos
2 files
366 links
Інформації та статей із геймдизайна та розробки ігор безліч. Прочитати їх всі це круто, але інколи треба швидко знайти всі матеріали на певну тему, а це буває складно.
Питання та пропозиції надсилайте на пошту: gdcompendium@gmail.com
Download Telegram
Робимо сторонні діалоги живими

Стаття:
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
Реакція АІ в іграх (частина 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
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
👍4🤔2🤯1😱1