Jes Obertyukh

Head TechArt
Render Engineer

Почти 20 лет опыта в разработке игр. Работал CTO, техническим лидом и Game Architect / Staff Unity Engineer. Проектирую архитектуру, разрабатываю игровые фичи, rendering и networking; совмещаю hands-on разработку с руководством командами и организацией процессов.

01

Основные ожидания

  • Техническое руководство

    Выполнял функции технического руководителя графики в CTO/Lead-ролях: принимал rendering-решения, руководил техническими художниками, отвечал за контентные пайплайны. Работал над выпущенными мобильными играми и системами для mobile/PC.

  • Real-time graphics

    Разрабатывал URP passes и Renderer Features, shaders и runtime depth-aware impostors вместо conventional LOD и скрытия по дистанции. Реализовал voxel streaming с проверками видимости; работал с overdraw, batching, bandwidth, сжатыми vertex attributes и бюджетом impostor textures 40–70 MB.

  • Инженерные решения

    Проектировал и реализовывал графические системы, игровую архитектуру и инструменты. Принимал технические решения, проводил code review и согласовывал требования gameplay, контента и runtime.

  • Автоматизация

    Создавал scene/UI validators, проверки level design и material-library tool. Автоматизировал import settings, texture previews, подготовку low-resolution текстур и воспроизводимую сборку для локальной работы и CI.

  • Стоимость решений

    Оценивал стоимость реализации, интеграции и дальнейшего сопровождения, использовал Value/Time для приоритизации. Выбирал простые решения либо инвестировал в более сложные системы, когда они снижали долгосрочные производственные затраты.

  • Развитие специалистов

    Обучал художников техническим решениям и их обоснованию; два моделлера впоследствии стали discipline leads. Развивал техническую самостоятельность инженеров и передавал им ответственность за решения.

02

Дополнительные пожелания

  • PCG

    Работал с алгоритмом WFC и генерацией арт-контента поверх структурного level design. Работал с воксельными мирами и chunk streaming, создавал инструменты level design и автоматизировал подготовку контента для runtime.

  • Профилирование и проверки

    Создавал scene/UI/level validators, определял бюджеты кадра и контролировал затраты подсистем через profiler markers. Профилировал CPU/GPU и разбирал rendering кадра через Unity Profiler, Frame Debugger, RenderDoc, Metal Debugger и Snapdragon Profiler; выявлял проблемы shaders, overdraw, batching и GPU bandwidth.

03

Рабочие задачи

  • Стандарты контента

    Как CTO отвечал за графические решения и путь ассетов до сборки и доставки. Задавал стандарты моделей, vertex attributes, UV, текстур и импорта; ограничивал зависимости биомов и применял проверки контента.

  • Пайплайны

    Работал со стандартами моделей и текстур, UI validation, animation layers, lighting/lightmap UV, материалами и визуальными эффектами. Выстраивал взаимодействие программирования, Tech Art, PM и геймдизайна.

  • Разработка фич

    Проектировал rendering снайперского прицела и animation layers под требования gameplay, согласовывал игровые правила с дизайнерами. Заранее определял ограничения контента и зависимостей, чтобы избежать проблем памяти и streaming при интеграции.

  • Оптимизация графики

    Разработал runtime depth-aware impostors, которые дали менее 10 → 30 FPS на Xiaomi Mi A2 и сократили геометрию с 1,6–1,8 млн до ~500 тыс. полигонов, сохранив дальние детали. Material-library pipeline и оптимизация мешей позволяли удерживать стандартные карты около 52 batches, Battle Royale — ниже 100.

  • Платформы

    Работал с mobile/PC, разными GPU iOS/Android, OpenGL ES и различиями форматов и компрессии текстур. Устранял тяжёлые shader-проблемы на iOS и проектировал rendering карты для iPad 2 с контролем overdraw и batching.

  • Автоматизация процессов

    Автоматизировал импорт и подготовку текстур, создавал инструменты материалов с поиском дублирующихся текстур, validators и редакторские инструменты для level design/pathing с управлением камерой и анимацией.

  • Команда и mentoring

    Руководил программистами, техническими художниками и PM, участвовал в найме и развитии специалистов. Обучал художников DCC-to-GPU geometry, vertex splitting/ordering, triangulation, mesh attributes, batching, выбору shader stage и оценке стоимости относительно камеры и контента; помогал сотрудникам принимать самостоятельные технические решения.

04

Дополнительная экспертиза

Игровая архитектура и системная разработка

Работаю с C# с версии 1.1, с Unity — с версии 3.5. Разработал собственную переиспользуемую архитектуру для Unity, спроектировал архитектуры 8 игр и существенно развил 4 существующие. Организовывал DI, lifecycle от запуска до reconnect и shutdown, разделял simulation и presentation, развивал системы без полного переписывания. Строил coregame на Unity Entities, использовал Jobs, Burst и DOD, задавал бюджеты кадра по подсистемам. Это даёт практическое понимание того, как графические решения взаимодействуют с симуляцией, загрузкой ассетов и ограничениями CPU.

Real-time networking

Был единственным ответственным за собственный server-authoritative слой поверх Unity Transport для двух multiplayer-игр: бинарные протоколы, snapshots, delta compression, network ticks и MTU. Работал с prediction, reconciliation и lag compensation в Photon Bolt/Fusion, реализовал собственную интерполяцию движения. Оптимизировал репликацию для Battle Royale на 64 игрока, синхронизировал автомобили, платформы, поезд и разрушение вокселей. Понимаю границы между состоянием симуляции и его отображением, требования к отзывчивости и сглаживанию движения.

Gameplay, metagame и backend

Разрабатывал движение, стрельбу, баллистику, AI, pathfinding, profiles, quests, UI и IAP. Реализовывал ASP.NET Core сервисы, matchmaking и оркестрацию UDP battle-серверов, работал с MongoDB/Redis и Protocol Buffers/MessagePack. Проектировал связь metagame и боя с offline operation и seamless reconnect. Могу разбирать фичу от игровых правил и состояния игрока до клиентского представления и серверной логики.

Инструменты и инженерные процессы

Разрабатывал редакторские инструменты, конфигурационные системы для геймдизайнеров, воспроизводимую сборку для локальной работы и CI. Работал с Git, code review и архитектурным восстановлением существующих проектов; оценивал реализацию, интеграцию и сопровождение решений. Выстраивал workflow между спецификацией, разработкой, QA и документацией.

Лидерство и управление разработкой

Как CTO отвечал за техническое направление четырёх игр, руководил четырьмя программистами, техническими художниками и PM в студии примерно из 20 человек. Также работал одним из лидов команд 30+ человек с 10+ программистами. Проводил технические интервью, участвовал в найме, развивал самостоятельность инженеров и передавал им ответственность за системы. Декомпозировал и оценивал задачи, проводил code review, использовал Scrum-ретроспективы и Value/Time для организации работы. Выстраивал коммуникацию с лидом геймдизайна и между programming, QA и Tech Art; связывал спецификацию, реализацию, приёмку и документацию. Сохранял hands-on участие в архитектуре и разработке.