Портфолио¶
Рабочие проекты, новые сверху. Личные проекты - на странице Проекты.
-
Vacation Cafe Simulator, Alice Games, 2024 - сейчас
Техлид кооперативного симулятора кафе на 4 игроков в Steam, Very Positive. Рендер, мультиплеер, архитектура.
-
VR-Labs, Vizex, 2019 - 2024
Начал линейку физических лабораторий, которая выросла до 20+ лабораторий и 2,8 млн+ пользователей на PC, мобильных и WebGL. Свои солверы, запатентованный движок электродинамики, редакторы 2D-черчения и 3D-моделирования.
-
Digital twins и GIS, Vizex, 2016 - 2019
3D twins города по векторным картам, Skia заведена через SkiaSharp как tile rasterizer, гигабайты данных потоком на Windows, Linux, iPad и Android.
-
AR-раскраски, Toonidee, 2016
AR через камеру на Unity и Vuforia для дошкольников, три журнала меньше чем за год.
Vacation Cafe Simulator, Alice Games, 2024 - сейчас¶
| Роль | Техлид кросс-функциональной команды примерно из десяти человек с тремя-четырьмя инженерами. Техническое направление, менторство, поставка |
| Годы | Июль 2024 - сейчас, удалённо |
| Платформы | PC в Steam, Steam Deck Playable |
| Стек | Unity, HDRP, Netcode for GameObjects, UGS Relay, Lobby и Auth, Steam Datagram Relay, Steamworks SDK, Jenkins, GitLab |
| Результат | Релиз 20 августа 2026, Very Positive при 700+ отзывах, демо на 26-м месте из 3400+ на Steam Next Fest |
Кооперативный симулятор кафе на 4 игроков в Steam. Я пришёл в Alice Games в июле 2024 техлидом, на мне архитектура Unity, рендер и мультиплеерный клиент. Игра вышла 20 августа 2026 и держит Very Positive при 700+ отзывах.
Рендер и frame budget¶
HDRP: кастомные шейдеры, свет, Volumes и post-processing, процедурная генерация мешей в рантайме. После profiling-driven рефакторинга худшие спайки кадра ушли с 30+ мс до 11-12 мс, внутри frame budget 16,6 мс: батчинг сетевых обновлений, чтобы снизить объём RPC, culling, LODs, Addressables для загрузки ассетов и устранение спайков managed-аллокаций.
Мультиплеер¶
Host-authoritative модель на Netcode for GameObjects поверх UGS Relay и Steam Datagram Relay, с UGS Lobby и Auth и Steamworks SDK. State synchronization, ownership и late-join в проде, сохранение и загрузка сетевого состояния мира, транзакционный инвентарь и прогрессия. Я починил баги в самом Netcode for GameObjects и переписал под ним транспортный слой Steam, чтобы он дробил большие сообщения на фрагменты и собирал их обратно.
Геймплейные системы¶
Модульный фреймворк мини-игр (поток состояний, сессии, подсчёт очков, хуки под контент), через который дизайнеры добавляют контент без инженеров. Под ним: контроллер персонажа, AI NPC с навигацией и стейт-машинами, инвентарь с валидацией и транзакциями, квесты, уровни, экономика, открытый мир и транспорт, асинхронная загрузка сцен.
Инженерные стандарты¶
Валидация перенесена в Editor time, так что художники и левел-дизайнеры ловят регрессии ассетов и данных до CI. Покрытие тестами критических путей, кодогенерация, CI/CD на Jenkins и GitLab. Генеративные пайплайны 2D/3D-контента на ComfyUI и Gradio, плагин перевода на Gemma 3 для локализации и повседневная работа в AI-assisted режиме: агентные воркфлоу Claude Code для генерации, рефакторинга и ревью, автоматизация через Unity CLI для сцен, префабов, тестов и сборок.
VR-Labs, Vizex, 2019 - 2024¶
| Роль | Начал R&D-линейку, повышен до тимлида, вёл кросс-функциональные команды до десяти человек |
| Годы | Январь 2019 - март 2024, Москва, удалённо с 2020 |
| Платформы | PC, iOS, Android, WebGL (работают на экранах, несмотря на название) |
| Стек | Unity, URP, PhysX со своими солверами, Burst, Job System, Zenject, UniTask, Roslyn source generators, TeamCity |
| Результат | 20+ лабораторий, 2,8 млн+ пользователей, 4K внутри frame budget 33 мс на встроенной графике, запатентованный движок электродинамики |
В 2019 я начал в Vizex новую продуктовую линейку: физические лаборатории в реальном времени для школ. Всё началось с трёхмесячного tech demo, виртуальной лаборатории по электродинамике. Движок симуляции электричества переписывали несколько раз, пока он не сошёлся с реальными измерениями, и эта версия запатентована. Мой Experimenters сегодня решает тот же класс задач со своим солвером цепей на Burst.
Линейка стала флагманом компании, 20+ лабораторий и 2,8 млн+ пользователей. Примерно в десяти лабораториях я был техническим лидом или тимлидом и вёл кросс-функциональные команды до десяти человек.
Электродинамика, магнетизм, электростатика¶
Первый проект линейки. Компания заходила в виртуальные физические лаборатории для школ, и на tech demo было три месяца.
| Tech demo, 2019 | Релизная лаборатория |
|---|---|
![]() |
![]() |
WebGL был обязателен: лаборатории встраиваются в веб-платформы электронных школ. Цель - 4K внутри frame budget 33 мс на Core i3 7-го поколения со встроенной графикой, то есть на школьных интерактивных панелях.
Эта цель вела линейку следующие пять лет, с 2019 по 2024: profiling CPU, GPU и памяти, снижение потребления памяти и загрузка ассетов в рантайме, миграция с Built-in pipeline на URP с кастомными render features, свои шейдеры и процедурная генерация мешей. 4K удержали внутри 33 мс на школьных панелях. На iPad и ноутбуках лаборатории работали внутри 16,6 мс.
На WebGL ассеты, которые не работали на однопоточном рантайме, заменили, а старую систему ввода обернули для touch-событий.
Механика и Архимед¶
Серия лабораторных по механике, гидростатике, блокам, силам трения и закону Архимеда. В основе PhysX, вокруг него свои солверы.
Гидростатика. Солвер поршней работает на импульсах, передаваемых между коллайдерами, и учитывает давление вертикальных столбов воды.
Блоки и верёвки. Солвер переписан с вертикального распределения сил для подвешенных объектов на произвольные конфигурации верёвок и блоков.
Плавучесть. Погружённый объём, центр масс, сила Архимеда, со стабилизацией солвера для экстремальных отношений плотностей (дерево в ртути).
Сообщающиеся сосуды. Солвер выравнивания уровней жидкости в соединённых сосудах, сначала для одной жидкости, потом для жидкостей разной плотности с градиентами давления между сосудами и явной работой над численной устойчивостью.
Silaeder: 2D-черчение и 3D-моделирование¶
Два редактора для школьной программы.
2D-черчение. Векторный редактор, который ощущается как растровый. Поиск пересечений и снап по пространственным индексам, пересечения дуг, сплайнов Катмулла-Рома и отрезков, векторный рендер на SDF.
3D-моделирование. Детский 3D-редактор для развития пространственного мышления. Кривые Безье, кинематические операции (вращение, экструзия, следование по контуру), булевы операции на собственном атрибутном меше с группами сглаживания, рейкаст по 3D-сплайнам, динамические пространственные сетки с толщиной линий, не зависящей от расстояния.
Другие лаборатории: консультации и спасение проектов¶
Окружающий мир. Обучающая игра для начальной школы, где контента было больше, чем позволял график: диалоги, 3D-модели, ветвления логики и мини-игры. Я подключился, когда объём перестал помещаться в график, пересобрал проект вокруг ядра функциональности, и он вышел в срок.
Молекулярная физика, неорганическая химия, оптика. Шейдеры, частицы и базовая логика взаимодействий на первом этапе каждого проекта.
![]() |
![]() |
|---|---|
![]() |
Логические схемы, роботы, робосоревнования. Портировал в проект библиотеку симуляции электрических цепей, взял на себя логику схем и коннекторов и консультировал команду по PhysX, URP, Input System и Shader Graph.
Digital twins и GIS, Vizex, 2016 - 2019¶
| Роль | Unity-разработчик |
| Годы | Декабрь 2016 - январь 2019, Москва |
| Платформы | Windows, Linux, iPad, Android |
| Стек | Unity, SkiaSharp как tile rasterizer, GIS vector-to-mesh, REST, WebSockets |
| Результат | 3D digital twins городской сети здравоохранения и коммунальной инфраструктуры, гигабайты данных в реальном времени на десктопе, планшете и телефоне |
Аналитика и визуализация больших данных для банков и крупного бизнеса: ситуационные центры и digital twins.
Ситуационные центры¶
Дашборды над данными в реальном времени. Два примера: ЕМИАС и ГИС ЖКХ.
ЕМИАС (Единая медицинская информационно-аналитическая система). Управление здравоохранением: запись к врачам, доступность медучреждений, занятость врачей в реальном времени. Я сделал 3D digital twin Москвы с медучреждениями по векторным картам: валидация и версионирование кэша, оптимизация тайлового хранения данных, одинаковая производительность на Windows, Linux, iPad и Android.
Приложение обрабатывало гигабайты данных в реальном времени. Dashboard widgets подключали к data marts вместе с командами аналитики и бэкенда, картографический сервис на Unity рисовал геопривязанные показатели, а iDVP позволял пользователям собирать свои widgets над data marts.
![]() |
![]() |
|---|---|
![]() |
![]() |
![]() |
ГИС ЖКХ. Digital twin городской коммунальной инфраструктуры для мониторинга и управления в реальном времени. Тот же стек и те же кросс-платформенные требования, что у ЕМИАС.
Что я сделал¶
- 3D digital twins по векторным картам и инструмент GIS vector-to-mesh, который строит геометрию зданий для пространственного анализа.
- Рендер карт переведён с растровых тайлов на vector tiles, Skia заведена в проект через SkiaSharp как rasterizer и рендерит тайлы в текстуры, что снизило трафик на визуализацию 3D-зданий.
- Валидация и версионирование кэша, оптимизация тайлового хранения, пайплайн обработки данных и интерактивный слой визуализации.
- Клиент-серверное взаимодействие и пайплайны данных поверх REST и WebSockets.
- Существующие десктопные продукты перенесены на Unity ради кросс-платформенности.
![]() |
![]() |
|---|---|
![]() |
AR-раскраски, Toonidee, 2016¶
| Роль | Unity-разработчик, команда из продюсера, двух разработчиков и трёх художников |
| Годы | Февраль 2016 - декабрь 2016, Москва |
| Платформы | iOS, Android |
| Стек | Unity, Vuforia |
| Результат | Три AR-журнала меньше чем за год, тай-ины к мультсериалам «Бумажки» и «Ми-ми-мишки» |
Toonidee - студия в составе Амедиа, которая делала передачи про игры для канала 2x2. Я делал там AR-игры для дошкольников на Unity и Vuforia.
Интерактивные AR-раскраски¶
Ребёнок раскрашивает картинку, наводит камеру планшета, камера узнаёт рисунок, и поверх него запускается мультик или мини-игра.
Дети рисовали фломастерами вместо карандашей, выходили за контур и добавляли посторонние пометки. Трекер, который я сделал, восстанавливает картинку по уцелевшим опорным участкам.
Тай-ины к мультсериалам «Бумажки» и «Ми-ми-мишки».
![]() |
![]() |
|---|---|
![]() |
Что я сделал¶
Алгоритм распознавания цветов на раскрасках и перекраска 3D-объектов в реальном времени по данным с камеры. Логика мини-игр («три в ряд», поиск одинаковых предметов, лабиринты), система загрузки и версионирования ассетов, шейдеры, базовая логика приложения и порты существующих продуктов на Unity для iOS и Android.
![]() |
![]() |
|---|---|
![]() |


























