Вадим БурымСвязаться ↗
ПРОЕКТ

DOTS Battle Simulator Prototype

GitHub

Unity DOTS Prototype · Q1–Q2 2026

Unity Developer / Автор прототипа
DOTS / ECS · Игровой ИИ · GPU-анимация · Архитектура · Editor-инструменты
Технологии
Unity 6 · C# · DOTS / Entities · Burst / Jobs · Entities Graphics · URP / HLSL · VContainer · Addressables · UniTask · R3 · Odin Inspector

Описание

Прототип боевого симулятора на Unity 6 DOTS для массового управления юнитами. Основная задача — совместить принятие решений, поиск целей и анимацию в архитектуре, рассчитанной на масштабирование симуляции. Развил собственный плагин DODBT в отдельный DOTS-модуль с Burst, Jobs и BlobAsset. Разработал VAT-пайплайн: запекание анимаций в текстуры, ECS-runtime и шейдеры для Entities Graphics. Архитектуру приложения построил вокруг постоянной Bootstrap-сцены, отдельных режимов Meta и Gameplay и явного управления загрузкой ресурсов, DI-контекстами и ECS-системами

Достижения

  • Спроектировал DOTS-исполнение BT с общей структурой в BlobAsset и раздельным состоянием агентов — обеспечил совместимость с Burst и параллельную обработку через Jobs
  • В тесте на 10 000 агентов с деревом из 34 узлов сократил время обработки BT с 126,25 до 1,00 мс с помощью Burst и Jobs — примерно в 126 раз
  • Разделил общую структуру BT в BlobAsset и состояния агентов — множество юнитов использует одно дерево без копирования его структуры
  • Создал кодогенерацию для leaf-узлов и runtime-отладку — новую логику можно подключать без ручного написания связующего кода и отслеживать ее выполнение в редакторе
  • Разработал VAT-пайплайн с запеканием, ECS-runtime и HLSL-шейдерами — анимации исполняются на GPU, поддерживают смешивание клипов и корректные тени и depth-проходы
  • Реализовал сетку поля боя и пространственный индекс поиска целей — юниты находят противников в соседних ячейках без полного перебора всей армии
  • Организовал запуск режимов через State Machine, VContainer и загрузчики ресурсов — сцены, зависимости и ECS-системы поднимаются и освобождаются в заданном порядке
  • Создал единое окно настройки ScriptableObject-конфигов — параметры юнитов, поведения и игровых систем доступны геймдизайнеру из одного интерфейса
  • Выделил UI и бинарные сохранения в отдельные модули — интерфейсы переиспользуются между режимами, а игровой код не зависит от способа хранения данных
Замеры BT · 10 000 агентов · 34 узла · AMD Ryzen 5 7500F (6 ядер / 12 потоков)
Режим обработки BTВремя
Без Burst и распараллеливания126,25 мс
Burst7,90 мс
Burst + Jobs, 11 рабочих потоков1,00 мс

При интервальном обновлении BT (0,2 с, случайное смещение на агента): средняя нагрузка на кадр — 0,1014 мс, P95 — 0,1290 мс; суммарное CPU-время — 1,008 мс; GC-аллокации за тик — 0 B. Это отдельный режим с более редким обновлением решений. Подробные замеры — на втором изображении галереи.

Материалы проекта

← На главную
ПОРТФОЛИО РАЗРАБОТЧИКА

Проекты

Osis Studio / Exodus Core

Turn-based Tactics / Steam Demo
Unity Developer · Май 2026 — настоящее время

Пришел в проект на стадии прототипа: разработал кастомный игровой ИИ на основе Utility AI и интегрировал его в ECS без изменения существующих механик. Создал визуальный редактор и отладчик, сопровождал ИИ в ходе разработки. Разработал AI-агента, чтобы команда могла собирать и настраивать поведение врагов без моего участия. По собственной инициативе брал на себя задачи за рамками основной роли

Unity · C# · LeoEcsProto · Zenject · URP / HLSL · Claude CodeПодробнее ↗

Half Empty

First-person Rhythm Shooter / Demo
Team Lead / Unity Developer · Май 2026

Возглавил команду из четырех человек и разработал архитектуру и все игровые механики ритм-шутера. Интегрировал FMOD и создал инструменты настройки уровней под музыку. Организовал работу в Jira и Bitbucket — вместе выпустили демоверсию с тремя уровнями

Unity · C# · FMOD · Jira · BitbucketПодробнее ↗

DOTS Battle Simulator Prototype

Unity DOTS Prototype
Unity Developer / Автор прототипа · Q1–Q2 2026

Разработал боевой симулятор на Unity DOTS: адаптировал собственный Behaviour Tree под Burst и Jobs и создал VAT-пайплайн для анимации юнитов на GPU. Построил модульную архитектуру с управляемым жизненным циклом ECS-систем и инструментами настройки и отладки

Unity 6 · C# · DOTS / Entities · Burst / Jobs · Entities Graphics · URP / HLSL · VContainer · Addressables · UniTask · R3 · Odin InspectorПодробнее ↗

DODBT

Behaviour Tree / Unity Plugin
Автор плагина · Q1 2026

Разработал Behaviour Tree-плагин с ядром исполнения на C#, визуальным редактором, компиляцией графов и отладкой выполнения. Отделил структуру дерева от состояния агентов и обеспечил совместимость с ECS-архитектурой. Создал API пользовательских действий и тесты жизненного цикла узлов

Unity · C# · GraphView · Odin Inspector · NUnitПодробнее ↗

100 Кириешек!

Hybrid Casual / Яндекс Игры / Web
Unity Developer · Январь 2026

Разработал и выпустил 2D merge-кликер на Unity для Яндекс Игр в команде с художником. Взял на себя полный цикл технической разработки и поддержку после релиза: анализировал отток игроков и выпускал обновления. Первые три месяца игра удерживала рейтинг выше 75

Harvest Garden

Incremental / PC Prototype
Solo Unity Developer · Q3–Q4 2025

Создал сольный прототип пиксельной инкрементальной игры для ПК: выращивание растений, получение семян с новыми геномами и развитие сада. Спроектировал модульные системы улучшений, характеристик и валют с настройкой в Unity Editor и реактивным UI

Unity · C# · LeoEcsLite · Zenject · UniRx · Odin InspectorПодробнее ↗

Golbeshnik

Sound Horror / Windows
Unity Developer · 2024–2025

Участвовал в разработке атмосферного 3D-хоррора в студенческой команде из пяти человек под менторством 1C Game Studios. Создал архитектурную основу проекта с собственным GameCycle, реализовал QTE и отдельные игровые механики

Unity · C# · GameCycleПодробнее ↗

Bombertale

2D Roguelike / Windows
Автор игры · 2023–2024

Моя первая игра — 2D-рогалик по мотивам Bomberman. Самостоятельно разработал ее на Python/Kivy с собственной физикой, обработкой столкновений и игровым циклом. В 2023–2024 годах перенес и адаптировал проект под современный игровой движок