Научная статья на тему 'Описание баланса и механики мобильного приложения жанра Tower Defense'

Описание баланса и механики мобильного приложения жанра Tower Defense Текст научной статьи по специальности «Математика»

CC BY
958
72
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
TOWER DEFENSE / ИГРОВОЙ БАЛАНС TOWER DEFENSE / ЛОГИКА РАССТАНОВКИ БАШЕН TOWER DEFENSE / ЭКОНОМИКА TOWER DEFENSE / БАЛАНС ЮНИТОВ TOWER DEFENSE / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ TOWER DEFENSE / GAMEPLAY TOWER DEFENSE / TOWER DEFENSE GAME BALANCE / TOWER DEFENSE PLACEMENT LOGIC / TOWER DEFENSE ECONOMICS / TOWER DEFENSE UNIT'S BALANCE / TOWER DEFENSE ARTIFICIAL INTELLIGENCE

Аннотация научной статьи по математике, автор научной работы — Горовых И.И., Евич Л.Н.

Рассмотрен игровой баланс приложения Tower Defense. Рассмотрены подходы к расчетам, граничные условия игры. Приведено описание расчетов баланса игровой экономики и механики. Описано поведение игрока в различных игровых ситуациях. Рассмотрены варианты вырожденных ситуаций. Выполнен эффективный подбор игрового баланса и механики для комфортной игры. Рассмотрены базовые характеристики вражеских юнитов и базовых башен. Рассмотрены варианты размеров игровых карт.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESCRIPTION OF THE MOBILE APPLICATION BALANCE AND MECHANICS OF THE TOWER DEFENSE GENRE

The paper considers the game balance of the Tower Defense application. The approaches to the calculations, the boundary conditions of the game are considered. The paper provides the description of the balance calculations of the game economy and mechanics. The behavior of the player in different game situations is described. The variants of degenerate situations are considered. The paper presents an effective selection of game balance and mechanics for a comfortable game. The basic characteristics of enemy units and base towers are considered. The article considers options for the size of game cards.

Текст научной работы на тему «Описание баланса и механики мобильного приложения жанра Tower Defense»

УДК 004.032.6 ОПИСАНИЕ БАЛАНСА И МЕХАНИКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ ЖАНРА TOWER DEFENSE

Горовых И. И.,. Евич Л. Н.

Донской государственный технический университет, Ростов-на-Дону, Российская Федерация vansk8@mail.ru BKLN@mail.ru

Рассмотрен игровой баланс приложения Tower Defense. Рассмотрены подходы к расчетам, граничные условия игры. Приведено описание расчетов баланса игровой экономики и механики. Описано поведение игрока в различных игровых ситуациях. Рассмотрены варианты вырожденных ситуаций. Выполнен эффективный подбор игрового баланса и механики для комфортной игры. Рассмотрены базовые характеристики вражеских юнитов и базовых башен. Рассмотрены варианты размеров игровых карт.

Ключевые слова: Tower Defense, игровой баланс tower Defense, логика расстановки башен Tower Defense, экономика Tower Defense, баланс юнитов Tower Defense, искусственный интеллект Tower Defense, Gameplay Tower Defense.

Актуальность. Игра жанра Tower Defense строится от процесса возведения защитных башен до грамотного управления денежными ресурсами — на балансе механики и экономики. Большинство начинающих разработчиков допускают ошибки на ранних этапах создания игры. Самые главные ошибки — это несоблюдение баланса игровой механики, затянутость игрового процесса, неправильные расчеты атаки башен и скорости движения противников, неверные подсчеты интервалов движения «волн». Также разработчики часто сталкиваются с проблемой «вырождения» — это ситуации, когда игрок попадает в тупик и заканчивает игру по причине ее непроходимости, которая возникает в связи техническими или логическими ошибками. В данной статье предложен расчет баланса основных элементов игры и способ обхода проблемы «вырождения».

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

UDC 004.032.6

DESCRIPTION OF THE MOBILE APPLICATION BALANCE AND MECHANICS OF THE TOWER DEFENSE

GENRE Gorovyh I.I., Yevich L. N. Don State Technical University, Rostov-on-Don, Russian Federation

vansk8@mail.ru BKLN@mail.ru

The paper considers the game balance of the Tower Defense application. The approaches to the calculations, the boundary conditions of the game are considered. The paper provides the description of the balance calculations of the game economy and mechanics. The behavior of the player in different game situations is described. The variants of degenerate situations are considered. The paper presents an effective selection of game balance and mechanics for a comfortable game. The basic characteristics of enemy units and base towers are considered. The article considers options for the size of game cards.

Keywords: Tower Defense, Tower Defense game balance, Tower Defense placement logic, Tower Defense economics, Tower Defense unit's balance, Tower Defense artificial intelligence.

\(Ш))

I \QQ/ *

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

Используемая терминология

1. Башня — тактический игровой элемент, устанавливаемый игроком. Она атакует вражеских юнитов. От расстановки башен зависит прохождение уровня и игры в целом.

2. База — главный защищаемый объект в игре, при разрушении его происходит завершение уровня (поражение).

3. Клетка — одна ячейка поля.

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

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

6. HP (ХП) — очки здоровья противников, расходуются при атаке башнями.

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

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

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

2. Игрок должен совершать определенные действия для успешного завершения уровня. Сложность игры зависит от стратегических действий игрока — это принятие правильных решений в определенные моменты. Бездействие в определенных игровых ситуациях также может оказаться верным решением.

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

В настоящей работе рассмотрена механика игры на поле размером 18*9 клеток без скроллинга. Благодаря такому решению gameplay игры из «построй как можно больше башен на карте» переходит в грамотное строительство N-го количества башен.

Базовая башня и базовый противник. Исходя из размеров выбранной игровой карты (18*9), на начальной стадии игры длина пути противника при малозаполненном поле от точки его появления до продвижения к базе должна быть в среднем 18-20 клеток. За это время игрок успевает отреагировать и совершить тактические действия в игре. Данный выбор описан в [1].

Примем скорость противника за 0,7 клеток в секунду. При такой скорости юнит динамично смотрится, и игрок успевает реагировать на gameplay игры. Скорость с похожим интервалом времени используется в игре «Plant's vs Zombie» [2].

Для удобства расчетов возьмем урон башни на первом уровне за 5 единиц и скорость атаки — 2 выстрела в секунду. Для того чтобы определить HP противника, необходимо выполнить

\(Ш))

следующее условие: 4 клетки ^ 0,7 клетки = 5,7 секунды. За этот промежуток времени башня произведет 10 выстрелов. Получается, что НР юнита не должно превышать 5*5*2= 50 НР.

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

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

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

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

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

Баланс экономики и волн в игре. Баланса экономики и «волн» в игре можно достигнуть, придерживаясь следующих рекомендаций:

1. Игроку необходимо строить башни через каждые 1-2 волны. Если игрок не нуждается в строительстве башен в течении 3-4 волн — баланс плохой, динамика игры идет на спад, игрок быстро теряет интерес. Это описано в [3].

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

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

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

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

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

Рассмотрим базового противника и базовую башню. При фиксированном радиусе атаки базовой башни, одного базового противника могут атаковать одновременно 4 башни. Обоснование прописано в [4].

Исходя из выбранных размеров карты и скорости движения противников, возьмем следующие параметры башен. Скорость атаки башни — 2 выстрела в секунду, урон — 5 НР за выстрел, НР противника — 50 единиц. Получается, что базовый противник выдерживает 10 попаданий.

г(шУ

Одновременно волну противников может атаковать N количество башен. От количества противников зависит количество башен. Если длина волны противников увеличивается на одну клетку, то количество одновременно атакующих башен увеличивается на одну. Длина волны противников рассчитывается по следующей формуле: N X № X V, где N — число , № — интервал времени между появлениями противников, V — скорость противника.

Примем интервал времени перед появлением следующего противника за 0,5 секунд. Это наименьший интервал времени. Если увеличить интервал времени, то сложно будет различить противников между собой, они будут сливаться в одну фигуру), V = 0,7 - .

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

Получаем неравенство: (4 + N X № X р) X К X N X к , где: к — стойкость противника

(количество ударов, которые он может выдержать); Ь — длина пути противников под атакой; К — количество выстрелов башни в секунду; V — скорость противников; N — количество противников. Значения переменных:

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

Расчет баланса первых волн противников. Рассмотрим следующую игровую ситуацию: в начале игры игроку хватает средств на постройку двух башен. Длина пути под обстрелом противников одновременно двумя башнями будет 4 клетки (радиус атаки башни 4 клетки), а общая длина пути под обстрелом будет 4+4 = 8 клеток. Вычислим количество противников в первой волне по следующей формуле:

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

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

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

Игроку теоретически выделено 162 места для застройки башнями (18 X 9 = 162)

К = 2; V = 0,7; М = 0,5; к = 10.

В итоге получаем промежуточный результат:

Ь X (4 + 2 X N * йг) > 10 X Ы; (12 + N)X Ь> 10 X N.

(12+ N)X4 > 10 X N, при йг = 0,5с 48 > 4^, N < 10

\(Ш))

i \QQ/ *

Точка выхода противника находится напротив точки базы игрока. Все противники выходят из одной точки.

При реализации «дорожки» (игрок выстраивает траекторию движения противников путем выстраивания башен, в связи с чем противники обходят преграду перед ними, чтобы продолжать двигаться к базе) противники находятся длительное время под обстрелом. В данном случае длина «дорожки» будет порядка 50 клеток. Чтобы заставить противников двигаться по «дорожке», игроку необходимо построить минимум 32 башни. Если длина пути противника будет 45 клеток, то его путь к базе составит 45 — 0,7 = 64 секунды. Путь всей волны займет около 1 минуты и 15 секунд. В среднем волна противников будет занимать порядка 45 секунд, значит время прохождения одного уровня при 10 волнах составит около 5 минут на высоком уровне сложности. Для разнообразного геймплея будет достаточно и 5-7 волн.

Рассчитаем, при каких параметрах противники смогут дойти до базы игрока. Пример описан в [5].

(12 + N) х 45 > h х N.

Количество HP противников, чтобы они дошли до базы игрока, должно быть не менее 45 х 5 = 225, а это в 4,5 раза больше, чем HP стандартного юнита. Он должен выдержать 45 снарядов стандартной башни.

(12 + N) х 45 > h х N 540 + 45N > h х N

При h=55 получаем:

540 > 10 х N, N < 54

При 54 противниках в 1 волне башни не смогут их всех уничтожить прежде, чем они разрушат базу игрока.

Для удобства расчета экономической составляющей игры возьмем стоимость базовой башни 80 монет. Можно вычислить количество денег, необходимое для строительства «дорожки» (необходимо 32 башни).

80 х 32 = 2560 монет

Заключение. Таким образом, в данной работе определены граничные условия игры. Рассчитан баланс игровых башен, рассмотрены баланс волн и экономики игры. Определены варианты «вырождения» (безвыходной) ситуации для игрока и найдено их решение. Выполнен расчет количества вражеских юнитов в 1 «волне». Выполнен расчет характеристик вражеских юнитов.

Библиографический список

1. Создание игры Tower Defense в Unity: враги / Навг — Режим доступа : https://habr.com/ru/post/452756/ (дата обращения : 10.05.2019).

2. Plant's vs Zombie / Fandom. — Режим доступа : https://plantsvszombies. fandom.com/ru/wiki/Plants_vs._Zombies/ (дата обращения : 11.05.2019).

3. TowerDefence #11. Вражеские волны / Игролог. — Режим доступа : http://www.ant-karlov.ru/TowerDefence11-vrazheskie-volni.html (дата обращения: 13.05.2019).

4. Цель расчета в Tower Defense / Qaru.site. — Режим доступа: http://qaru.site /questions/1372644/aiming-calculation-at-tower-defense (дата обращения : 11.05.2019).

5. Использование AI и утилит при разработке игр жанра Tower Defense / Dtf.ru. — Режим доступа : http://www.dailytelefrag.com/artides/read.php?id=72597/ (дата обращения : 16.05.2019).

i Надоели баннеры? Вы всегда можете отключить рекламу.