Исходный размер 1024x1536

Анализ данных бестиария ДнД

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

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

На сайте Kaggle я наткнулся на датасет с базой данных всех монстров ДнД. Эта таблица стала настоящим открытием для меня. Ведь при помощи аналитики через библиотеку pandas я смогу оптимизировать время, затрачиваемое на подбор противников более, чем в 7 раз. А совбодное время я использую для улучшения сценария.

фото-репортаж с моих игр по ДнД

Подготовка к анализу

В коде использованы библиотека pandas для работы с csv-файлом, matplotlib.pyplot для основной визуализации данных, NumPy для работы с многомерными массивами.

big
Исходный размер 662x177

Подготовка к работе

Работа с данными

Первостепенно мне нужно было понять с какими данными я могу работать. Какие в приведенном датасете существуют характеристики.

Для этого отобразил названия всех столбцов по порядку.

Исходный размер 703x678

Как сказал Айн Рэнд: «Нельзя приготовить омлет, не разбив яйца».

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

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

Ошибка говорит, что в столбце cr есть не числовые значения (например, текст типа «1/8» или «½» вместо чисел). Если все оставить итменно так, то я лишусь основного показателя для систематизации и классификации данных. Так оставлять это нельзя.

0

Код с ошибкой / Исправление ошибки

Для того, чтобы использовать значения столбца cr я перевел все значения из него в числа.

Описание применения генеративной модели

В качестве дополнитлеьного инструментария для синтаксиса и разбора ошибок в коде я использовал DeepSeek и ChatGPT.

0

1-2 примеры промтов в chat GPT, 3-4 примеры промтов в deepseek

Визуализация

Зависимость уровня опасности противников от их здоровья и брони

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

0

График разбрсоа ХП

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

0

Разброс класса брони

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

0

Красивый двойной график с усредненными данными по здоровью и броне

Противники с уровнем опасности 1

Исходный размер 1400x1028

Визуализация данных обо всех противниках с уровнем сложности 1

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

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

0

Код для чтения данных о противниках с уровнем сложности 1

Создание групп противников

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

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

0

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

Теперь я хочу пойти дальше и создать Дешборд сразу с несколькими группами.

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

Статистика по размерам противников

Для подбора протвинков мне необходимо узнать статистическую редкость того или иного размера существ.

Дигарама виззуализирующая статистику распостранения разных размеров противников

0

Синтаксис диаграмы размеров

Выбор босса

Теперь, когда с обычными противниками определились, время выбрать босса.

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

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

Синтаксис легендарных противников с самым низким уровнем сложности

Исходный размер 1300x600

Визуализация слабейших легендарных противников

Вот и все! Благодаря аналиизу датасета у меня есть готовые группы противников, подходящих по здоровью, броне и уровню опасности для столкновения с моими игроками. А также я выбрал босса Единорога.

Итог

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

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

Анализ данных бестиария ДнД
Проект создан 05.02.2026
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше