Original size 1140x1600

Исследование персонажей League of Legends

PROTECT STATUS: not protected
10

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

Сообщество игры League of Legends имеет некоторые теории, которые они строят насчёт персонажей, мне стало интересно, насколько же они правдивы?

big
Original size 1000x1200

Первая теория игроков, которую я хотел проверить — сложные персонажи должны меньше выигрывать, по сравнению с лёгкими

post

При проверке данной теории мне требовалось отображать статистику по каждому персонажу, чтобы продемонстрировать все краевые кейсы, которые могли бы возникнуть при анализе данных. Для этого мной было принято решение использовать scatterplot из библиотеки seaborn. При этом сама отрисовка каждого графика лежала на библиотеке pyplot, которая является частью matplotlib

Дополнительно мне показалось интересной идеей показать популярность персонажей всё в том же графике. Решение с размерами пришло от самих Riot Games — в одном из своих GDC Talkов они показали внешний вид своих схем со статистикой и мой вариант почти полностью совпадает с их датасетами.

На удивление — это не так! В основном частота побед зависит от популярности персонажа, а большая часть так и вообще лежит в пределах 48-52% побед, что является нормальным показателем

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

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

post

Для данного графика мне потребовалось посчитать максимальное значение характеристик, которые игрок может получить во время игры. Я предположил, что чем больше здоровья и защиты получит игрок, тем его защита будет больше, так что я просто сделал формулу, которая складывает все значения в их максимальных проявлениях (Максимальный уровень в игре — 18) и сделал график на основе этого параметра.

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

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

А если наоборот — выигрывают чаще те, кто наносит больше урона

С уроном же данное значение выражено сильнее — персонажи с более чем 140 ед. урона имеют стабильно высокую частоту побед

Третья теория игроков (или скорее заблуждение) состоит в том, что саппорты — типа Enchanter побеждают чаще, потому что они легче

post

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

Один и тот же персонаж может иметь сразу несколько тегов, например Fighter и Diver и для того, чтобы правильно посчитать их статистику мне потребовалось сначала использовать метод Explode, а уже потом привязать популярность от персонажей к полученным тегам

Однако, это не так! Хоть Enchanter и является вторым по популярности типом в игре, его частота побед не настолько высока

Original size 1400x800

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

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

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

Ну и напоследок некоторые интересные факты о персонажах!

post

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

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

Все данные, которые были мной получены в данном исследовании, помогут мне не только в том, чтобы начать больше выигрывать, но и так же могут пригодиться при создании персонажей для League of Legends.

Использованные ресурсы: Нейросеть Qwen.AI, модель Qwen2.5-Coder-32B-Instruct: https://chat.qwen.ai — для решения ошибок и консультации по поводу возможностей тех или иных библиотек

Исследование персонажей League of Legends
10
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more