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

001

С помощью других дизайнеров я решил собрать и формализовать известные мне основополагающие правила разработки системы боя. Эта статья – результат этих усилий.

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

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

  • Каждая способность должна обладать свой собственной функцией: бить в определённое место, оглушать врага…
  • Каждая способность должна иметь баланс между риском и вознаграждением за её использование.

Тактика способностей

Зная об этих характеристиках, мы можем проанализировать примеры классических способностей в военном шутере, таком как Call of Duty.

  1. Каждая способность обладает уникальной функцией

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

Схема, приведённая ниже, представляет собой арсенал способностей в Call of Duty и зону поражения, доступную для каждой из них.

002

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

А теперь представьте, что все эти способности могут быть моментально применены игроком. У нас получается интересная задача: «нажми нужную кнопку в нужное время».

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

  1. Тактическая составляющая: взаимосвязь риска и вознаграждения для каждой из способностей

Каждая способность не только позволяет игроку атаковать определённым способом, но и имеет свои преимущества, за которые приходится платить. Вот подробный пример из Street Fighter II.

003

Существует множество соотношений преимуществ и наказаний, которыми дизайнер может наделить способность. Вот одни из самых распространённых:

Преимущества: количество урона, оглушение, отражение, ослепление, восстановление очков здоровья.

Наказания: стоимость в очках, перезарядка, время активации, завершающая фаза.

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

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

004

Каждая система боя предлагает на выбор способности с разным коэффициентом соотношения риска и вознаграждения.

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

Три задачи

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

Рассчитать расстояние

  • Оценить расстояние до врага, чтобы выбрать, какую способность использовать
  • Оценить, где окажется ваш персонаж после выполнения атаки

Потому что всё движется в реальном времени

Рассчитать время

  • Оценить время, которое потребуется на использование способности
  • Предугадать, столько времени продлится способность

Потому что события развиваются в реальном времени

Сообразить и предугадать

  • Предугадать комбинацию действий, необходимых в каждой ситуации
  • Знать, какую способность использовать, чтобы отразить атаку врага

Потому что каждая способность – это тактический инструмент игрока

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

Враг – это задача для игрока

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

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

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

Как игрок может атаковать и победить врага?

Как игрок может защититься от атаки врага?

И действительно, когда мы разрабатываем целую палитру врагов, обычно мы стараемся создать очень разнообразные способы, которыми каждого из них можно победить. Для иллюстрации – два примера из Spider-Man: Shattered Dimensions.

005

006

Как следует из этих схем, ниндзя и взрывающийся камикадзе ставят перед игроком разные задачи по защите:

Лучшая способность для защиты игрока от ниндзя – манёвр уклонения.

Главная трудность в использовании этой защиты – точный расчёт времени.

Лучшая способность для защиты игрока от взрывающегося камикадзе – выстрел паутиной.

Главная трудность в использовании этой защиты – точный расчёт расстояния.

Трудности в использовании способностей игрока

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

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

007

Распространённые в играх архетипы врагов

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

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

Вот список обычных для игры-боевикаархетипов, с типичными функциями:

  • Защищённый враг: требует точно нацеленной базовой атаки

008

  • Тяжёлый враг: для уничтожения требуется усиленная атака

009

  • Снайпер: для попадания требуется дальняя атака

010

  • Подрывник: для противостояния необходима атака ближнего боя

011

Подклассы и разновидности архетипов

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

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

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

Выигрышные свойства врага позволяют игроку использовать его для нанесения урона другим врагам.

Осложняющие свойстваврага создают дополнительные преграды для победы над ним.

Вот пример подклассов из Mario:

Изначальный архетип врага

  • 012Движется к игроку только по заданному маршруту (патрулирование)
  • Игрок должен прыгнуть на врага и так его уничтожить
  • Оставшийся панцирь можно использовать, чтобы убивать других врагов

 

 

 

Подклассовый архетип

  • 013Движется к игроку
  • Новое осложняющее свойство подкласса: враг может передвигаться по воздуху
  • Панцирь также можно использовать, чтобы убивать других врагов

 

 

 

Разработка подклассов – отличный способ увеличения или снижения сложности класса без нарушения правил класса.

Пример управления риском и вознаграждением

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

Возьмём продвинутого врага со щитом и уязвимым местом на спине, попав в которое несколько раз, игрок может его взорвать:

014

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

015

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

Заключение

Вот несколько основных выводов из этой статьи, которые стоит запомнить:

Хорошо разработанная система боя – это такая система, которая может развлекать игрока часами. Если система боя задумана как надо, игра будет очень разнообразна.

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

Способности игрока могут отличаться самыми разными свойствами. Например, дизайнеры могут добавить к ним особые атрибуты: оглушение, восстановление, урон за единицу времени, отпугивание…

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

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

 

Перевод — Ю. Сергеева. 

Become a patron at Patreon!