February 13

Спектральные итоги 2025

Что-то я затянул, а?

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

Это по сути основная причина, почему я не уже не особо активен на Патреоне или Бусти. Когда Дота была моей основной "работой для души", было достаточно времени, чтобы следить за сценой, сидеть в чатах, постоянно обновлять проекты, ещё и заниматься датамайнингом между делом. Сейчас времени не так много, чтобы даже за сценой следить, и, увы, стало тяжеловато поспевать за чатами-блогами-платформами и т.д. Раньше у меня были планы регулярно делать видео, может записывать влоги, но теперь даже о чём писать не особо есть, не то что энергии на это. (пока писал, понял, что даже не всё на сайте на последний патч успел обновить хаха)

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

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

UPD: пока я писал этот пост, я отвлёкся на другие дела, потом начал откладывать дописывание, и вот уже прошёл месяц.

English version

Что было сделано

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

Из каких-то ивентов в этом году были сезоны PGL Wallachia с 3 по 6 и The International 2025. В целом неплохо и, если всё пойдёт по плану, в этом году получится ещё больше. Впрочем, пока загадывать сложно.

Ну и конечно же были наши комьюнити ивенты: люди из нашего уютного спектрального чата активно играли на Спектральных Клозах и даже организовали LAN ивент. А отчёты по клозам продолжили свою роль тестовой площадки экспериментальных фич для хаба отчётов

Крупнейшим релизом в этом году стал Dota Rewind. Этот проект был у меня в планах уже достаточно долгое время, но всё никак не доходили руки. В последние месяцы я засел за проработку концепта, а в декабре засел за активную разработку, чтобы успеть всё к рождеству.

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

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

Вместе с этим произошли и небольшие оптимизации бэкенда

  • ренормализация стартовых предметов и общей статистики предметов
  • обновлён WebAPI хаба отчётов для более удобной поддержки и автоматической документации (и swagger'ом) — пока эти изменения не в публичном доступе (в отдельной ветке, которая не была обновлена), но думаю по ходу недели-другой уже выкачу и обновлю документацию
  • оптимизации внутренней аналитики
  • улучшения рендеринга текста, суб-секций, пользовательских блогов и прочих приколов в SampleText (по большей части всё во внутреннем тестировании и внутренней документации, но в планах распространить это на блоги и прочие разделы
    • а ещё с момента, как я начал этот пост писать, в SampleText также обновились процессинг выражений шаблонизатора, параметры шаблонизатора, препроцессинг для страниц и ряд расширений для поддержки форм и галереи. Эти изменения также находятся в отдельной ветке и не скоро будут использованы в публичной части сайта, но всё же!

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

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

Среди прочих экспериментальных фич, вышедших к TI2025, были MVP и Очки Исполнения (которые что-то вроде фентези поинтов, но не совсем).

...и режим просмотра серий, а также рекорды по сериям и стрикам.

Самая же любимая моя фича за этот год была "примерные таргет баны против игроков": по сути это предположение по косвенным признакам, как много банов были сделаны с рассчётом на конкретного игрока в команде, с последующим перерассчётом банов для раздела "Драфт" у игроков и команд. Выглядит прикольно и даёт некоторое понимание, как оппоненты видят конкретных игроков.

Самой же смешной частью года была ещё одна старая задумка, которую я тоже слишком долго откладывал, но которая была очень интересным лингвистическим челленжем (ещё одна моя страсть): перевод раздела на Эмодзи.

И на сладкое — в Guame (инструменте для команд и аналитиков) были улучшены фильтры и оптимизировано отслеживание матчей. А также были добавлены страницы с деталями для тренировочных матчей.

Планы на будущее

По большей части планы на 2025 переехали в 2026 без изменений

  • Скилл билды и поддержка Абилити Драфта — ну тут не так много работы осталось
  • Переписывание DBL и переработка движка отчётов — много муторной и монотонной работы, которой не очень хочется заниматься, но надеюсь за этот год разделаться
  • Мета Уровни, Тирлисты Героев — самые прикольные новые фичи, на которых на удивление нужно не так много времени и сил, если сравнивать со всем остальным
  • Раздел "Мета" — по сути упрощённая версия Lurker'а, только с очень "чистым" и упрощённым обзором меты
  • Страницы просмотра матчей — по большей части важно для "утерянных матчей", скримов или случаев, когда данные по матчу пришлось ре-парсить и собирать из разных источников (отчасти это же было реализовано в Guame)
  • Ранкинг Игроков и Команд — это одна из наиболее интересных идей и она была в моём чеклисте уже какое-то время, но мне немного страшно за неё браться
  • Архетипы Героев
  • GSI логгер и запись Live статистики

Чуть менее приоритетно

  • Статистика Turbo/Рекрутов — всё ещё кажется прикольной идеей, но надо полностью переработать сбор матчей
  • Replay Hunt — всё ещё работаю в этом направлении, но архитектурные моменты важнее
  • Парсер логов Artifact и хаб отчётов по Артифакту — всё ещё хочу сделать, но на это надо потратить какое-то время для изучения формата логов и их парсинга
  • Генератор Миникарты — весёлый сайд проект, тоже может дойдут руки заняться, а может и нет
  • Редизайн хаба отчётов — неизбежно придётся этим заняться со всеми переписываниями бэкенда
  • Витрина функционала — просто чтобы показать, что можно вообще сделать у меня на сайте и где это всё найти
  • Миграция сервера, защита от ботов, зеркало — это всё вылезло из приколов с Cloudflare, а также из-за блокировок и Cloudflare, и непосредственно серверов у моего провайдера в России. Это не такая прям БОЛЬШАЯ проблема, потому как все, кому надо, и так знают, как зайти на сайт, но всё равно некоторая головная боль во всём этом деле есть.

Забавные моменты из аналитики

Отчёт за этот год был несколько более чистым, чем в прошлом году. Хотя тут был эпизод, когда я чуть-чуть сломал инструмент сбора аналитики, но сама суть бага там почти не повлияла на данные. Впрочем, обнаружение ботов по ходу года пришлось подкручивать.

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

Забавно при этом, что самый большой естественный скачок случился вместе с релизом Dota Rewind.

Это заметно даже на графике запросов по проектам, где Rewind занял третье место, хотя вышел где-то за неделю до конца года.

Самыми популярными отчётами стали, ожидаемо, Тренды Титанов, TI2025, а также внезапно квалы ESL Bangkok и Dreamleague Season 25.

Самыми популярными героями были Tiny, Monkey King и Nature's Prophet в отчётах и Visage, Earthshaker и Queen of Pain в сборках.

Нета 33, Снейкинг и Крит стали самыми любимыми игроками в спектральных отчётах, с Яторо и Аме следом. Среди команд зато произошло много интересных сдвигов. Team Spirit заняли второе место по популярности, LGD просели, BB Team и Tundra залетели в топ-10, а EG/Shopify так и остаются в топ-3, даже после роспуска команды.

Ну и не самой неожиданной вещью стало резкое падение количества запросов из России: после того, как блокировки стали ещё жёстче, около 70% пользователей сообщали о проблемах с доступом. Впрочем, процент пользователей, использующих "ru" локаль особо не изменился, так что видимо все просто пересели за VPN.

Что более важно, 215 уникальных пользователей сидели с Emoji локалью (что 0.01% за год, но всё же!)

В качестве заключения

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

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

В конце концов, разве жизнь — не про наслаждение моментом и своими любимыми вещами?

Хорошего вам года, спектральные чюваки.