9 січня 2024 р.

Добірка цікавих посилань

  • Опублікований перелік творів-переможців XYZZY Awards 2023.
  • Вийшов третій том Twine Grimoire з порадами та інструкціями для Twine по використанню розмітки, створенню таблиць, тестуванню ігор та керуванню даними.
  • Простий шаблон для створення візуальних новел за допомогою Ink - ink-vn-lite.
  • You Are Standing”, бонусна текстова гра до книги “50 років текстових ігор”, тепер публічно доступна. Дуже рекомендую.
  • Як організовувати систему зачіпок та підказок для таємниць в рольових іграх - в статті ”Мистецтво таємниці в RPG“.

19 січня 2024 р.

Мінливі уми: події окремо, знання персонажів окремо

Є багато способів моделювати стан ігрового світу. В Inkle використовується концепція “ланцюжків подій” - замість звичайних змінних-флагів “чи сталася певна подія?” ланцюжок показує, як далеко ми пройшли шлях певної події. Але все ускладнюється, коли ми хочемо змоделювати знання персонажів про ігровий світ - бо ці знання складаються з того, що персонаж фактично знає (тобто бачив на власні очі, і це співпадає зі станом ігрового світу), і того, що персонаж думає (наприклад, йому сказали, що скринька відкрита, але насправді це не так).

Тож зараз у нас є три паралельні системи:

  1. Світ. Гравець і персонажі рухаються, роблять різні дії з оточенням, говорять один до одного. Ми моделюємо, де знаходяться люди та предмети, і в якому стані вони зараз знаходяться.
  2. Ланцюжки подій. Односпрямоване відстеження подій, яке завжди рухається вперед по мірі того, як вони відбуваються, і не може бути скасовано. Ця система також включає накопичення персонажами інформації - як правдивої, так і неправдивої.
  3. Стан переконань. При потребі розраховується на основі даних з ланцюжків подій для кожного персонажа окремо, щоб перевірити, що персонаж думає про ті елементи ігрового світу, які мають до нього відношення.

З точки зору автора, ігровий процес виглядає таким чином: світ створює події - як і коли вони відбуваються; через окремий процес аналізу з подій створюються переконання; переконання і події використовуються світом в певні моменти, щоб вирішити, що може і повинно статися далі. Авторові не потрібно знати чи відстежувати, що спричинило ту чи іншу подію, або що змусило персонажа повірити в те, у що він зараз вірить - описана вище система робить це за нього.


Jon Ingold, ”Changeable Minds


31 січня 2024 р.

Випадковість

В іграх випадковість є одним з важливих елементів дизайну. Вона робить кожне проходження унікальним, додаючи реіграбельності, і змушує гравців реагувати на непередбачувані ситуації, створюючи стратегічну глибину. Але при невдалому використанні випадковість може створити у гравців ілюзію того, що вони не контролюють власні дії, та навіть нечесності ігрових алгоритмів по відношенню до гравця.

Загалом існує два види випадковості - на вході та на виході.

Випадковість на вході - спочатку відбувається якась випадкова подія, а потім гравці можуть щось з цим зробити, використовуючи дії з невипадковим ефектом. Найпоширеніший вид такої випадковості - карти. Гравець отримує випадкові карти з колоди, але потім може використовувати їх на свій розсуд, таким чином маючи контроль над ігровою ситуацією. Також карти є прикладом залежної випадковості - вірогідність витягання певної карти зростає в залежності від того, скільки карт залишилося в колоді.

Випадковість на виході - гравець робить якийсь вибір або виконує дію, після яких з певною вірогідністю відбувається та чи інша випадкова подія. Гральні кубики або їхній аналог створюють саме таку випадковість. Оскільки гравець не може передбачити результат, такі випадки створюють емоційне залучення і можуть бути дуже цікавими. З іншого боку, при частому використанні вони створюють відчуття, що дії гравців не мають значення. Також кубик є прикладом незалежної випадковості - результат нового кидка ніяк не залежить від попередніх.

При використанні будь-якої системи випадковості треба враховувати те, що більшість людей дуже погано оцінюють вірогідність. Коли гравці стикаються з ігровими випадковими системами, вони потрапляють в одну або декілька з цих пасток упередженої поведінки:

  • Упередженість вибору: неймовірні, але пам’ятні події сприймаються як більш ймовірні, ніж вони є насправді.
  • Упередженість на користь гравця: “малоймовірний програш”, коли шанси на користь гравця, інтерпретується як “майже неможливий програш”. Однак “малоймовірний виграш”, коли шанси не на користь гравця, все одно інтерпретується правильно - як “малоймовірний, але можливий виграш”.
  • Упереджене приписування: позитивний випадковий результат вважається результатом майстерності гравця; негативний випадковий результат вважається невезінням (або, що ще гірше, шахрайством).
  • Закріплення: гравці переоцінюють перше або найбільше побачене число.
  • Помилка азартного гравця: припущення, що низка однакових результатів зменшує ймовірність того, що ця низка продовжиться.
  • Помилка “гарячої руки”: припущення, що низка однакових результатів збільшує ймовірність того, що вона продовжиться.

Тож навіть якщо ваша гра видає справедливі випадкові числа, через хибне розуміння імовірності гравцям вона буде здаватися неправильною або нечесною.

Якщо у грі, яку ви розробляєте, є випадковість, це чудовий привід проаналізувати її:

  1. Виберіть випадковий елемент, який ви хочете проаналізувати.
  2. Запитайте себе, яку ймовірність ви очікуєте побачити для цього елемента, яка має сенс в контексті гри. Наприклад, якщо ви створюєте рольову гру і дивитеся на ймовірність того, що гравець влучить у монстра в бою, запитайте себе, який відсоток влучень вам здається правильним.
  3. Запитайте себе, чи це залежна вірогідність (як карти) або незалежна (як кубики).
  4. Розпишіть всі можливі результати та ймовірність кожного з них. Переконайтеся, що ці ймовірності складають 100%.
  5. Порівняйте фактичні числа з тими, які ви очікували. Чи справдився цей конкретний випадковий кидок кубика або послідовність карт так, як ви хотіли, або ж ви бачите ознаки того, що вам потрібно скоригувати цифри?
  6. Якщо ви знайшли щось, що потрібно підкоригувати, ви можете скористатися цими ж розрахунками, щоб точно визначити, наскільки саме.