реклама
Бургер менюБургер меню

Вячеслав Уточкин – Хочу в геймдев! Основы игровой разработки для начинающих (страница 25)

18

Игры АСИММЕТРИЧНЫЕ, С НЕРАВНЫМИ ИЗНАЧАЛЬНЫМИ УСЛОВИЯМИ, балансировать сложнее. Некоторые игры намеренно предлагают игрокам неравные условия: например, чтобы передать ощущение несправедливости жизни или показать уникальные механики выбранной расы, как в Starcraft.

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

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

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

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

Итак, ЧТО ЖЕ МЫ БАЛАНСИРУЕМ?

Как мы уже выяснили, баланс – это своего рода выражение эмоций через цифры. Эмоции в свою очередь – это вся игра. Мы играем, потому что нам нравится испытывать те или иные ощущения от игрового процесса.

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

С точки зрения подходов и тех элементов, которые мы балансируем, можно выделить множество игровых аспектов, каждый из которых требует своего подхода и имеет свой вид баланса. Давайте приведем несколько примеров.

• Баланс начальных условий

Это про то, чтобы все стартовали в более или менее равных условиях. В MMORPG это равнозначность стартовых локаций и первых способностей всех рас. В MOBA/action – подбор игроков, близких по навыку. И так далее.

• Баланс сложности прохождения

Он касается как прохождения уровней в казуальных играх или локаций и подземелий в многопользовательских играх, так и в целом прохождения однопользовательских игр. К примеру, выбор уровня сложности в Diablo или «Цивилизации».

• Баланс мощи/случайности/навыка

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

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

Это баланс экономики, прокачки и развития сущностей, общий баланс всего игрового цикла и то, что многие обычно и понимают под балансом, – боевая система. Давайте остановимся на ней подробнее.

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

Рис. 18. Бой в игре

Чтобы ответить на этот вопрос, давайте определимся с тем, а что же такое эта «боевка». Если между собой сражаются два игрока, персонажа, войска или государства, нам интересно узнать, кто победит. Поэтому самое простое определение боя – это применение способностей сражающихся субъектов, обычно нацеленное на достижение победы и визуализируемое сражением. Это применение может быть как автоматическим, так и контролируемым. Каждый игрок может иметь как одну способность (атака), так и целое многообразие возможностей. С математической точки зрения боевая система – это механика, подразумевающая сравнение боевой силы, которая позволяет игрокам узнавать, кто из них одержит победу. Во многих играх сражение представляет собой активный геймплей. Нередко это даже core-геймплей всей игры. В других играх, например в батлерах, мета[65] важнее боя.

Оставим на потом вероятность победы, расчет потерь и другие нюансы. Для начала вспомним: чтобы сравнить между собой две сущности, необходимо выразить их численно. Гейм-дизайнеру нужны параметры, по которым он будет сравнивать. Кто круче: титан или черный дракон? Для людей ощущение крутости, как и многие другие чувства, работает по логарифмической шкале. Это позволяет нам слышать писк комара и не глохнуть от самолетного гула. Вспоминая «Героев Меча и Магии», вы наверняка скажете – конечно, драконы сильнее титанов! А во вселенной Warcraft даже черный дракон Смертокрыл был лишь одним из многих слуг титанов. Наши чувства относительны. Но компьютер требует точных цифр. Давайте же их введем.

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

Обозначим за P величину, характеризующую силу и крутость сражающихся сущностей. Назовем ее, например, мощью. Тогда существо, обладающее мощью P1, большей, чем мощь P2 второго существа, в среднем будет одерживать над ним победу в бесконечном числе сражений. В некоторых играх на этом все и заканчивается. Но большинство из нас скажут: подождите, это же очень скучно! И тут на помощь приходят системы характеристик. Гейм-дизайнеры наделяют существ ловкостью, интеллектом, выносливостью и множеством других атрибутов. Для конкретной задачи можно использовать как устоявшуюся систему – из D&D, GURPS, SPECIAL, систему из Diablo и т. д., – так и разработанную самостоятельно. Про каждую из приведенных в пример систем характеристик можно найти массу информации в Сети. По сути, они представляют собой набор параметров персонажа и правил, по которым они влияют на ход боя. Какую бы систему вы ни взяли, за ней будет стоять математическая модель. Если говорить очень грубо, ее задача – свести все параметры сравниваемых объектов к их мощи. Например, одна единица силы может давать +1 к физическому урону и +5 к запасу здоровья. Задумываясь о боевом процессе глубже, мы приходим к выводу, что все характеристики можно привести к урону (или урону в секунду) и запасу здоровья.

Какой персонаж победит? Очевидно, что тот, кто успеет довести до нуля здоровье противника до того, как противник сделает с ним то же самое. Тогда, обозначив за D урон, а за H – запас здоровья, мы можем записать условие победы первого игрока над вторым:

H1/D2 > H2/D1

Вспоминая, что и урон, и запас здоровья, скорее всего, больше нуля, перенесем D1 и D2 в противоположную сторону неравенства:

H1*D1 > H2*D2

Но подождите! Мы же начинали с того, что если какая-то обобщенная характеристика игрока больше той же характеристики другого, то первый, скорее всего, побеждает второго. Так мы и пришли к простой формуле мощи:

P = H*D

Используемые в этой формуле значения урона и запаса здоровья часто называют эффективными или приведенными, потому что они сами рассчитаны из других характеристик персонажа: интеллекта, ловкости и т. д. К примеру, у персонажа с HP0 = 30 и сопротивлением урону 50 % эффективное HP будет 60 (то есть HP0 / 50 %). Таким образом, получив урон 30 (равный первоначальному HP), он потеряет только половину здоровья (15 из 30).

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

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

Рандом (случайность) – тоже инструмент баланса, и многие гейм-дизайнеры им пользуются. Элементы рандома вносят разнообразие и азарт, что добавляет остроты ощущений.

Мощь, навык игрока и рандом – три составляющие игрового баланса, влияющие на победу. Такой подход позволяет слабым игрокам побеждать сильных, не дает последним скучать и расслабляться. Боевые системы по-разному учитывают комбинацию из этих трех сущностей.