Як перемогти бездушний рандом у roguelike-іграх

Як перемогти бездушний рандом у roguelike-іграх

Вмираючи у грі 30-й раз, мимоволі замислюєшся: чи все продумав геймдизайнер і чи не напортачив він із балансом? Не завжди можна підлаштуватись під несподівані зміни, особливо коли вони створені процедурною генерацією.

Далі матеріал, у якому розуміється роль випадковостей у roguelike-іграх і жанр загалом — чим загрожують непродумані системи рандому і що, на думку автора, негаразд із «рогаликами».

Зазвичай я не граю в roguelike чи rogue-lite. Але дехто виглядає справді вартий — здається, що розробники змогли оминути всі недоліки жанру. І щоразу я шкодую, що запустив гру.

Що таке roguelike?

Як перемогти бездушний рандом у roguelike-іграх
Шахрай

Rogue – комп'ютерна гра 1980 року. Цей фентезійний тайтл багато в чому відомий завдяки використанню кодування ASCII для відтворення графіки та рандомної генерації карти. Гра виявилася дуже успішною і породила безліч roguelike-наслідувачів, наприклад: Angband і Nethack.

У ранніх версіях Rogue не можна було зберігатись. Збереження додали пізніше, оскільки гра ставала дедалі довшою та складнішою. Вони дозволили проходити гру за кілька підходів, перезапускати її з моменту останнього збереження після смерті або якщо рандом робив щось, що не хотілося б.

Користувачі почали цим зловживати, тому розробники створили систему, де сейви видалялися після перезавантаження. Тобто можна було зберегтися при виході з гри, але після початку нової сесії збережені дані стиралися без можливості перезавантажитися у разі смерті або небажаного розвитку подій.

Смерть стала перманентним результатом і одержала назву «пермадес» (від англ. Permadeath — перманентна смерть). Режим «однієї смерті» став ключовою механікою roguelike-ігор. В 1993 Chunsoft випустила Fushigi No Dungeon для приставки Super Famicom, а в 1995 вийшов ще більш популярний сіквел - Shiren the Wanderer.

Як перемогти бездушний рандом у roguelike-іграх

Ці ігри не тільки віддавали данину попередникам жанру roguelike, але й застосовували цікаві рішення: що розвивати, а що залишити в минулому. У них з'явилися красива 16-бітна графіка та анімовані персонажі. При цьому збереглися випадкова генерація рівнів, покрокові системи переміщення та атаки, механіка голоду, рандомні значення атаки та пермадес, характерні для рогаликів 80-х років.

Завдяки графіку, звуку та незвичайним заплутаним картам, Shiren став культовим тайтлом у Японії та серед американських фанатів японських ігор. А 2008 року його випустили в США під Nintendo DS.

Відродження жанру roguelike

Зараз на ринку сотні «рогаликів», більшість з яких — інді-тайтли, які голосно кричать про те, що вони саме roguelike. У канонічних проектах є всі відмінні риси жанру: рандомні рівні, рандомні значення атаки, покрокове переміщення, голод і, звичайно, «пермадес». Деякі тайтли відносять до жанру rogue-lite, оскільки вони запозичують в повному обсязі елементи, характерні для справжніх «рогаликів». Зазвичай це рандомні рівні і «пермадес», але іноді й деякі інші.

Як перемогти бездушний рандом у roguelike-іграх

Звідки така популярність? Є дві основні причини:

  1. Процедурна генерація рівнів - благословення для девелоперів-початківців. Якщо ви інді-розробник і робите гру з певними рівнями, то вам доведеться вручну зібрати щонайменше 20 таких. Але можна створити систему, яка їх генеруватиме нескінченно багато. Тобто за Х вкладень ви отримаєте 20 одиниць прибутку, а за X+Y вкладень – нескінченний прибуток. Чому дорівнює Y і наскільки ці процедурно згенеровані рівні збалансовані та хороші порівняно із зібраними вручну – інше питання. Ми повернемось до нього пізніше.
  2. У жанрі roguelike є певний престиж. Все тому, що не-геймдизайнери плутають відчуття «це те, що я ненавиджу в жанрі roguelike» з «доведеться попрацювати, але все справедливо». Друге справді трапляється: в іграх типу Dark Souls або в PvP-режимах проти дуже скілових гравців.

Так в чому проблема?

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

На сучасних домашніх комп'ютерах встановлені жорсткі диски, які дозволяють не лише обходити ROM-обмеження аркадних та консольних ігор, але й зберігати дані. Розробники можуть створювати більш довгі і глибокі тайтли, а користувачі зберігати свій прогрес, проходити ігри за кілька підходів і не повертатися в початок у разі смерті персонажа. Можливість відроджуватися відмінно працює в іграх із заданим контентом і тайтлах, які потрібно проходити методом проб і помилок. Але в іграх з рандомними елементами такий підхід вписується не так гладко, особливо коли випадкові елементи генеруються на ходу і гравці можуть перезавантажуватись нескінченну кількість разів, доки не отримають потрібний результат.

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

Трохи про лабіринт

Це лабіринт. Витратьте кілька секунд і пройдіть його.

Як перемогти бездушний рандом у roguelike-іграх

Вийшло? Скільки часу ви витратили на те, щоби зрозуміти, що його неможливо пройти?

Ось ще три лабіринти. У третьому вам потрібно взяти ключ і відчинити двері, щоб вибратися.

Як перемогти бездушний рандом у roguelike-іграх

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

Ось ще один лабіринт. Тут потрібно з'їдати яблуко через кожні п'ять клітинок, інакше ви помрете з голоду. Його можна пройти?

Як перемогти бездушний рандом у roguelike-іграх

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

Як перемогти бездушний рандом у roguelike-іграх

Тепер доведеться досліджувати як мінімум частину лабіринту.

Як перемогти бездушний рандом у roguelike-іграх

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

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

Занадто багато напрямків

Звичайно, ви скажете, що це нісенітниця! Девелопери - не садисти, щоб робити тайтли, в яких не можна перемогти, та ще й розробляти купу систем, що приховують, що виграти не вийде.

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

Лабіринт з яблуками виник завдяки останньому roguelike-тайтлу, в який я намагався грати. Він виглядав круто, і я захотів підтримати інді-розробника. Там була звична процедурна генерація рівнів і перманентна смерть, а ще цілих чотири параметри здоров'я: шкода, голод, спрага та температура. Якщо хоч один із них доходить до нуля, ви вмираєте та починаєте з чистого аркуша у новому згенерованому світі. На відміну від більшості «рогаликів», світ у цій грі лінійний. Ви переміщаєтеся з однієї локації до іншої лінійними шляхами, при цьому порядок цих локацій та їх наповнення визначаються рандомом. Я помер кілька разів, але думав, що мені потрібно просто звикнути до системи. Потім я помер з голоду, бо в мене на дорозі не було їжі. Неважливо, наскільки вміло я грав, я б все одно помер через відсутність їжі.

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

Я ненавиджу «рогалики» за те, що в них не має значення, що ви робите, наскільки добре все продумуєте чи розумієте гру. Ви можете випадково програти і доведеться починати заново без будь-якої компенсації за докладені зусилля.

Звісно, ​​вірне й протилежне. Коли Shiren the Wanderer стала популярною, я теж трохи пограв у неї. Втомившись програвати рандому, я використав емулятор збережень для сейвскаммінгу і обійшов рандом. Переживаючи голод, я зберігався, відкривав скриню, і якщо в ній не було їжі, перезавантажувався, поки не знаходив її. Коли не виходило завдати шкоди, я перезавантажувався, поки все не складалося, як треба. Я робив так до кінця гри, чим були дуже незадоволені мої друзі. Вони витрачали годинник, покладаючись на успіх, і програвали, думаючи, що підвищують свій скилл у грі. Мій спосіб "покладатися на удачу" мав таке ж право на життя, як їх, тільки результат завжди був на мою користь.

У «рогаликах» не просто один-два рандомні елементи: сама суть жанру передбачає десяток таких параметрів. Збалансувати усі випадковості непросто. При цьому деякі розробники не розуміють, що взагалі потрібно врівноважувати щось. Через всі ці верстви невизначеності складно помітити, коли щось пішло негаразд. Незрозуміло, чи правильно працює система рандому. Особливо якщо їх кілька.

Декому подобається випадковість - адже слот-машини продовжують існувати. Мені здається, що фанати «рогаликів» вважають, що у цих іграх важливий скіл, а не успіх. Безграмотність у питаннях геймдизайну та заплутаність цих тайтлів змушують гравців думати, що поразки — результат невірних дій, а перемоги — вірних, і справа тут не в сліпому випадку. Люди звикли до ігор, які можна пройти, і не замислюються, що рогалики влаштовані інакше.

Пройти непрохідне

Дві основні проблеми жанру roguelike - перманентна смерть і всюдисущий рандом, через які ігри неможливо пройти. Як це виправити?

Перманентна смерть «маст дай»

Я трохи збрехав вам. "Пермадес" не означає повну втрату прогресу. Так було в Rogue та перших іграх цього жанру. Але, починаючи з Shiren (або раніше), у «рогаликах» з'явилися невеликі бонуси, що пом'якшують наслідки перманентної смерті. У Shiren ви зустрічаєте персонажів, яких можна відправити в перше місто навіть після вашої смерті, їх можна знайти в таверні. Вони дають невеликі плюшки, які допомагають проходити гру. Spelunky по-своєму компенсує перманентну смерть – у ній є Тунельщик (the Tunnel Man). Він запитує величезну суму, яку ви можете сплатити частинами за кілька проходів гри. Отримавши всі гроші, він збудує тунель, який дозволяє пропустити кілька рівнів при наступних проходженнях гри.

Як перемогти бездушний рандом у roguelike-іграх

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

Протилежність цьому - швидке збереження (квіксейв), тобто можливість миттєво зберігатися будь-якої миті і перезапускатися, якщо справи пішли погано. Ця система застосовується в комп'ютерних іграх з 90-х років, а в консольних - з появи Xbox 360 та PS3. Вбудовані жорсткі диски дозволили зберігатися швидко та без проблем.

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

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

Крапки збереження буваю двох видів. Перші — ручні, коли потрібно ухвалювати усвідомлене рішення, щоби зберегтися. Зазвичай у цих місцях є спеціальний орієнтир. Другі – автоматичні, в яких гра зберігається самостійно після виконання певних умов. Зазвичай це пов'язано з якоюсь подією сюжету чи квесту. Автоматичні точки збереження часто йдуть у парі зі швидкими збереженнями, щоб гравець не сумнівався, що він може вийти з гри та повернутися будь-якої миті, не втрачаючи прогресу.

Як перемогти бездушний рандом у roguelike-іграх
У Chulip – зухвалій грі для PS2 – можна зберігатися вручну за допомогою туалету

Як перемогти бездушний рандом у roguelike-іграх
Salt & Sanctuary ввічливо нагадує, що не варто вимикати комп'ютер, поки йде автозбереження

За останні десять років з'явилася золота середина між перманентною смертю та точками збереження. Це так звані Souls Death, що набули популярності завдяки серії Dark Souls. У цих іграх є звичайні чекпоїнти, після смерті ви повертаєтеся до останньої точки, зберігаючи прогрес і спорядження, включаючи те, що ви виявили після збереження. При цьому вся валюта залишається в тій точці, де ви померли, можна повернутися і відшукати її. Але якщо ви помрете раніше, то вони будуть втрачені назавжди, оскільки смерть створює нову точку збереження накопичених коштів, які ви можете знайти після воскресіння.

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

Як перемогти бездушний рандом у roguelike-іграх

Утихомиріть свій рандом

На зображенні вище ліворуч праворуч «пермадес» доповнюється більш частими збереженнями в roguelike-іграх. У користувача з'являється все більше можливостей вивчити шалений рандом, ключовий елемент цього жанру. Завіса піднімається, і стає очевидним, що для функціонування рандому необхідна перманентна смерть. Без неї гравці можуть тією чи іншою мірою використовувати сейвська: до цієї тактики можна вдаватися, навіть якщо чекпоїнти розташовані далеко один від одного. Можна крутити рандом так, як хочеться, а не боротися з ним та помилково сприймати його як справедливий челендж.

Саме тому перманентна смерть є найважливішим елементом roguelike-жанру. На ній зав'язані інші механіки «рогаликів». Якщо в грі є все, крім перманентної смерті, то її зазвичай не відносять до roguelike.

Як перемогти бездушний рандом у roguelike-іграх
Всі roguelike-ігри створені виключно у французькому регіоні Пермадес. Інакше це просто «процедурне підземелля»

Навіть не прибираючи перманентної смерті, можна зробити «рогалик» прохідним, але доведеться знизити обсяг випадковостей. Перше, що скасовується - рандомний результат битв. Замість того, щоб покладатися на успіх, гравцям потрібно розвивати скіли. Це значно веселіше, а гра стає більш чесною. Більшість сучасних roguelike-тайтлів вже застосували цей підхід.

Далі все стає набагато складнішим і потребує значних зусиль без видимої винагороди. Є три варіанти:

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

Варіант 1: самоаналіз рандому

Важко знайти відповідні приклади, оскільки такі процеси відбуваються за лаштунками. Такий підхід точно використовувався в roguelike та іграх інших жанрів з елементами рандому. Наприклад, ми впровадили складну систему аналізу, щоб напіввипадковий розподіл планет був «чесним» Paper Galaxy. Але без перегляду коду гри складно визначити, напевно, чи використовувалася подібна схема.

Гіпотетичним прикладом могло б стати покращення гри, в якій я не знайшов їжу і помер від голоду. Система з самоаналізом змогла забезпечити наявність їжі в перших X локаціях, а потім їжа з'являлася б у кожній Y±Z локації. Тоді гравець не помер би з голоду з волі нагоди. Далі логічним дизайнерським рішенням було б створити ситуації, в яких гравець знає, що скоро знайде джерело їжі, але не знає, коли саме це станеться. Прийде вибирати: грати безпечно і запасати їжу або ризикувати і взяти з собою менше їжі, зате більше речей, які дозволяють крафтити рідкісні припаси.

Варіант 2: завжди позитивний результат

Прикладами можуть бути процедурні підземелля Let It Die і Sundered. У Let It Die підземелля поділено на зони. У кожній із них є кілька приміщень із кількома виходами. Їх розташування випадково, і виходи рандомним чином ведуть інші приміщення, формуючи певну область.

Як перемогти бездушний рандом у roguelike-іграх

Ось одна з можливих конфігурацій приміщень у зоні Tagahara у Let It Die. Кругла область ближче до середини – це широка вертикальна шахта з одним входом унизу та двома нагорі. Такий елемент карти створює різні навігаційні челенджі (а також ситуації, в яких потрібно відбиватися від ворогів), залежно від того, яким входом ви користуєтесь.

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

Як перемогти бездушний рандом у roguelike-іграх

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

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

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

Варіант 3: зменшити вплив рандому

Цей варіант дозволяє гарантувати, що невдача (окрема випадкова подія або їх ланцюжок) не призведе до загибелі персонажа, не залишивши шансу гравцю подолати ці події або підлаштуватися під них. Хоча Fortnite — мультиплеєр із короткими ігровими сесіями, скрині в ньому — чудовий приклад такого підходу. У кожному з них є випадковий набір зброї та інших предметів. Хороші рандомні предмети дають користувачеві перевагу, але скіловий гравець може перемогти, навіть якщо в кожній відкритій скрині знайде лише найгірші предмети.

Як перемогти бездушний рандом у roguelike-іграх

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

Прикладом може стати наклейка Oriental Medicine у ​​Let It Die. Знаходиться випадково та дозволяє відновлювати здоров'я персонажа. Без неї потрібно постійно стежити за рівнем здоров'я та мати у запасі їжу на випадок відновлення. З цією наклейкою можна не думати про відхилення - ви невразливі першу третину гри, поки не дістанетеся до ворогів, які завдають шкоди швидше, ніж ви відновлюєте здоров'я.

Як перемогти бездушний рандом у roguelike-іграх

Висновки для розробників

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

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

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

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

Висновки для гравців

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

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

Джерело: habr.com

Додати коментар або відгук