January 14

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

Нормальный такой годик вышел, да?

Вышло интересное приключение, мягко говоря. Я не очень хочу говорить о планах, которые я себе ставил год назад, но это не значит, что никакой работы не было проделано. Главной проблемой стала моя работа с Tundra Esports на протяжении 2023, из-за чего пришлось сильно поменять приоритеты и планы. Конечно, большая часть штук, над которыми я планировал работать, всё равно получила какие-то улучшения, но скорость разработки была сильно ниже.

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

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

А в этом блог посте я хочу взглянуть назад на 2023 и рассказать вам

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

Ну-с…

English version

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

Во-первых, почти весь год я был частью ростера Tundra Esports по доте в качестве аналитика. Это было классным опытом, хоть и не совсем тем, что я ожидал. Но что более важно — это была отличная возможность опробовать на деле всякие крутые штуки и инструменты, которые у меня есть.

Другим важным событием этого года была работа на The International 2023. Всё пошло немного не по плану, потому что моя работа с Tundra привела к конфликту интересов. Обычно о подобных вещах будто вообще не говорят публично, но мне это показалось важным прецедентом, потому что сама ситуация произошла в первую очередь потому, что не было информации о подобных прецедентах раньше. И с ростом сцены аналитиков в Доте кто-то может наступить на эти грабли, так что я решил сразу сделать из своей истории предостережение: даже если это не даст никакого преимущества команде, так нельзя и надо будет выбрать что-то одно (либо работу с командой, либо работу в качестве таланта).

Впрочем, до Сиэтла я всё равно добрался (что само по себе то ещё чудо!) и в итоге отпечатал свой вклад в ткани ивента. А ещё встретил кучу классных людей, так как это в принципе был мой первый инт (вернее первый, на который я смог доехать), на котором были настоящие зрители.

А ещё было несколько секретных коллабов до и после инта (не все связаны с турниром). Что-то из этого может ещё всплывёт по ходу 2024, но в целом никаких деталей пока дать не могу.

Клёвой активностью на стороне под конец года стала помощь с организацией небольших коммьюнити ивентов и турниров: gunina_ok scrims, gunina_ok cup и т.д. Это вообще было прикольным опытом (ещё и делали мы это всё с профессионалами, работающими в сфере), а в качестве бонуса — отчёты по таким ивентам стали площадкой для тестирования новых фич.

Обычно я ещё выпускаю «обзор статистики» за соревновательный год, но в этот раз я практически всё время с TI12 провёл в кроватке: то отдыхал и восстанавливал силы после мероприятия, а потом приболел. Так что я немного упустил тайминг для такого поста. Впрочем, общие отчёты по соревновательному 2023 году публично доступны у меня на сайте.

Прочие (крутые) штуки

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

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

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

Есть ещё несколько комьюнити лиг, которые я бы хотел добавить, но у меня не было времени ими полноценно заняться: старые сезоны RD2L, AD2L, LD2L. И со временем становится сложнее уследить за всеми новыми сезонами этих лиг, когда они начинаются и заканчиваются. Но это проблема для будущего меня.

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

Ну и к слову: если вы организуете подобные комьюнити ивенты и любительские лиги и хотели бы, чтобы у вас тоже были свои отчёты (или может у вас есть проблемы с тикетом в игре) — можете написать мне в дискорде и мы разберёмся, что да как.

Ещё одна штука, которую я хотел сделать уже какое-то время — рейтинговые отчёты по топ-X игрокам. Вообще они должны быть чем-то вроде отчётов по 7k+/8k+/9k+ MMR, но после того, как матч закончился, практически невозможно найти средний MMR в игре (по крайней мере гарантированно), так что я просто взял топ игроков из таблицы лидеров по рейтингу. Технически эти отчёты берут топ-50%/20%/10% игроков, а не какое-то конкретное количество игроков (потому что в разных регионах разное количество игроков в топе), исключением стали только отчёты по топ-100.

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

Но мой план на будущее — дать возможность изучать эти отчёты через Lurker. В моих базах данных есть достаточно много данных, но полный доступ к ним есть только у меня, а в отчётах есть разве что 10% от всех крутых штук. Lurker (ранее известный как IMMAPI) по задумке должен дать возможность «закопаться» в эти отчёты, изучать матчапы, искать матчи под свои критерии и всё такое. И раз уж у меня есть хай-ранг отчёты, я бы сместил фокус на них в луркере.

А ещё бонусом стали две новые (приватные) базы данных — рейтинговые игры за год и база данных для прототипа со статистикой вардинга (с данными за последний месяц).

Ещё одной крутой штукой стало «оживление» интерактивной карты (оригинал которой разработан Devilesk) и обновление её до последних версий Доты (наверное надо бы обновить карту до 7.35, но мне пока лениво не до того). Это не что-то прям крутое само по себе изначально (мне просто надо было разобраться, как карта работает и написать для себя заметки/документацию), но потом начались проблемы с обновлением 7.33, которое потребовало закопаться в код сильно глубже, а заодно обновить всё под новые размеры карты (включая кастомку, собирающую данные карты, и SFM проект для рендеринга карты) и располагается на своих местах.

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

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

Прочие (мелкие) изменения:

Скилл билды и стартовые предметы (ещё не релизнул)

  • пофиксил некоторые проблемы с алгоритмами, сделал чтобы обработка скилл билдов работала более-менее корректно для абилити драфта и старых матчей
  • добавил статистику расходников
  • ранние прототипы (для стартовых предметов и расходников)

Добавил самые высокие средние и рекорды в профили игроков/героев/команд

Раздел с коллабами на основном сайте

Улучшенная сортировка на страницах и улучшенный поиск

Улучшения графов игроков, портреты игроков на узлах

Улучшения рендеринга в разделе с билдами

  • а ещё фундамент для добавления сторонних билдов и раздел с последними обновлёнными сборками

Серверные приколы

Новая нода для разработки

Логгер данных для аналитики сайта, чтобы избавиться от Google Analytics и сделать более подходящий для моих нужд мониторинг (в том числе для отслеживания злонамеренного спама запросов к API и атак ботов)

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

Инструмент для объединения статистики предметов в отчётах

  • Используется для Топ-X отчётов за патч — я делаю снепшоты данных раз в неделю и объединяю их, удаляя при этом данные по предметам из основных отчётов по патчу, чтобы сэкономить место на диске

Live превьюшки для вардов/смоков (пока что используется только в Guame)

Ряд фиксов в парсерах данных матчей и лога битвы

  • фиксы, связанные с «обрезанием» стадии драфтов в реплеях
  • исправления подсчёта лечения, полученного урона и т.д.

Прототипы

MVP Матча

  • наверное скоро добавлю в основные отчёты
  • основана на сильно изменённой версии фентези системы в компендиумах
  • это не должно быть прям «100% абсолютно точно MVP истина в последней инстанции» метрикой, а скорее просто забавная штука для веселья (или для использования во время сторонних турниров, например)

Рейтинговые варды

  • Не знаю, когда (и буду ли вообще) выкачу в основные отчёты, пока что думаю, как это добро адаптировать

Скилл билды, стартовые предметы, расходники

  • Пока что существует как консольный инструмент и в виде «шпаргалок» для команд

Инструменты для сравнения отчётов

  • Пока что использую только для инфографик, но думаю со временем превратить это в полноценную фичу

«Детектор» смурфов

  • Технически это не прям детектор, а скорее простой скрипт для поиска потенциальных смурфов для отдельно взятого игрока в базе данных со статистикой за год
  • Может быть использован только с моими отчётами
  • Работает достаточно хорошо, чтобы получилось достоверно идентифицировать смурфы некоторых про игроков ближе к концу DPC сезона (ну и заодно удостовериться, что какие-то из известных смурф аккаунтов не принадлежат тем игрокам, которым их приписывают)
  • Пока что существует только как консольное приложение, и вряд ли будет где-то использоваться на сайте (не думаю, что я и сам-то буду в будущем этой тулзой пользоваться, лол)

Guame

  • Quality of life улучшения: порядок, навигация и цвета тегов, улучшения разметки для драфтов
  • Улучшен парсинг и запись скримов
  • Добавлен поиск по всем разделам, улучшена навигация, удалена боковая панель, которая использовалась для навигации по командам
  • Live превью для позиций вардов и смоков
  • Импорт lrgcache

Аналитика по сайту

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

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

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

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

Самый популярный проект был, конечно же, хаб статистики (LRG2-main), следом за ним раздел со сборками (NerdsBuilds-main). Занятно, что самой посещаемой страницей на сайте оказался список сборок. Остальные проекты отхватили только небольшой процент запросов.

Самой популярной сборкой на сайте в этом году был мой гайд на Спектру (аввв, как мило), после него сразу же начинается большая пачка сгенерированных по статистике сборок. В целом большая часть сборок для более-менее традиционных плейстайлов находится в ренже 0.5-1%, и не очень далеко находятся друг от друга.

О чём я не задумывался (но что было достаточно ожидаемо в принципе) — что много запросов будут идти от людей, кто вручную вводит URL интересующих их сборок. Это в принципе не удивительно, потому что составить такой URL достаточно легко (просто дописать к домену что-то типа «stats_antimage_safelane» или типа того), и заметил я такие запросы только из-за огроменного блока сборок с опечатками в аналитике.

С отчётами распределение более явное. Самым популярным отчётом (7.64%) был «Тренды Титанов: Последняя Неделя», следом за ним идёт пачка отчётов по патчам, Competitive Premium 2023 (статистика за все DPC турниры) и The International 2023. Самым популярным отчётом, не являющимся частью группы DPC или рейтинговых, стал Riyadh Masters 2023 (0.95%, что при этом всё равно меньше, чем у последнего мейджора, как ни странно) и DreamLeague S20 (0.45%, что забавно, потому что S21 находится сильно ниже в списке). Хотя отчёт The International All-Time был достаточно близко (0.43%).

Самыми популярными любительскими турнирами были RD2L Season 30 (0.30%), следом RD2L Season 20, Gunina_ok Cup Season 1 (наш ивент!) и Midwest Dota 2 League с одинаковым процентом запросов (0.22%). Ближайшим следующим отчётом в этой категории был последний сезон The League of Lads (0.20%).

Ещё одна интересная штука: люди в целом предпочитают общие «Тренды Титанов» альтернативным версиям по топ-X. Сравнивая все версии отчётов по Титанам за последнюю неделю (это самые популярные отчёты по Титанам в любом случае), Топ-2500 мета на втором месте (0.66%), следом идёт Топ-100 мета (0.53%), Топ-500 мета (0.43%), и Топ-1000 мета (0.39%) замыкает список.

Последняя штука, на которую стоит обратить внимание — отчёты по соревновательной мете. Competitive Tier 1 2023 и Pre-TI12 оба делят достаточно маленькую долю в 0.15%, и Pre-TI12 Ranked близко к ним на 0.12%. В целом это можно связать с маленьким временным промежутком по востребованности этих отчётов. Эту теорию ещё надо бы проверить, но в целом это будто бы имеет смысл — сводная статистика по сезону и пре-TI статистика будет интересна только непосредственно перед интом, когда всем интересно, что ставить в предсказаниях компендиума и кто там на каких героях играет.

К слову о героях (и, кажется, я сломал показатели в этом разделе, лол, но они вроде бы просто в 10 раз меньше, чем должны быть), самым популярным героем в отчётах стал, как ни странно, Абаддон. Потому что, ну, герой был сильным достаточно долгое время, а ещё он по алфавиту идёт первым, так что и его профиль открывается первым в разделе. Следом за ним идут Nature’s Prophet, Alchemist, Spirit Breaker и Kunkka — все были достаточно сильными с выхода 7.33 и по сути до конца года (да даже сейчас держатся).

Список самых популярных игроков тоже не особо удивил. Впрочем, в топе стало меньше игроков из Южной Америки, чем в прошлом году. Также немного удивительно увидеть 33 в качестве топ-6 по популярности — настоящая звезда!

Смотреть на список команд в этом плане чуть более интересное занятие, хоть по сути это в первую очередь показывает, какие команды лучше справились с медиа составляющей (или дали больше креативной свободы своим медиа менеджерам). LGD и Team Liquid, ожидаемо, возглавляют список: LGD — одна из самых любимых и сильнейших команд, а у Liquid всегда был лучший киберспортивный контент и огромное сообщество фанатов. Следом за этими двумя титанами идёт Shopify (ex Evil Geniuses), и про них ничего не могу сказать, потому что не следил, но уже наличие Arteezy в команде может объяснить расположение в топе.

Team Spirit, Gaimin, OG и Secret также проделали офигенную работу в плане контента в 2023. Видеть 9Pandas (ex HellRaisers) в топе списка немного удивительно, потому что от них я не видел особо сильного присутствия в медиа, но это тот случай, когда «звёздный состав» и достойные результаты сами привлекают внимание.

Также не видны на скриншоте, но идут сразу после 9Pandas — Team Aster (1%) и Tundra (0.92%).

Распределение запросов по странам в этом году было… любопытным. Проценты пользователей из России и Украины значительно выросли по ходу года и стабилизировались на 2ой и 3ей позициях с 13.73% и 3.51% запросов соответственно.

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

Что же касается языков, Английский лидирует с огромным отрывом, следом идут Русский (12.09%), Китайский (1.03%) и Украинский (0.04%). Также есть Бразильский Португальский, но его практически никто не использовал.

В целом занятно, что огромная часть пользователей предпочитает просто переключаться на Английский. Возьмём для примера второй по популярности язык среди пользователей — Русский. Количество пользователей с ним в качестве языка системы/браузера — почти 15% на данный момент, то есть около 3% пользователей предпочитают переключиться на Английский. И проблема явно не в качестве перевода, потому что им я занимаюсь сам и обновляю одновременно с англоязычной версией.

И последнее, на что хотелось бы посмотреть перед обсуждением планов на 2024 — баги. Важной фичей нового логгера стала запись всех происходящих ошибок, когда они происходят, что её вызвало и насколько эта ошибка критичная. Таким образом я смог по ходу года отследить кучу мелких ошибок и устранить 8 критических багов.

Ну и, да, я оставлю полную версию отчёта по 2023 в платном канале в телеге и на патреоне, для тех, кому интересно.

Планы на 2024

Есть куча штук, которые я очень хочу сделать в 2024, и на которые надеюсь найти достаточно времени в новом году.

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

Начиная с мелких штук

В этом разделе я начинаю с мелких штук.

  • Больше комьюнити ивентов. Я хочу чаще хостить «спектральные скримы», а также ивенты по Artifact, Underlords и даже некоторым кастомкам.
  • Обзор статистики матчей. Большая часть матчей в моих отчётах доступна где-нибудь ещё, но в последнее время всё чаще случаются ситуации, когда я заполняю данные по матчу вручную, либо паршу реплеи из приватных/безбилетных лобби. Для таких случаев по сути нет иных вариантов, как изучить данные, а я на такие матчи трачу порой достаточно много времени и усилий, чтобы всё было корректно у меня в базах данных (например пересматриваю VODы целиком, чтобы воссоздать столько данных, сколько вообще возможно). Обзор статистики матчей (Match Stats Explorer) — по сути просто фронтенд для доступа к матчам в моих (не архивных) отчётах, цель которого в первую очередь дать доступ к статистике некоторых матчей (за исключение ранкедов). Ну и это будет достаточно полезно для моих комьюнити ивентов, хехе.
  • Улучшения раздела со сборками. Я хочу вернуться к работе над этим разделом как-нибудь, добавить строку поиска на панель навигации. Может сделаю дополнительные улучшения для стартовых предметов и скилл билдов. И заодно хочу добавить поддержку сторонних сборок когда-нибудь: например стандартные сборки, сборки от Torte De Lini или GoX.
  • Быстрое переключение отчётов в категориях. Технически эта фича УЖЕ существует, просто запрятана за ранним превью. Главная проблема — придумать, как выбирать категорию, для которой рендерить переключатель.
  • Редизайн. Текущая версия дизайна была очень вдохновлена официальной страницей Dota Pro Circuit и изначально должна была просто использоваться для «небольших отчётов», которые по сути были просто красивые версии постов на реддите. С тех пор много воды утекло, и этот дизайн просто не очень подходит для моих целей, так что уйти от него я хотел уже давно.
  • Охота за реплеями. Есть несколько битых/перезапущенных матчей по ходу 2023, а также целый турнир с 2022, который я не могу проигнорировать. Предстоит очень много работы руцками, но надо будет рано или поздно этим заняться.
  • Генератор миникарт. Я начал задумываться на эту тему ещё когда только вышел 7.33. Сравнивать текущие версии миникарты со старыми вообще достаточно удручающее занятие, и мне захотелось что-нибудь с этим сделать. В теории можно достаточно легко «сгенерировать» красивую миникарту, используя метаданные карты (те же, что используются для интерактивной карты) и пачку векторных пресетов (которые надо ещё нарисовать сначала).

Штуки побольше

  • Скилл билды, стартовые предметы, расходники, поддержка абилити драфта. Я изначально планировал закончить этот раздел ещё до 2023, но что-то пошло не так (поменялись приоритеты). По ходу этго года я тестил разные штуки в свободное время, так что перекинуть все наработки в основную версию не должно быть супер проблемным. Впрочем, надо будет ещё интерфейс для всего этого добра изобрести потом. Две крупных проблемы (ну кроме поиска времени на это всё) — названия способностей (которые я хочу сделать независимыми от основной локали И ПРИ ЭТОМ хотя бы частично независимыми от патча) и оптимизации запросов.
  • Луркер. Технически у меня уже есть его API, но его надо обновить и нацепить какой-нибудь фронтент на это всё. Одна вещь, которая мне не даёт покоя — приватность игроков. Конечно, проверить историю матчей про игроков с приватной историей матчей не составит труда на других сайтах, но я бы хотел у себя сделать систему, позволяющую спрятать личность игрока. Есть и другие, более мелкие проблемы, но пока что ничего такого, что нельзя было бы решить.
  • Парсер логов для Artifact.
  • Ранкинг игроков/команд для отчётов.
  • Тренды Меты Турбо и возможно Тренды Меты Рекрутов.
  • Статистика игроков на героях в отчётах и прочие улучшения профилей игроков.
  • Больше контента: посты в блог, видео, новые фичи и т.д.

Штуки огромные ваще жесть

  • Хаб Отчётов по Artifact. Это будет одновременно и способом протестировать новые идеи и новый движок, и моим проектом для души. Я сейчас работаю над «парсером логов», который поможет потом сдеелать отчёты по комьюнити ивентам в Artifact реальностью. Но работы ещё предстоит много.
  • Переработанный движок отчётов. Кучу вещей я буду обкатывать на хабе статистики Artifact, после чего перекину в основной проект. Среди фич, которые я хочу добавить в будущем — суботчёты и различные оптимизации баз данных. (это то, что я также называю Kamina/Simon, просто в этот раз назвал не по кодовому имени)
  • SuperNote. Это проект, нацеленный на продакшен и талантов. По сути это приватная коллекция различных заметок, фактов, полезной статистики из разных отчётов и прочих полезных фич, всё в одном месте. С мобайл френдли интерфейсом и возможностью отправить на печать любую страницу или раздел, хоть вообще все данные, что есть по турниру, чтобы использовать это как своего рода «супер заметку» по турниру. Пока что я исследую вопрос, но думаю у меня есть достаточно опыта и различных инструментов (которые использовались для тех же нужд), чтобы было с чего начать.
  • Запись Live матчей. Ещё один инструмент, который будет полезен на трансляции. По сути это возможность записывать статистику матча, пока он идёт (используя официальный API от Valve или GSI). Это должно быть полезно, чтобы отслеживать различные рекорды и интересные факты, а также чтобы была хоть какая-то версия данных на случай если матч не доступен в API по какой-то причине (реплей сломан, матч не записался или что-то ещё). Ещё это будет полезно для записи статистики в кастомках (главное чтобы записывающий смотрел игру). Думаю, это будет достаточно амбициозный проект, но при этом очень многообещающий, особенно в комбинации с SuperNote и дешбордом аналитика (который напрямую связан с записью live матчей и луркером).
  • Архетипы героев. Это будет полностью новый раздел в отчётах, который скорее всего будет во многом копировать функционал раздела со статистикой героев. Не буду пока погружаться в детали, но всё сводится в созданию «групп» героев по их общим архетипам, и это должно помочь выделять общие инсайты о том, как играют команды (и игроки) и описать их стили игры. Есть и много других крутых штук, вытекающих из такого простого концепта, и мне кажется если я всё это реализую — это будет самая безумная штука, что я делал для доты.

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

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

Счастливого 2024 и будьте спектральны!

А ещё не забудьте подписаться на ТвиттерТелегу или зайти в Дискорд, если ещё не.