Original size 1140x1600

Исследование персонажей Clash Royale

PROTECT STATUS: not protected

Универсальный ключ к победе, как запретный плод — очень хочется его съесть, но заполучить очень трудно.

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

post

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

Первостепенной задачей было узнать топ карт по разным характеристикам

post

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

Для оптимизации анализа были созданы новые метрики, такие как: • эффективность здоровья (HP/эликсир) • эффективность урона (DPS/эликсир) • охват (для массовых карт)

big
Original size 1292x990

Визуализация анализа карт Clash Royale по отношению показателя Hitpoint к Cost

big
Original size 1292x990

Визуализация анализа карт Clash Royale по отношению показателя Damage к Cost

Второй задачей было вывести формулы расчета лучшей карты по нескольким показателям

post

Было принято решение вывести первую формулу из базовых показателей: DPS (урон в секунду), HP (здоровье), Cost (количество эликсира).

Сама формулы выглядит так: Score1 = 0,6 × (DPS × Count / Cost) + 0,4 × (HP × Count / Cost)

60% было выделено урону, так как игре атака более выгодна, чем защита (здоровье 40%).

Главной задачей было вывести объективный список самых экономически выгодных инструментов для победы.

Original size 2389x1389

Визуализация результатов вычислений эффективности карт по первой формуле

post

Универсальность карты так же один из важнейших показателей. Именно его рассчитывает вторая формула. Для сравнения таких разных аспектов как: Cost, DPS, HP и Range; было необходимо свести все переменные к одной системе. С помощью нормализации каждому параметру был присвоен определенный вес (дальность — 1.1 / здоровье — 1.2 / урон — 1.3 / стоимость — 1.4). Так как идеальная универсальная карта — это прежде всего недорогая, при этом наносящая хороший урон, достаточно живучая и, по возможности, имеющая приличную дальность.

Формула 2 — среднее нормализованных значений: Score2 = (1.4×Cost_norm + 1,3×DPS_norm + 1,2×HP_norm + 1,1×Range_norm) / (1.4+1.3+1.2+1.1)

Original size 2389x1389

Визуализация результатов вычислений универсальности карт по второй формуле

post

Цель третьей формулы — создать итоговый, нормализованный рейтинг, который объединяет два разных подхода к оценке карты:

Final_Score = 0,5 × Score1_norm + 0,5 × Score2_norm

Здесь также используется нормализация в безразмерную шкалу от 0 до 1 для приведения значений к общему масштабу:

• Score1_norm = Score1 / max (Score1) • Score2_norm = Score2 / max (Score2)

0

Визуализация результатов вычислений комплексной оценки карт по третьей формуле

Третьей по счету была задача понять, как дела обстоят на самом деле:

Какие колоды сейчас популярнее и выигрышнее сейчас в комьюнити?

post

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

Соответствуют ли самые популярные карты самым эффективным? Или побеждают вопреки точному расчету?

Из топ-10 карт в теории и на практике есть только один герой — это Mini P.E.K.K.A.

Скорее всего это обусловлено соотношением урона к эликсиру, так как эта карта стоит всего 4, а сносит противнику целых 755 единиц здоровья.

Original size 1589x990

Визуализация карт Clash Royale по показателю Usage (данные актуальны на период с 15.12 по 21.12)

post

По проценту побед определенной карты совпадений еще меньше — только Golem встречается в топ-20 на обоих графиках.

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

Original size 1086x790

Визуализация карт Clash Royale по показателю Win (данные актуальны на период с 15.12 по 21.12)

Так какая же карта лучше?

post

Финальная оценка объединяет теорию и практику.

Final_Score = 0,35×Score1 + 0,35×Score2 + 0,20×Win_Rate + 0,10×Usage_Rate

• Score1 — базовая эффективность (урон + здоровье) • Score2 — универсальность (баланс характеристик) • Win_Rate — процент побед (нормализованный) • Usage_Rate — частота использования (нормализованная)

Валидация через Win/Usage Rate проверяет теоретических лидеров на прочность в реальных боях и актуальность в мете.

Original size 1435x990

Визуализация результатов вычисления лучшей карты по всем показателям

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

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

• Бюджет цикла: средняя стоимость колоды должна быть ≤ 4.5 эликсира для поддержания приемлемой скорости игры.

• Распределение стоимости: колода должна содержать карты разной стоимости (1-2 дешёвые, 3-4 средние, 1-2 дорогие) для гибкости.

• Минимизация пересечений: разные стратегические колоды должны иметь не более 4 общих карт, чтобы предлагать действительно различные игровые стили.

Предложенная алгоритмом колода — Вариант 1

Предложенная алгоритмом колода — Вариант 2

Предложенная алгоритмом колода — Вариант 3

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

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

Анализ существующих колод

Мне стало интересно, можно ли оценить по этому алгоритму существующие и весьма успешные колоды.

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

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

Анализ моей основной колоды

Среди представленных трех существующих колод, «Хог 2.6» — самое удачное сочетание, в основном из-за отличной стоимости (что является ее ключевым преимуществом), отличной атаки, сбалансированности и популярности (чего у нее точно не отнять).

Анализ популярной колоды «Хог 2.6»

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

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

Анализ популярной колоды «Лава-шар»

Сравнение

Мне стало интересно узнать, кто же победит в теории и на практике.

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

Победитель определялся на основе 6 метрик: • Средняя стоимость колоды (меньше = лучше) • Общий урон в секунду (больше = лучше) • Общее здоровье (больше = лучше) • Средний рейтинг карт (больше = лучше) • Средний процент побед (больше = лучше) • Финальная оценка (больше = лучше)

В индивидуальном теоретическом поединке победила дружба, лучшие колоды с разных сторон оказались равны, заработав по 3 победы и 2 ничьи.

А вот в групповом зачете классические колоды оказались сильнее, за счет того, что «Лава-Шар» оказалась на 2 победы впереди Защитной колоды.

Матрица сравнений алгоритмичных и классических колод

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

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

Ресурсы

В ходе работы в основном мною были использованы следующие библиотеки:

• Pandas — загрузка, очистка и анализ табличных данных (чтение Excel-файлов, работа с DataFrame)

• NumPy — математические операции и работа с массивами (создание массивов для графиков, статистические вычисления, работа с матрицами)

• Matplotlib Pyplot — построение всех типов графиков (scatter plots, bar charts, heatmaps, настройка графиков)

Использованные ресурсы: Нейросеть deepseek: https://chat.deepseek.com/ — для консультации по синтаксису некоторых библиотек и помощи в нахождении ошибок.