Крейг Штерн о масштабировании ролевых механик

Как не создавать себе проблемы на ровном месте
Крейг Штерн о масштабировании ролевых механик.

Автор: | Тип статьи: Перевод | Переводчик: m00n1ight | Размещение: m00n1ight, 21:52 (обновлено: 2023-02-26 11:03) | Слов: 2563 | Время чтения: 0 ч 10 м | Аудитория: Разработчики | Уровень читателя: Начинающий | Просмотры: 3847

На свете есть секрет, известный лишь разработчикам ролевых игр, бесценное знание, открываемое снова и снова каждым последующим поколением ричардов гэрриотов. Он прост: создание ролевых игр — тот ещё геморрой.

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

Но это не так важно, поскольку главной проблемой было и остаётся игровое наполнение, коего недостаточно для 20-часовой игры, ведь всем известно, что настоящую RPG не пройти меньше чем за 40. Приходится корпеть над художественным оформлением, сценарием и сражениями — всё это отнимает столько времени, что даже простейшие ролевые игры старой школы приходится разрабатывать годами.

Уставший разработчик.

Разработчик с ограниченными ресурсами рано или поздно задаётся вопросом: «Можно ли спроектировать механики так, чтобы они облегчили создание игровых ресурсов?»

Можно. И сегодня я расскажу, как разрабатывать масштабируемые ролевые механики. Но прежде чем перейти непосредственно к руководству, давайте выясним, что понимается под «масштабируемостью» этих самых механик.

Масштабируемость игрового наполнения в ролевых играх

Практически всегда, когда я слышу о масштабируемости, это так или иначе относится к бизнесу. В таких случаях обычно говорят о возможности роста без необходимости переделывать всё с нуля.

Но я расскажу о другом масштабировании — возможности эффективно управлять наполнением ролевых игр в соответствии с развитием персонажа. Я называю это «масштабируемостью наполнения», иначе говоря, методикой разработки, при которой игровое наполнение изменяется, оставаясь актуальным на протяжении всей игры.

Говоря о наполнении, я имею в виду не только художественные ресурсы. Есть несколько ухищрений, позволяющих масштабировать художественные ресурсы (например, использование ограниченных и заменяемых цветовых палитр), но я немного о другом. Я говорю о механиках, помогающих масштабировать игровое наполнение.

Не стоит недооценивать влияние игровых механик. Простой пример: ваши решения могут привести к тому, что определённый тип врагов будет угрожать игроку лишь на очень узком отрезке развития персонажа. Отправившись по этому пути, вы обречёте себя на бесконечное создание новых вариаций одних и тех же противников для поддержания сложности игрового процесса. Кроме того, придётся сделать игру линейнее, чтобы обеспечить контроль над игровыми областями и порядком их появления, дабы не позволить игроку ввязываться в схватки, в которых ему не выжить. Если коротко, разрабатывая игровые механики без задела для масштабирования, вы на ровном месте создаёте кучу бесполезной работы.

Продолжая мысль: масштабируемые ролевые механики освобождают время для игрового наполнения. Вместо создания противников А, Б и В, где Б и В отличаются от А лишь характеристиками и оттенками текстур, сделайте противника Г, который не имеет ничего общего с А. Первый подход даёт «больше разнообразия», хотя на самом деле это лишь вариации одного и того же. Второй подход куда интереснее и предлагает настоящую вариативность без увеличения времени и затрат.

Что приводит нас к первому этапу в масштабировании игрового наполнения...

1. Пусть старые враги становятся сильнее

Давайте сразу оговоримся: речь не об автоматическом масштабировании противников под уровень игрока. Я говорю о том, что разработчик может использовать более сильные варианты врагов одного вида.

Многие ролевые игры исповедуют весьма прямолинейный подход: есть несколько видов врагов, и каждый — абсолютная копия другого того же типа, отличающаяся лишь характеристиками. Когда такой противник перестаёт представлять угрозу игроку, его заменяют другим.

Очевидно неэффективный подход, используемый во многих ролевых играх (особенно восточной школы) заключается в упрощении жизни художников многократным использованием ресурсов. Гоблин быстро станет пушечным мясом, поэтому разработчики обязательно добавят усиленный вариант гоблина, которому, возможно, дорисуют щит, а может и ещё более сильную и чуть-чуть отличающуюся цветом версию.

Перекрашенный монстр.

Впрочем, этот подход всё так же малоэффективен: у каждого варианта строго определённые характеристики, что ограничивает сферу применения коротким отрезком игры, а значит придётся создавать новых противников (или вариации того же), чтобы заполнить зияющие пустоты, и делать это каждый раз вручную. Ну просто тьма-тьмущая бесполезной работы.

Так как же упростить себе жизнь? Просто: вместо разноцветных моделей с разными фиксированными характеристиками, создайте одного врага первого уровня, характеристики которого динамически изменяются до необходимых.

Возьмём, например, Telepath Tactics и «Бандитов «Кровавой бороды». На первом уровне все бандиты одинаковы: 19 единиц здоровья, 3 энергии, 5 скорости и 6 силы. Остановившись на этом, я бы вручную создавал новые вариации каждый раз, когда игрок начинает валить старую толпами: сначала для четвёртого уровня (покрасив их синим цветом), а затем снова и снова. Чем чаще я создавал бы новых противников, тем больше времени потратил впустую.

Вместо этого я наделил бандитов ростом характеристик, то есть определёнными правилами, по которым их характеристики увеличиваются соразмерно уровню (скорее всего, бандит более высокого уровня получит больше здоровья и сопротивления колющему урону, менее вероятен прирост силы и сопротивления рубящему урону и совсем уж вряд ли вырастет энергия и ограничение на количество контратак). Навыки бандитов со временем меняются: на определённых уровнях появляются новые.

Внедрив характеристики и навыки противников, я получил возможность, используя ту же механику повышения уровня, что и для персонажа игрока, динамически изменять бандитов! Это значит, что я могу изменять их силу, настраивая параметры для каждого отдельно взятого сражения!

[Telepath Tactics] На скриншоте: Бандит Кровавой бороды 4-го уровня.

Я могу взять несколько низкоуровневых бандитов и одного высокоуровневого в качестве босса. Я могу заполнить поле брани бандитами того же уровня, что и персонаж игрока. Можно сделать главным злодеем бандита 60-го уровня (не то чтобы я стал делать нечто подобное, но вы поняли)! Это, дорогие мои, и называется масштабируемым наполнением: один вид врагов, который опасен для игрока всю игру.

Этот приём годится не только для врагов. Disgaea и Fire Emblem: Fates используют масштабируемое снаряжение, благодаря чему оно остаётся актуальным намного дольше. Пожалуй, я пока не видел ни одной игры, в которой применялись бы уровневые эффекты состояния. Что ж, это неплохая идея... и вы можете придумать новые!

2. Используйте линейное развитие вместо экспоненциального

Если вы думали, что масштабирование применимо только к противникам, то поразмыслите вот над чем: неправильный подход к разработке предметов и снаряжения приведёт вас в объятия «потребительского конвейера». Что я подразумеваю под «потребительским конвейером»? Это болезнь, поразившая многие ролевые игры восточной школы, о чём я уже писал:

«...в процессе прохождения игры приходится постоянно менять устаревшую экипировку и вещи на новые, более дорогие модели. Оружие, которое вы купили в последнем городе, с лёгкостью справлялось с волками, но теперь нужно сражаться с гигантскими жабами, а их это оружие не берёт. Приходится покупать новое, подороже. И с ним снова всё легко и просто — до следующей области, где обитают враги, которых уже этим оружием даже не поцарапать. А там неподалёку новый город, где продаётся экипировка получше (и опять-таки подороже). И так до конца игры (я был приятно удивлён, когда в indie jRPG Deadly Sin 2 отвергли этот принцип, и лечащие предметы, полученные в начале, не утратили полезности в течение всей игры)».

Если вы не предусмотрели рост полезности предмета в зависимости от уровня игрока, придётся героически преодолевать эту проблему, создавая всё новые и новые предметы, которые выполняют те же функции, что и предыдущие. Прямо скажем, не самый лучший способ потратить время и силы.

Одним из старейших и эталоннейших примеров потребительского конвейера можно назвать Dragon Quest (также известную в США как Dragon Warrior) — игру, положившую в 1986 году начало одноименной серии. Причина потребительского конвейера в этой игре становится очевидной с первого взгляда на таблицу роста характеристик персонажа игрока и его противников. Эту таблицу составил один из участников сообщества GameFAQs:

[Dragon Quest] Прогрессия характеристик.

Как видите, рост каждой характеристики (сила, ловкость, здоровье, очки магии) подчиняется одной из двух закономерностей, но в любом случае вы неизбежно обратите внимание на характеристики персонажа, которые за 30 уровней вырастают на два порядка. У противников, впрочем, наблюдается похожая тенденция.

Чтобы стало ещё понятнее, давайте сосредоточимся на конкретной части игры: Кантлине. Когда вы туда доберётесь, защита врагов достигнет 60–70 единиц, а здоровье примерно 60 единиц или чуть больше. Предполагается, что к этому моменту у вас уже есть персонаж 15 уровня, а значит ваша сила примерно равна защите врагов. Урон в Dragon Warrior до некоторой степени случаен, но в целом это означает, что наносимый противникам урон практически полностью зависит от используемого оружия. Вот таблица оружия из Strategy Wiki:

[Dragon Quest] Характеристики оружия.

Скорее всего, на подходах к Кантлину у вас и правда 15 уровень, а сила персонажа составляет от 58 до 64 единиц. Предположим, вы сражаетесь одноручным топором с атакой 15, увеличивающей силу до 73–79 единиц. Используемая для расчёта урона формула в Dragon Quest довольно запутанна, но если совсем коротко, то с такой атакой против врагов с защитой от 60 до 80 вы нанесёте от 8 до 25 единиц урона. Противники с 58–65 очками здоровья выдерживают от 3 до 9 ударов без учёта критических попаданий и уклонений.

Пусть вы нашли полуторный меч, поднимающий атаку до 78–84 — в таком случае вы нанесёте 9–27 единиц урона одним ударом, а значит количество необходимых для убийства противника ударов сократится до 3–8 (худшие варианты выпадают чаще). В среднем, это сэкономит вам один удар на противника в каждом сражении, и это один ход, в котором противник атаковать вас уже не сможет (а значит вы точно не получите от него урона). В долгосрочной перспективе это огромное преимущество. А значит без вариантов: берём сразу как находим!

И так всю игру. У вас никогда не возникнет вопроса, что лучше: оружие различается лишь показателем урона и чем он выше, тем лучше. Но переходя на всё более крутые образцы вооружения, вы платите за него всё больше. Новое оружие заставляет игрока однообразно рубить монстров до тех пор, пока он не накопит на новый клинок. Эталонный потребительский конвейер.

Как же избежать этой напасти? Например, воспользоваться линейным ростом характерик, благодаря которому оружие из ранних игровых областей теоретически дольше сохранит свою актуальность. В лучшем случае — всю игру. А время, которое вы потратили бы на переделку одного и того же с новыми текстурами в попытках поспеть за обесцениванием характеристик персонажа, лучше использовать для разработки оружия, действительно отличающегося от остальных вариантов и заставляющего сделать сложный и значимый выбор, меняющий тактику сражения. Коэффициент улучшения игры к затраченному времени выйдет намного интереснее.

Впрочем, это относится не только к снаряжению, но и к одноразовым предметам! Вспомните... э-э-э... любую игру серии Final Fantasy. Вот прямо любую. В начале игры вы неизбежно завладеете несколькими зельями, восстанавливающими от 50 до 200 единиц здоровья. Первые несколько часов игры эти зелья полезны. Даже бесценны.

Однако благодаря экспоненциальному росту характеристик персонажа и его врагов, эти зелья быстро потеряют смысл. К концу игры, когда у персонажей несколько тысяч единиц здоровья, а враги наносят сотни и тысячи единиц урона одной атакой, тратить ход на восстановление 200 единиц здоровья выглядит верхом идиотизма. К тому времени вы научитесь применять заклинания и найдёте другие, более мощные способы лечения, соответствующие новым порядкам чисел. Однако зелья восстановления здоровья падут жертвой потребительского конвейера.

[Final Fantasy] На скриншоте: Применение зелья.

В качестве противоположного примера возьмём серию Fire Emblem. В ней есть своеобразный аналог зелья восстановления здоровья, излечивающий десять очков повреждений. Выглядит не очень впечатляюще, однако в отличие от зелий в Final Fantasy, оно актуально всю игру!

Причина проста: развитие персонажа в Fire Emblem линейно. Настолько линейно, что за некоторым исключением, персонажи на каждом уровне повышают на единицу одну выбранную характеристику. Вы начинаете игру со здоровьем от 16 до 24 единиц, а к последней битве подходите с 50–60, да и то у самых сильных из ваших воинов, а в большинстве случаев — от 20 до 25. Это значит, что к концу игры зелье, восстанавливавшее ранее 42–62 процента здоровья, теперь восстанавливает от 1/6 до 1/2 здоровья. Не так полезно, как в начале игры, но и бесполезным его не назовёшь. Линейное развитие персонажей Fire Emblem сохраняет актуальность расходников. Это и есть масштабируемость.

Когда же у игрока появляются эликсиры, он получает возможность выбирать средства лечения во время сражения (в отличие от увлекательнейшего выбора между бесполезной лечилкой и лечилкой полезной).

В этом разделе я говорил по большей части о предметах и снаряжении, но полагаю, линейное развитие характеристик персонажа положительно скажется и на масштабируемости сражений. Если вы решите отказаться от совета по изменению силы противников в зависимости от уровня персонажа, вам точно следует воспользоваться линейным развитием характеристик снаряжения и персонажа. Это несколько замедлит скорость истребления врагов, однако их виды дольше сохранят актуальность, а вам не придётся плодить всё новые версии одного и того же.

Два пункта программы выполнены. Дело за малым.

3. Используйте относительные значения вместо абсолютных

Воспользовавшись шагами один и два, вы испытаете непреодолимое желание остановиться. Не вздумайте! Не ранее, чем рассмотрите использование в игре относительных величин для различных эффектов.

Зачем использовать процентные соотношения, когда есть гораздо более простые и понятные операции сложения и вычитания с абсолютными величинами? Разумеется, всё упирается в масштабируемость. Рассмотрим два похожих сражения в ролевых играх, в которых противники линейно растут в уровнях и характеристиках (как и было предложено ранее). Это не абстрактные сражения, а вполне конкретные битвы из конкретных игр: сражение Лео (глава 18) из Fire Emblem Fates: Birthright и бой в таверне «Тощие собаки» из Telepath Tactics.

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

Fire Emblem Fates: Birthright.

Не буду тянуть кота за хвост: разумеется, это Telepath Tactics. В Fire Emblem Fates: Birthright защита персонажа напрямую вычитается из атаки противника, что и определяет окончательный урон. Это приводит к тому, что Безликие не могут нанести хоть какой-нибудь вред вашим персонажам! Наплевать, что их толпы. Когда большинство противников на карте не представляет никакой угрозы, сражения превращаются в рутину. Это не сражения, а уничтожение тараканов тапком.

[Telepath Tactics] На скриншоте: Бой.

Битва в таверне, напротив, довольно интересна. Она представляет сражение с небольшой армией первоуровневых врагов, которые уже намного слабее ваших персонажей. Разница в том, что защита в Telepath Tactics измеряется в относительных величинах, а потому даже столь слабые противники наносят урон! Учитывая их количество (а также навык удара в спину), они действительно представляют угрозу, несмотря на пропасть в силе.

«Ладно, Крейг, им просто нужно было сделать врагов сильнее, только и всего». Нет. Я говорю не об этом. Как вы помните, цель добиться масштабируемости игрового наполнения. Если бы разработчики заменили толпу низкоуровневых Безликих несколькими высокоуровневыми, у них вышла бы очередная банальная стычка врагов и персонажей примерно одного уровня. Разработчики хотели воспользоваться уже готовыми ресурсами в весьма необычном ключе, но механика подвела их. Напрямую вычитая защиту из атаки, а не уменьшая её на определённый процент, они оказались заложниками собственноручно созданных механик.

Данный подход работает не только с атакой и защитой, а применим вообще ко всему. К восстанавливающим здоровье предметам, например. Вместо того, чтобы создавать всё новые зелья с более сильными эффектами, можно восстанавливать определённый процент от максимального здоровья. Такой подход используется, например, в jRPG Deadly Sin 2, и там это отлично работает.

Относительные величины неплохо работают и с эффектами состояний. Я не рассматривал эту возможность при создании Telepath Tactics и всё закончилось тем, что эффекты длительного урона (например, отравления и горения) к концу игры далеко не так опасны. Горение наносит четыре единицы урона за ход. Благодаря линейному развитию игровых параметров, опасность эффекта к концу игры сохранялась, но когда у тебя 60 единиц здоровья, это уже не так страшно, как когда здоровья 24–32 единицы. В следующий раз я использую урон в процентах от полного здоровья персонажа (как мудро поступили с отравлением создатели последних игр серии Fire Emblem).

Заключение

Как ни банально, повторюсь: разработчики ограничены временем и бюджетом. Им постоянно приходится выбирать, чему уделить больше внимания. Каждый раз, когда разработчик решает сосредоточиться на чём-то одном, он, осознанно или нет, использует ресурсы, которые мог бы потратить на проработку чего-то другого.

Тратить время на игровое наполнение, которое лишь повторяет функции другого, вместо того, чтобы создать новое, не очень разумно. Лучше дайте игроку новые возможности, поставьте интересные задачи или расширьте отыгрыш роли. Масштабирование механик и наполнения не просто позволит вам вписаться во временные рамки и заданный бюджет. Оно сделает вашу игру лучше. 

Обсудить статью на форуме
CC0
Вы можете копировать, изменять, распространять и исполнять данное произведение, даже в коммерческих целях, не спрашивая разрешения.
Спасибо за поддержку: Harvi Denchik, vaska_psih, silmor_senedlen

Поиск по сайту

Категории материалов

Сообщения на форуме | новые

Fallout: New Vegas на форуме Fallout: New Vegas.
Последнее сообщение оставил Чума (2024-11-22 в 18:12). Ответов: 489.
[В разработке] Avowed на форуме Avowed.
Последнее сообщение оставил Чума (2024-11-22 в 17:43). Ответов: 82.
Бордель услаждения интеллектуальных страстей на форуме Оффтопик - Разное.
Последнее сообщение оставил m00n1ight (2024-11-22 в 13:02). Ответов: 9141.
Colony Ship RPG на форуме Colony Ship RPG.
Последнее сообщение оставил Хоттабыч (2024-11-22 в 10:53). Ответов: 957.
Ещё две студии от выходцев из ZA/UM на форуме [Архив] Новостной форум | Инди.
Последнее сообщение оставил Бобёр (2024-11-21 в 20:18). Ответов: 7.
[В разработке] Flint: The Treasure of Oblivion на форуме Тактические и стратегические.
Последнее сообщение оставил Хоттабыч (2024-11-21 в 17:33). Ответов: 17.
Expeditions: Rome на форуме Всё остальное | Инди.
Последнее сообщение оставил Хоттабыч (2024-11-21 в 14:11). Ответов: 108.
[В разработке] Urban Strife на форуме Всё остальное | Инди.
Последнее сообщение оставил m00n1ight (2024-11-21 в 13:21). Ответов: 49.
Возвращение во Врата Балдура на форуме Baldur’s Gate.
Последнее сообщение оставил FromLeftShoulder (2024-11-20 в 18:10). Ответов: 14.
[В разработке] Blades for Hire на форуме Тактические и стратегические.
Последнее сообщение оставил m00n1ight (2024-11-20 в 12:13). Ответов: 0.

Ожидаемое | таблица

Новости C.O.R.E.

Статьи C.O.R.E.

Новости RPG Codex

Новости RPG Watch

Новости RPG Nuke

Оставьте свой отзыв: QR-код для отзывов в «Яндексе».