Плавильний котел: бій у Skyforge

Всім привіт! Мене звати Дмитро Бородін, я працюю гейм-дизайнером в команді бою на проекті Skyforge. В Тільки Team я вже більше чотирьох років, і цей час не минувся дарма — я дізнався багато нового і цікавого з самих різних областей геймдеву. В основному ж моя робота була пов'язана з реалізацією бою в грі, і зараз я розповім про те, як ми робили його в Skyforge.



Бій, або комбат, як ми найчастіше називаємо, в цілому можна описати як активна взаємодія гравця з ворожим йому оточенням. В сучасних MMO комбат займає до 90% ігрового часу, і завдання зробити його захоплюючим і не надоедающим — одна з найважливіших і водночас одна з найскладніших. Тому для Skyforge була сформована спеціальна велика команда, яка займається виключно цією проблемою.

Основний внесок у комбат ММО вносять 3 складові:
  1. Класи — пов'язані набори умінь, які гравець буде використовувати в бою.
  2. Моби — ворожі гравцеві монстри.
  3. Інтерфейс і камера.
Про кожен з цих пунктів треба розповідати грунтовно в окремих статтях, і я розповім про перший — про класи.

комбата, веселого і різноманітного
Ще на самому ранньому етапі розробки ми для себе вирішили, що хочемо зробити візуально яскравий, динамічний і інтуїтивно зрозумілий комбат. Справа залишалася за малим — знайти момент, коли він таким стане. Так як на великих проектах в геймдеве немає спочатку заготовленого великого «дизайну», яке залишалося б тільки втілити в життя, ми почали експериментувати. Спочатку ми вирішили щільно взятися за класи.



Перші ж експерименти були цілком життєздатні — в основному ми використовували перевірені, добре зарекомендували себе механіки. Через деякий час гри PvE очікувано ставало типовим для MMO монотонним гриндом: виділи мобу, тисни 1-2-1-3-4, при необхідності повтори. Ставало все більш помітно, що щось не так: від дня до дня розробники, так чи інакше задіяні в плейтестах, починали все більше нудьгувати в бою. І, хоч це можна було б списати на те, що вони просто не отримували реальної нагороди за бій, ми вирішили, що якщо хочемо зробити дійсно круто, то потрібно все серйозно міняти. Так почалася низка великих змін, в які був залучений практично весь проект.

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

Консольне вплив
У процесі наших експериментів ми стали все уважніше придивлятися до реалізації комбата в таких іграх, як God of War, Devil May Cry, Darksiders. В якийсь момент ми вирішили таки засукати рукави і переробити весь наш комбат на подібний екшен-варіант.

Перш ніж приступати до масштабних переробок, було вирішено розібратися в одній з ключових особливостей комбата в цих іграх — комбоударах, які являють собою певні послідовності активації здібностей, мають додатковий ефект. Ми подивилися, як це реалізовано в Mortal Kombat, Tekken, Street Fighter, оцінили різницю в підходах та їх результати. Вирішували, як будемо адаптувати комбо для ММО: зробити так само як в файтинг не можна із-за різниці в специфіці жанрів та їх численних технічних особливостей. Після редизайну «на папері» пішли багатогодинні зборів з художниками, на яких ми шукали шляхи реалізації наших задумів, влаштовували всіх. Потім ми з цікавістю дивилися в грі, що ж у нас вийшло. У підсумку зупинилися на варіанті комбоударов, які складаються з різних «базових» атак, які виконуються при натисканні лівої кнопки миші, і спеціальних атак, які виконуються натисканням правої кнопки миші після потрібної базової атаки. У паладина з'явилися 4 базові атаки, які закінчувалися ударом, подбрасывающим противника в повітря. Місця трьох спеціальних атак — після першої, другої і третьої базових — посіли відповідно «Друк світла», що складається з двох швидких помахів мечем і завдає шкоди ворогам в прямокутній області перед паладином, «Караюча блискавка», що вражає одного противника потужним низхідним ударом, і «Небесна кара», при виконанні якої паладин здійснює удар в землю і завдає шкоди всім навколо. Ми не стали розташовувати ще одну спеціальну атаку після четвертої базової, так як необхідність зробити, не перериваючись, п'ять ударів поспіль вже слабо в'язалася з тією динамікою бою, якої ми хотіли добитися.



Щоб комбоудары добре гралися, потрібно докласти чимало зусиль. Необхідно, щоб гравець чітко відчував, коли вони починаються, коли закінчуються, на який в даний момент стадії знаходяться і що зараз слід натиснути, щоб виконати потрібну послідовність ударів. Інакше при виконанні довгої серії виникав неприємний ефект — гравець з часом починав про себе рахувати, скільки базових атак він зробив, а також дотримувався суб'єктивно неприємні паузи між натисканням ударів. Назвавши цей ефект «метрономом», ми відразу стали з ним активно боротися. В процесі цієї боротьби з'явилася спеціальна інтерфейсна фіча — «комбохелпер». Вона допомагала орієнтуватися в комбоударах, прямо в процесі бою показуючи, які елементи гравець застосував, вибудовуючи в ряд відповідні іконки одночасно з їх виконанням. Але найбільших результатів ми досягли, змінюючи тривалість ударів і час, у який клієнт буде приймати команди на наступний удар. Ми прискорювали базові атаки, а останні удари в серії робили помітно більш повільними. Так, раніше кожен удар паладина виконувався протягом приблизно однієї секунди, а тепер на найдовший заключний удар припадає цілих 1,5 секунди, у той час як найшвидша базова атака виконується всього за 450 мілісекунд. Команди на наступний удар тепер можна віддавати набагато швидше, і процес став помітно більш комфортним, так як зникла необхідність весь час робити паузи між ударами. Ми досягли такого результату, що навіть вирішили відмовитися від раніше зробленого «комбохелпера» — він став нам просто не потрібен.

Труднощі і проблеми
В процесі роботи стало зрозуміло, що на далекобійні класи комбо лягають дуже дивно як з візуальної сторони, так і просто з точки зору здорового глузду. І дійсно, чому відразу не можна запустити у ворога потрібним ефектом, а обов'язково перед цим щоразу застосовувати якісь інші атакуючі вміння? Було прийнято рішення не натягувати на далекобійні класи ідеологію комбо силою, а використовувати альтернативні атрибути екшен-комбата начебто заряджаються умінь, прицільних пострілів та інших механік. Наприклад, у лучника ми використовуємо 3 типи стріл, перемикання між якими здійснюється за допомогою правої кнопки миші. Для стрільби обраним типом стріл використовується заряжаемое вміння, в процесі зарядки якого треба утримувати ліву кнопку миші — гравець ніби натягує тятиву. Це вміння включає в себе 3 різних типу пострілу, а використовуваний тип пострілу визначається моментом, в який гравець відпускається зарядки вміння. Таким чином, на двох кнопках миші у лучника розташовується цілих 9 умінь. Також комбо не обов'язково повинні бути на мишці — у того ж лучника є «Постріл у стрибку», схожий на всім відомий Rocket Jump, і виконується він за допомогою ривка тому, слідом за яким треба стрибнути, використовуючи пробіл.

Ще варто відзначити, що для ММО не підходить розподіл ефектів від комбо з екшенів, звідки ці серії ударів і були перейняті. Суть в тому, що в тих же God of War або Devil May Cry на середньому рівні складності практично будь-які осмислені послідовності активації здібностей призводять до приблизно одного і того ж результату, нехай навіть в процесі гри може складатися зовсім протилежне враження. При інших рівних, гравець проходить гру зі швидкістю, на яку майже не впливають використовувані їм здібності, хоча одні з них можуть бути довгими і складно виконуваними комбоударами, а інші — простими однотипними ударами. Спроба зробити щось подібне у нас привела до того, що гравці застосовували ті комбо, які їм подобалися візуально або просто виходили самі собою, що, загалом-то, якраз відповідає тому, що роблять гравці в екшенах. При цьому через деякий час інтерес до бою губився. Вже найшвидший аналіз причин швидко привів нас до, здавалося б, лежить на самій поверхні висновку: гравець втрачає інтерес до комбатові через 8-10 годин, що в принципі відповідає часу проходження розглянутих нами екшенів. Для цих ігор, звичайно, немає нічого страшного в тому, що гравцеві під кінець надоїдає битися з мобами, але для ММО настільки рання втрата інтересу до комбатові стане фатальною. Тому в Skyforge ми зробили комбо більше хардкорными, ніж у звичайному екшені: гравець повинен часто приймати рішення, який саме комбоудар йому потрібно використати в даний момент, і ці рішення будуть сильно впливати на результат бою. Комбо паладина придбали строгу спеціалізацію: «Друк світла» вигідна, якщо зачіпає двох-трьох ворогів, що знаходяться перед героєм, «Караюча блискавка» завдає найбільшої шкоди одиночної цілі, «Небесна кара» допомагає розібратися з великою кількістю оточили ворогів, ну а базові атаки відповідають за відновлення класового ресурсу.

Мінус хілер, плюс саппорт
Але екшен-комбат не зводиться тільки до певного способу управління класом. Це ціла ідеологія, за якою повинна бути вибудувана вся гра. Часом ця ідеологія вимагає поставити під сумнів деякі речі, які, здавалося б, лежать в самому фундаменті жанру MMORPG. Наприклад, у певний момент ми зрозуміли, що класична роль хилера в групі нам не підходить. Зазвичай хілер займається по суті тим, що «штовхає» смужку HP (в основному танка) в протилежний бік від тієї, в яку її штовхають вороги, і дивиться при цьому більшу частину часу в інтерфейс. Все це зовсім не в'яжеться з основними ідеями екшен-комбата.

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



PvE також страждає від наявності ролі хилера. Описане подвійне посилення хоч і виділяє танків серед інших ролей у групі, але сам танк, по суті, майже не відчуває цього. Для нього його «танковость» часто зводиться до бінарної ситуації: або його з хилером сукупних характеристик вистачає для того, щоб зводити до нуля шкоди від боса, чи ні. Якщо ні, то проходження боса, швидше за все, не уявляється можливим. Якщо так, то ми стикаємося з черговою проблемою, породженою хилерами — потенційно нескінченної витривалістю групи гравців в бою з босом. Маючи нескінченну витривалість в бою, можна мати як завгодно малий шкоди, щоб перемогти будь-якого суперника, просто на це піде більше часу. Щоб перемогти нескінченну витривалість в PvE, розробники часто впроваджують дивні механіки типу «энрейджа», коли через деякий час бою бос раптом починає наносити в рази більше шкоди, не залишаючи хилерам шансів компенсувати його лікуванням. Без подібних механік перші вбивства босів стабільно вчиняються групами, у яких більшу частину складають саме хилеры, а сам бій триває величезна кількість часу.

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



Не довіряй і перевіряй
Щоб бути впевненими в тому, що в довгому процесі розробки ми зберігаємо тверезий погляд і не йдемо занадто вже далеко від того, чого чекають від нас гравці, у всіх наших експериментах з комбат-системою ми активно використовуємо UX-тестування (від англійського User eXperience, що можна перевести як «досвід взаємодії»). Для цього у нас є спеціальна UX-лабораторія, куди ми наводимо самих різних людей: майже не знайомих з іграми, досвідчених ММО-геймерів, любителів шутерів, консольних гравців — словом, намагаємося отримати як можна більш різноманітну зворотну зв'язок.

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

Часто результати UX-тестування допомагають вирішити суперечки, в яких аргументи розробників з обох сторін вже підійшли до кінця. Так було, наприклад, з «контекстними діями» — підказками у вигляді іконок здібностей класу, які за певними критеріями з'являються в бою, пропонуючи гравцеві активувати відповідну здатність. Частина розробників вважала, що контекстні дії вкрай важливі для гри і їх треба зробити якомога більше, інша ж частина була налаштована скептично, вважаючи, що насправді особливого сенсу в них немає, і не варто з ними експериментувати. UX-тестування показало, що недосвідчені гравці, які як раз і складають цільову аудиторію контекстних дій, їх не помічають, а запеклим геймерам вони і так не особливо потрібні з об'єктивних причин. У підсумку ми сильно скоротили кількість контекстних дій, залишивши їх тільки для найбільш важливих здібностей і там, де вони потрібні задля зручності гравця, а також зробили їх більш помітними.



Може новачок застосовувати в бою комбо цього класу? Чи Не занадто гравця відволікає панель здібностей і датчик ресурсу? Помітна здатність ось цього мобу? А чи зрозуміла вона? У відповідях на ці та подібні питання нам дуже допомагали і допомагають дослідження у UX-лабораторії.

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

У наступних статтях ми обов'язково продовжимо нашу розповідь про те, як ми робили бій для Skyforge, ну а поки я откланяюсь і запропоную задавати питання в коментарях — по можливості відповімо!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.