Пользователь
0,0
рейтинг
11 апреля 2013 в 16:00

Разработка → Баланс в играх жанра Tower Defense (часть 2)

В первой части мы начали рассказывать о балансе юнитов в нашей игре жанра TD, которая неплохо себя показала, добравшись до топовых мест в своих жанрах US, RU и др. Appstore, получила фичеринг в разделе «Игры» в RU Google Play и в New&Noteworthy в 60 странах Appstore.
В данной статье мы затронем тему создания новых типов башен по принципу «от рассмотренной ситуации – к юниту», расскажем о расчете параметров крипов и дадим описание бонусов.



Вычисление параметров башен.
1. Граничное условие – первая башня должна почти убивать первого крипа в одиночку, оставляя у него ХП на один выстрел.
2. У стреляющей башни обязательно есть следующие параметры: радиус обстрела, скорость перезарядки, урон от снаряда.
3. Каждая башня должна хорошо уничтожать определенные типы крипов, и несколько хуже – другие типы.
4. Приблизительная величина, по которой можно вычислить ценность башни = среднее суммарное время атаки крипа, попавшего в ее радиус, умножить на урон в секунду.
5. Башни обязательно должны создавать «связки», в которых они действуют лучше, чем по одиночке.



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

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

Общий показатель башни, по какому можно оценить ее «убойность» (К): DPS*R/Price (урон в секунду умножить на радиус обстрела и делить на цену башни).

Базовая башня в нашей игре – подающий, у нее нет спец-способностей.


Скорострельность базовой башни – 2 выстрела в секунду, урон за 1 выстрел – 10 единиц (снимает 10 ХП), базовый урон в секунду – 20, радиус – 2.3 тайла, цена – 60. Получаем K=2.3*20/60 около 0.75

Рассмотрим другие башни, используемые в игре.

а) Сплешевик/ядрометатель

Имеет атаку по площади (юниты в определенном радиусе от места попадания снаряда получают урон). Урон башни зависит от того, на скольких юнитов он распределяется (сколько крипов находилось в зоне поражении). Для одного юнита:
урон – 3.5*15*0.5*3/100=0.75, т.е. фактически не отличается от базовой башни.

Аналогичная ситуация с 2-3 юнитами (суммарный урон для 1 юнита будет 3.5*15=52.5, для двух – 2*2*15=60, для трех – 3*1.8*15=81), но видим закономерность – чем больше юнитов в зоне атаки, тем больший суммарный урон они получат. Для 5 и более юнитов эта формула будет 15*N, а при радиусе сплеша в 0.6 тайлов, на участке размером 1.2 тайла может быть 8-9 противников.

б) Боксер

Выбивает противника с поля одним ударом. Должен быть выгоден против врагов с большим ХП и невыгоден против слабых. Его урон колеблется в зависимости от ХП юнита, от 0 до ХП самого мощного юнита (кроме босса). Радиус неважен, т. к. успевает сделать только 1 выстрел.

Возьмем среднюю скорость крипа = 0.8 тайла в секунду. Тогда 2.3 тайла юнит пройдет примерно за 3с. Базовая башня за это время сможет нанести урон =3*20, тогда как боксер, в перерасчете на 3с — 300*3/5, т. е. порядка 180. Однако, для слабых юнитов, например, для базовых, эта цифра будет 75*3/5=45, т. е. меньше, чем базовая башня.

в) Боулингист

Имеет линейную сплеш-атаку. Сила атаки шара – 27, выстрел – 1 раз в 2 секунды. Итого, урон на 1 юнита в секунду – 13.5. Это меньше, чем у базовой башни, но учитывая, что боулингист начинает атаковать с 5 тайлов, то при средней длине цепочки юнитов, идущих с промежутком порядка 1с, он может одновременно атаковать 5-6 юнитов. Таким образом, 1 юнит может наносить от 13.5 до 81 урона в секунду, а учитывая цену башни (80 монет), он при хорошем раскладе будет в 3 раза эффективнее базовой башни (20 урона в секунду за 60 монет против 80 урона в секунду за 80 монет).

Минусы башни также видны невооруженным глазом – юниты должны идти как раз по линии его атаки.



г) Отбивающий

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



Связку «1 подающий+1 нападающий» можно свести к аналогии «атакующая башня с бОльшим радиусом атаки». Если брать радиусы атаки, то у базовой башни она равна 2.3*2=4.6 тайла, у связки 2.3+2 (расстояние между подающей и отбивающей башнями)+3(радиус атаки отбивающей башни) =6.3, т. е. На 36% больше. Учитывая, что отбивающая башня усиливает урон от переданного мяча на 10%, получим увеличение урона примерно на 40%.

Сумма связки: 95 монет против 60 у одиночной башни, т. е. на 58% больше. Однако, в случае ограниченного числа мест для установки башен рядом с путем движения крипов, 1 отбивающий может сосредоточить огонь от 2-3 подающих, стоящих в отдалении, а также дешевая цена отбивающей башни позволяет ей «затыкать дырки» в обороне.

Баланс «связок» башен.
1. подающий +цепочка отбивающих
По сути, такая связка аналогична одной башне с большим полем обстрела. Учитывая, что каждый новый отбивающий увеличивает площадь обстрела примерно на половину площади круга обстрела отбивающего, то получаем связку башен, выгодную при убийстве крипов, идущих с большими промежутками, или одиночными крипами, которые идут из разных точек. Конструкция балансируется небольшим уменьшением урона мяча при передаче его от подающего к подающему. При передаче 90% урона в цепочке из 5 башен до цели дойдет 60% урона.
2. несколько подающих+отбивающий
Такая связка оправдана в ситуациях, когда есть одна удачная точка, куда можно поставить башню, и много подающих в отдалении. Балансируется такая конструкция ограничением мячей в секунду, которые может принимать отбивающий.
3. Общая связка – несколько подающих на одного отбивающего, плюс от него идет цепочка отбивающих. Самый «имбовый» (слишком хороший для игрока) вариант. Дисбаланс убирается введением ограничения на число принимающих мячей отбивающим и пределом усиления урона от мяча отбивающих (даже на 3м уровне).

д) Чирлидерша

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

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

Итого, если взять замедление скорости движения врагов на 20%, и радиус действия около 3 тайлов, то движущийся по прямой крип по умолчанию преодолеет 6 тайлов за 6/0.8с=7.5, а при замедлении – на 6/(0.8/1.2)=9с.
Если посчитать, что в это время его будут атаковать минимум 2 башни, то разница в полученном юнитом уроне будет 1.5с*20*2=60. По сути связка 2 атакующих+замедляющая башня эквивалентна 3 атакующим. Однако, учитывая что сама по себе замедляющая башня не имеет ценности, то ее цена должна быть меньше цены базовой башни. Итого, цена башни-замедлителя 50 монет (у базовой башни, напомним, – 60 монет).

е) Капитан команды

Аналогично можно расчитать действие юнита, не ослабляющего врагов, а усиливающего башни игрока.
Для игрока важно видеть визуальное усиление башен, поэтому наиболее логично будет сделать увеличение скорости атаки башен.Так появился «капитан» – юнит, усиливающий скорострельность башен, действующих в зоне его атаки. Его параметры расчитываются сходным образом, чтобы начиная от определенного числа башен (минимум 2 сплешевика/боулингиста) поставить капитана было выгоднее, чем N+1 башню.

Базовый коэффициент усиления у капитана – 20%, радиус – 3 тайла. Учитывая, что логично ставить капитана, когда у нас установлены хотя бы 2-3 сильные башни, можно высчитать его стоимость. Допустим, у нас есть 2 башни-сплешевика и боулингист. Суммарная их цена – 2*100+80=280, урон в секунду – (если в радиус атаки сплешевика попадает 5 юнитов ) – 15*5*0.5=37.5, у боулингиста – 13.5*3 – если считать, что в радиус атаки попадает 3 юнита. Суммарный урон составляет около 115 единиц в секунду. При его увеличении на 20% получаем дополнительные 23 урона в секунду, что на 15% больше, чем урон от базовой башни. Тогда адекватная цена капитана, при учете того, чтобы его использование «окупилось», начиная с 3 поддержки 3 сильных башен, – 60*1.15= около 70 монет. И самое главное: по мере улучшения или установки новых башен в радиусе действия капитана, он становится все более и более выгодным.



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

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



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

Рассмотрим эволюцию противников в игре подробнее.

1. Базовый крип (фитнессист), не имеет особых талантов, легко уничтожается всеми башнями.

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

3. Крип с большим количеством ХП (регбист), для его уничтожения как раз и нужен юнит «боксер».

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

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

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

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

8. Крип босс. Появляется в конце каждого эпизода. Имеет чудовищно много ХП, низкую скорость, а главное снимает все очки жизни базы, если вдруг до нее дойдет. Из особенностей – в 3 и 4 эпизоде боссы увеличивают скорость движения, если их долго не атакуют, что побуждает игрока все время держать этого крипа под огнем. Обычно появляется вместе со «свитой», другими крипами, которые заставляют игрока отвлекаться от босса и усиливать оборону по всему полю (что исключает вариант продажи башен в той части пути, которую босс уже прошел).


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

Бонусы.
Бонусы делятся на несколько типов:
1. Позволяющие переломить критическую ситуацию, когда только внешнее воздействие сможет помочь.
2. Упрощающие жизнь игрока в сложных ситуациях, если он сам правильно действует.
3. Перманентно действующие, позволяющие пропускать некритичные ошибки, позволяют игроку немного расслабиться.

Также можно их разделить по времени действия:
1. Одноразовые
2. Действующие определенный период
3. Постоянно действующие

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

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


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


3. Ложный кубок – некий антипод «града», помогает направить врагов по ложному следу. Явно понравится любителям обмануть туповатый ИИ. Кстати, только бонусы 2 и 3 требуют точки «прицела», поэтому, по сути, являются достаточно сложными бонусами, особенно 3й.


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


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

Мы рассказали поднаготную, как все было задумано, но, конечно, не всем игрокам до конца понятны преимущества разных башен и бонусов перед другими. О том, какие средства мы для этого вводили и собираемся ввести (спасибо за полезные комментарии хабре в том числе!), мы расскажем в следующий раз, а также затронем вопросы применения ИИ при создании уровней и утилит, упрощающих бета-тестирование игры. Про монетизацию и продвижение также задумана отдельная статья.
Ирина Варлахина @Ineshi
карма
32,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (30)

  • +7
    Лучшая реклама для такого продукта, сразу же захотел поиграть, да еще и информацию интересную получил
    • +3
      Ну так на то и расчет.
      image
  • +9
    Мы решили отказаться от отображения точных цифр в параметрах башен, так как они бы не слишком хорошо вписались в общую «бесшабашную» атмосферу игры

    Бесит. Мне как понимать насколько выгоднее будет апгрейд чем строительство новой? Или как сравнивать башни?
    Это ок для совсем казуалов. Если человек хоть чуть-чуть думает то цифры совершенно необходимы!
    • +8
      Пожертвовали играбельностю в угоду дизайну. Явно художник, а не гейм дизайнер решение принимал. Бесит
      • 0
        Вы правы :) Планируем исправиться. Спасибо за мнение!
        • 0
          Угадал на счёт художника? Вот всегда так. Их лучше поменьше слушать. Они смотрят на игру, как на картинку, а не как на игру.
          • 0
            Потенциальные покупатели перед покупкой на игру тоже смотрят как на картинку, а не как на игру.
            • 0
              Вот только никто не приходит и не платит сразу деньги. Сначала смотрят как на картинку, потом смотрят как на игру и если как игра втянула — платят деньги. А за картинку деньги не платят.
              • 0
                Не всегда есть возможность посмотреть как на игру до покупки и уж точно не всегда есть возможность втянуться.
                Я продаю разные вещи в интернете, от всякого барохла на аукционе до приложений для мобильных телефонов — люди покупают картинку, а потом уже смотрят что они купили, втягиваются и т.д. Это работает почти везде.
                Хорошая и привлекательная картинка — купили. Картинка непонятно что или слишком запутанная — покупают реже.
                Есть, конечно, категория покупателей, кто решает не по картинке, но их меньшинство.
                • 0
                  Игра из топика явно не из той части. Она бесплатна, а платит пользователь только после гемплея.
                  В любом случае картинки лучше выносить в трейлер, а не портить геймплей.
    • 0
      Сейчас мы пришли к такому же выводу и в следующей версии игры данные будем отображать в более привычном виде для хардкорных игроков. Изначально мы хотели, чтобы игрок не сравнивал цифры, а находил интересные комбинации башен и схемы их расстановки на поле. Полезность башни видна «на глазок», так как по функционалу башни не отличаются ничем, кроме параметров «урона» и «скорострельности».
      • 0
        Ну да, все как выше и написали — придумывал художник, а не гейм-дизайнер.
      • 0
        Тьфу, ты, наоборот написала, сорри. «Полезность башни видна «на глазок», так как по функционалу башни не отличаются ничем, кроме параметров «урона» и «скорострельности».» — хотела написать, что у нас в игре полезность видна «на глазок», так как наши башни сильно отличаются по функционалу, а цифры больше нужны тогда, когда всего пара параметров, типа «скоростельности» и «урона».
        • +1
          Вопрос — лучше поставить ещё одну башню или усилить старую?
          А если вокруг капитана?
          А усиление радиус действия башни увеличивает?
          А для сплэшевика — будет он убивать противников теперь с двух ударов вместо трех или все же после 2-го останутся те самые 5хп?

          Масса вопросов возникает — и для ответа на них нужны цифры.
          • +1
            А я считаю, что наоборот становится интереснее без цифр. Потому что будь они — я бы обязательно посчитал, а вот их нет, и я начинаю экспериментировать.
            • 0
              Можно и с цифрами экспериментировать. Я же не говорю, что обязательно показать все-все-все цифры. Но хоть что-то для принятия решения показать очень неплохо.
          • 0
            Для игрока не нужны цифры. В том-то и смысл игры, чтобы самому прийти к ответам на все эти вопросы в ходе проб и ошибок. Не все игроки, прежде чем садиться за игру, ведут сначала расчеты на калькуляторе. И потом, в подобных играх иногда бывает, что игрок находит тактику, которая не была предусмотрена авторами игры, и эта тактика сбивает баланс и делает прохождение чрезвычайно легким.
            • 0
              > и эта тактика сбивает баланс и делает прохождение чрезвычайно легким.

              А это уже проблема авторов игры — значит они плохо рассчитали баланс. Но это не повод прятать от игрока информацию.
          • 0
            Цифры — как раз самое интересное. Интересно, почему многие разработчики чересчур оказуаливают игру? Тренд?
            • –2
              На 5 задро хардкорных геймеров приходится 95 нормальных людей — для кого делать выгодней? :)
              • 0
                По разному бывает.
                Хардкор — задро геймерам.
                Казуалки — личинкам задро геймеров.
                Энгри бердс — в метро играть.
                Лайнс и косынка (в прошлом)-- секретаршам и прочим сениор чикен оффисерам.

                Короче, по убыванию интеллектуальной мощи объекта воздействия и убыванию наличия а) художественного вкуса б) времени
                Иногда отсутствие времени усугубленное модным ныне распылением внимания приводит к полному оказуаливанию подопытного испытуемого ))
              • 0
                Встречный вопрос — почему мерседес не делает запорожцев?
                Мерседес купят 5%, а запорожец — 95 процентов нормальных людей ))
                В чем секрет? ))
                • 0
                  Знаете, я думаю, что нормальные люди таки выберут мерседес.
                  • 0
                    Поэтому, нормальные люди таки выберут хардкор. ))
                  • 0
                    И еще: в запорожец сколько ин-аппов не прикручивай, он от этого все равно останется дырявым корытом, а никак не превратится в мерседес. Это хинт, почему и отчего ф2п и фримиум работают, но не всегда. Не надо стараться обмануть пользователя выдавая трэш за качественный продукт, типа, ну вот еще чуть чуть кристалльчиков купите у нас. Приведет только к отторжению.
  • 0
    Не совсем понятно «Общий показатель башни, по какому можно оценить ее «убойность» (К): DPS*R/Price (урон в секунду умножить на радиус обстрела и делить на цену башни).» зачем делить на цену башни?

    Показатель [damage per second] * [radius] — это и есть убойность башни.

    Что такое «общий показатель», как и где он применяется в игре? Может, лучше было бы его назвать показатель эффективности башни?
    • 0
      Вероятно это соотношение лучше назвать не «убойность», а «цено-эффективность». Насколько я понял, он применяется не в игре, а при балансировке башен.
    • 0
      Может быть, стоит переименовать, подумаем, спасибо. По сути, это соотношение «цена-качество», насколько башня хорошо наносит урон врагам за свою цену. Чем он выше — тем лучше.
  • 0
    Спасибо всем за интересные отзывы!
    • 0
      Это какой-то кошмар! Что вы со мной сделали? Я сижу в кафе и думаю о том, как бы мне так грамотно расставить столы и стулья, чтобы мужики на скакалках до меня не добрались.

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