Исходный размер 1140x1600

Анализ популярности персонажей в D&D

PROTECT STATUS: not protected

Описание проекта

Dungeons & Dragons - настольно-ролевая игра в жанре фэнтези, с каждым годом лишь набирающая популярность. Механика игры во многом полагается на различные вычисления. Успех того или иного действия зависит от броска дайсов + характеристик персонажа + бонусов умений.

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

Выбранные данные и их источник

Для поиска необходимых датасетов я использовала два репозитория данных — kaggle.com и github.com, где нашла два подходящих датасета, основанных на данных с сайта DnD Beyond.

Оба датасета включают в себя основные характеристики для создания персонажа: Раса (Race), Класс (Class), Архетип (Archetype) или Подкласс (Subclass), Уровень (Level), Характеристики (Strength, Dexterity, Constitution, Intelligence, Wisdom, Charisma), Предыстория (Background), Мировоззрение (Alignment). Я остановилась на датасете dnddata, включающем в себя данные об около 8000 персонажах.

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

  • Какие расы и классы самые популярные? Какие из них идеально сочетаются друг с другом?
  • Любят ли игроки необычные комбинации или придерживаются классики (например, человек-воин)?
  • Как выбирают характеристики: для лучшего результата (min-maxing) или для лучшего отыгрыша?

Для визуализации полученных данных я использовала следующие графики:

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

Стилизация

«Книга игрока» и «Руководство мастера»

Визуальный стиль основан на оформлении официальных книг по Dungeons & Dragons. Светлый фон, напоминающий пергамент, темно-красные заголовки, светло-зеленый в таблицах:

bg_color = '#F5E9D6' bar_color = '#C6D09E' title_color = '#8B0000' text_color = '#2E2F27'

0

Страницы из «Player’s Handbook»

Также, для каждого из 12 основных классов я задала индивидуальный цвет:

class_palette = { 'Barbarian': '#E7623E', 'Bard': '#AB6DAC', 'Cleric': '#91A1B2', 'Druid': '#7A853B', 'Fighter': '#7F513E', 'Monk': '#51A5C5', 'Paladin': '#859E54', 'Ranger': '#507F62', 'Rogue': '#555752', 'Sorcerer': '#8C2B2B', 'Warlock': '#834EA6', 'Wizard': '#2A50A1', }

Исходный размер 1652x1244

Этапы работы

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

import pandas as pd import numpy as np import matplotlib.pyplot as plt

df = pd.read_csv('dnd_characters.csv', sep=',')

bg_color = '#F5E9D6' bar_color = '#C6D09E' title_color = '#8B0000' text_color = '#2E2F27'

df['race'] = df['race'].fillna('Unknown') df['justClass'] = df['justClass'].fillna('Unknown')

Исходный размер 852x413

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

0

Столбчатая диаграмма показывает частотное распределение. Люди (Human) доминируют, в том числе за счет их универсальности в сеттингах. Второе место занимают Эльфы (Half-Elf, Wood Elf), а третье - Драконорожденные (Dragonborn), чего я не ожидала.

0

Плуты (Rogue) и Воины (Fighter) являются наиболее распространенными, что говорит о популярности маневренных и боевых архетипов.

0

На этом графике наглядно показан отрыв топ-3 классов Воина, Плута и Жреца. Остальные же классы распределены примерно одинаково, наименее популярный - Колдун (Warlock). Результаты этого графика меня немного удивили: я думала, что Волшебник (Wizard) будет популярнее Жреца (Chleric), но он делит одно место со Следопытом (Ranger), которого я считала одним из наименее популярных классов.

0

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

Исходный размер 1522x1154

Этот график объясняет базовые архетипы классов. Он показывает, что основная характеристика Плута (Rogue) - Ловкость, в то время как Паладин (Paladin) заточен под Силу. В целом, нет ярко выраженного мин-максерства (mix-maxing), при котором прокачивают только ключевые характеристики, минимизируя или игнорируя менее значимые, что ведет к дисбалансу.

0

Дополнительно: вывод статистики

print(f"Всего персонажей: {len(df)}") print(f"Уникальных рас: {df['race'].nunique()}") print(f"Уникальных классов: {df['primary_class'].nunique()}") print(f"Самые популярные расы: {', '.join(race_counts.head(5).index.tolist())}") print(f"Самые популярные классы: {', '.join(class_counts.head(5).index.tolist())}")

Всего персонажей: 10894 Уникальных рас: 320 Уникальных классов: 20 Самые популярные расы: Human, Half-Elf, Wood Elf, Dragonborn, Tiefling Самые популярные классы: Fighter, Rogue, Cleric, Barbarian, Paladin

Вывод

  • Соотношение популярности классов соответствует классическим архетипам фэнтези
  • Высокий процент выбора расы людей отражает их гибкость в создании персонажа
  • Стереотипные комбинации: Человек-Воин подтверждает традиционные архетипы
  • Между выбором расы и класса есть взаимосвязь: некоторые комбинации идеально дополняют друг друга

Используемые статистические методы

  • Визуализация распределения: тепловая карта, столбчатая диаграмма, круговая диаграмма, радарная диаграмма.

  • Частотный анализ: подсчет количества персонажей по расам и классам

  • Процентное распределение: доля каждого класса от общего числа персонажей

  • Процентное соотношение: анализ доли каждого элемента в общей выборке

  • Ранжирование: определение топ-N элементов по популярности

Анализ популярности персонажей в D&D
Проект создан 16.01.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше