Читаем Хочу в геймдев! полностью

Для игр, где есть боевая система, главные характеристики – урон (англ. 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).

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

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

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

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

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

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

ДИСБАЛАНС

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

Перейти на страницу:

Все книги серии Российский компьютерный бестселлер. Геймдизайн

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных