Перейти к содержанию

Виктор Григорьев

Unity Tech Lead - мультиплеер, производительность рендера, физика в реальном времени

Мурла (Аликанте), Испания. Удалённо с 2020 года, CET. Английский C1, русский родной.

Кратко

Техлид, 10+ лет в C# и Unity, кросс-функциональные команды до 10 человек, две команды разработки собраны с нуля, соавтор двух патентов. В Alice Games: архитектура Unity, host-authoritative мультиплеерный клиент и рендер на Vacation Cafe Simulator, PC-тайтле на 4 игроков, который вышел в Steam 20 августа 2026 и держит Very Positive при 700+ отзывах, демо на 26-м месте из 3400+ на Steam Next Fest. До этого семь лет в Vizex, от middle Unity-разработчика на digital twins города до R&D-техлида его платформы физической симуляции, 2,8 млн+ пользователей на PC, iOS, Android и WebGL, со своими солверами поверх PhysX и запатентованным движком электродинамики в реальном времени, сведённым с реальными измерениями.

Стек

  • Программирование и архитектура: C#, .NET, Unity, архитектура приложений, data-oriented design и многопоточность (Burst, Job System), dependency injection (Zenject, VContainer), Roslyn source generators, Addressables и загрузка ассетов в рантайме.
  • Графика и производительность в реальном времени: URP / HDRP, HLSL-шейдеры и variant stripping, Shader Graph, кастомные render features и post-processing, оптимизация CPU и GPU (SRP Batcher, GPU instancing, LODs), profiling и отладка (Unity Profiler, Frame Debugger, Memory Profiler, RenderDoc, Xcode), кросс-платформенная поставка (Windows, Linux, macOS, iOS, Android, WebGL).
  • Мультиплеер и сеть: Netcode for GameObjects (host-authoritative, ownership, late-join), UGS Relay, Lobby и Auth, Steam Datagram Relay, Steamworks SDK.
  • Физика, геометрия и инструменты: физика в реальном времени и свои солверы, data-oriented мешевые фреймворки (n-гоны, атрибуты), mesh Booleans, вычислительная геометрия, GIS vector-to-mesh и digital twins города, кастомный Unity Editor tooling, NavMesh / AI NPC и стейт-машины, REST API и WebSockets, CI/CD (GitLab CI, Jenkins, TeamCity).
  • AI-assisted разработка: агентные воркфлоу Claude Code, автоматизация через Unity CLI, генеративные пайплайны ассетов (ComfyUI, Gradio).
  • 3D-контент и DCC: 3ds Max, Blender, Houdini, Houdini Digital Assets в Unity, инструменты на Python (Houdini, ComfyUI, Gradio).

Опыт

Unity Tech Lead, Alice Games

Июль 2024 - сейчас. Удалённо. Игры для PC в Steam. Vacation Cafe Simulator в Steam

  • Vacation Cafe Simulator: мультиплеер на 4 игроков, вышел в Steam 20 августа 2026, Very Positive при 700+ отзывах, Steam Deck playable. Демо заняло 26-е место из 3400+ на Steam Next Fest.
  • Отвечаю за рендер и frame budget - кастомные шейдеры HDRP, свет, Volumes и post-processing, процедурная генерация мешей в рантайме. Profiling-driven рефакторинг увёл худшие спайки кадра с 30+ мс до 11-12 мс, внутри frame budget 16,6 мс: батчинг сетевых обновлений, чтобы снизить объём RPC, culling, LODs, Addressables для загрузки ассетов и устранение спайков managed-аллокаций.
  • Отвечаю за архитектуру Unity и техническое направление в кросс-функциональной команде примерно из 10 человек с 3-4 инженерами - границы систем между геймплеем, сетью и рендером.
  • Отвечаю за мультиплеер на 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 tooling, который художники и левел-дизайнеры прогоняют, чтобы ловить регрессии ассетов и данных до CI, кодогенерация, покрытие тестами критических путей, CI/CD на Jenkins и GitLab pipelines.
  • Спроектировал генеративные пайплайны 2D/3D-контента (ComfyUI с кастомными нодами, интеграции через Gradio API) и внутренний плагин перевода на Gemma 3 для контента и локализации. Повседневная работа идёт в AI-assisted режиме: агентные воркфлоу Claude Code для генерации, рефакторинга и ревью, автоматизация через Unity CLI для сцен, префабов, тестов и сборок.

R&D Tech Lead, Vizex-Info

Январь 2019 - март 2024. Москва, удалённо с 2020. EdTech, физическая симуляция в реальном времени. VR-Labs, виртуальные лаборатории для школ (работают на экранах)

  • Начал R&D-линейку с трёхмесячного демо по электродинамике. Линейка стала флагманской платформой компании, 2,8 млн+ пользователей на PC, iOS, Android и WebGL. Повышен до тимлида, вёл кросс-функциональные команды до 10 человек, технический лид или тимлид примерно в 10 из 20+ лабораторий.
  • Удержал 4K внутри frame budget 33 мс в WebGL на Core i3 7-го поколения со встроенной графикой и внутри 16,6 мс на iPad и ноутбуках - profiling CPU, GPU и памяти, снижение потребления памяти и загрузка ассетов в рантайме, миграция с Built-in pipeline на URP с кастомными render features, свои шейдеры и процедурная генерация мешей.
  • Сделал свою физику поверх PhysX - impulse-transfer солверы для гидростатики и поршней, плавучесть со стабилизацией для экстремальных отношений плотностей, произвольные системы связей из верёвок и блоков, сообщающиеся сосуды с жидкостями разной плотности и градиентами давления.
  • Сделал запатентованный движок электродинамики в реальном времени, первый проект линейки, сведённый с реальными измерениями.
  • Сделал редактор 2D-черчения (векторный редактор с растровым UX, векторный рендер на SDF, пересечения кривых и отрезков) и редактор 3D-моделирования (кривые Безье, кинематическая экструзия и следование по контуру, булевы операции на атрибутном меше с группами сглаживания).
  • Перестроил общую архитектуру платформы, на которой работают отдельные лаборатории, на Burst, Job System, Zenject и UniTask. Ввёл Roslyn source generators, которые убрали бойлерплейт и снизили число дефектов примерно на 25%. Сделал внутренний плагин ввода и маршрутизации событий, используемый по всей платформе.
  • Пришёл спасать «Окружающий мир», проект для начальной школы, где контента было больше, чем позволял график (диалоги, 3D-модели, ветвления логики, мини-игры): пересобрал его вокруг ядра функциональности и сдал в срок. Консультировал команду логических схем и роботов по PhysX, URP, Input System и Shader Graph.
  • Сделал клиент-серверные компоненты и персистентность поверх REST API и WebSockets, и провёл легаси-подсистемы через обновления Unity и платформ.

Unity Software Developer, Vizex-Info

Декабрь 2016 - январь 2019. Москва. Картографические (GIS) данные, 3D digital twins, большие данные.

  • Завёл Skia в проект через SkiaSharp как tile rasterizer, который рендерит vector tiles в текстуры, и перевёл рендер карт с растровых тайлов на vector tiles, снизив трафик на визуализацию 3D-зданий.
  • Сделал инструмент GIS vector-to-mesh, на котором построены 3D digital twins городской сети здравоохранения и коммунальной инфраструктуры, с потоковой передачей гигабайт исходных данных с бэкенда на клиенты Windows, Linux, iPad и Android.
  • Валидация и версионирование кэша, оптимизация тайлового хранения данных и картографический сервис на Unity для геопривязанных KPI. Вместе с командами аналитики и бэкенда разработал iDVP, инструмент, где пользователи сами собирают dashboard widgets над data marts.
  • Клиент-серверное взаимодействие и пайплайны данных поверх REST и WebSockets. Перенёс существующие десктопные продукты на Unity ради кросс-платформенности.

Unity Software Developer, Toonidee Production

Февраль 2016 - декабрь 2016. Москва. Детские игры, AR, тай-ины к мультсериалам.

  • Выпустил AR-журналы и раскраски через камеру на Unity и Vuforia, три выпуска меньше чем за год, тай-ины к мультсериалам «Бумажки» и «Ми-ми-мишки», плюс порты существующих продуктов на Unity для iOS и Android.
  • Сделал систему трекеров, которая узнаёт и восстанавливает детскую раскраску по уцелевшим опорным участкам, когда рисунок выходит за контур, плюс алгоритм распознавания цветов и перекраску 3D-объектов в реальном времени по данным с камеры.

3D Visualizer, Art Project

Декабрь 2011 - февраль 2014. Москва.

  • Визуализация интерьеров и архитектуры параллельно с учёбой в университете - моделирование, текстурирование, свет и рендер в 3ds Max и V-Ray, автоматизация ригов и моделирования на MaxScript.

Личные проекты

Sangria - нодовое процедурное моделирование и генерация мешей в рантайме для Unity. 2026 - сейчас. Публичный дневник разработки. Граф операторов внутри движка, вдохновлённый Houdini, над моделью геометрии с n-гонами как полноценными примитивами, mesh Booleans с Seam, Trim и Shatter поверх них, обработка геометрии на Burst без managed-аллокаций. Асинхронное выполнение графов вне главного потока, expression-ноды на Roslyn source generator, convex decomposition под коллайдеры и графы, собранные из текстового запроса через Unity CLI и Claude Code.

Experimenters - виртуальная лаборатория по электричеству в браузере. 2022 - сейчас. experimenters.app. Сборка и симуляция цепей в реальном времени: свой солвер на Burst, детерминированная архитектура. Unity WebGL на десктопе, планшете и телефоне, ставится как PWA и работает офлайн, локализация на 14 языков, 50+ готовых лабораторных. Вырос из прототипа на геймджеме в самостоятельный продукт, весь 3D-контент сделан в Houdini.

Open source. GPU-ускоренная библиотека 2D-рисования и расширения для Unity на GitHub. Docker-сборки для запуска моделей 3D- и видеогенерации на Nvidia DGX Spark.

3D и DCC

Начинал 3D-моделлером до перехода в программирование. 3ds Max, Blender и Houdini. Houdini digital assets заведены в Unity через Houdini Engine. Python для инструментов: скрипты Houdini, кастомные ноды ComfyUI, клиенты Gradio.

Образование

Московский государственный открытый университет, 2008 - 2013. Специалист, инженер (пятилетняя программа), программное обеспечение вычислительной техники и автоматизированных систем.