Rendering и мобильная GPU-оптимизация
Разрабатывал shaders на HLSL/Cg и Shader Graph, custom URP passes и Renderer Features, single-camera rendering снайперского прицела с контролем render order, culling и overdraw. Создал runtime depth-aware impostors: менее 10 → 30 FPS на Xiaomi Mi A2, сокращение видимой геометрии с 1,6–1,8 млн до ~500 тыс. полигонов при сохранении дальних деталей. Строил material-library pipeline с texture arrays, оптимизировал bandwidth и vertex attributes, удерживал карты около 52 batches, Battle Royale — ниже 100. Работал с освещением, lightmap UV, водой, caustics и voxel streaming, профилировал разные GPU iOS/Android через Unity Profiler, RenderDoc, Metal Debugger и Snapdragon Profiler.
Tech Art и производство контента
Определял требования к моделям, UV, текстурам, импорту и зависимостям биомов; создавал scene/UI validators, автоматизацию импорта и подготовки текстур. Проектировал animation layers под gameplay, разрабатывал инструменты level design и pathing. Обучал художников устройству пути DCC → GPU: vertex splitting и ordering, triangulation, mesh attributes, batching, выбору shader stage и зависимости стоимости от камеры и контента. Два моделлера впоследствии стали discipline leads.
Игровая архитектура и gameplay
Разработал собственную переиспользуемую архитектуру для Unity, спроектировал архитектуры 8 игр и существенно развил 4 существующие. Строил ECS-coregame на Unity Entities, разрабатывал движение, стрельбу, баллистику, AI, pathfinding, profiles, quests, UI и IAP. Проектировал lifecycle, DI, границы simulation/presentation и прямой запуск тестовых состояний; на четырёх проектах общая архитектура позволяла инженеру реализовать gameplay-фичу или сложный UI-экран в среднем за 2–3 дня.
Геймдизайн и QA
Работал с дизайнерами над проверяемыми правилами и совместимостью фич, связывал спецификации с реализацией, QA-приёмкой и документацией. Могу обсуждать сетевую механику вместе с её игровым поведением, визуальным представлением, производством контента и проверкой результата.
Лидерство и управление разработкой
Как CTO отвечал за техническое направление четырёх игр, руководил четырьмя программистами, техническими художниками и PM в студии примерно из 20 человек. Также работал одним из лидов команд 30+ человек с 10+ программистами. Проводил технические интервью, участвовал в найме, развивал самостоятельность инженеров и передавал им ответственность за системы. Декомпозировал и оценивал задачи, проводил code review, использовал Scrum-ретроспективы и Value/Time для организации работы. Выстраивал коммуникацию с лидом геймдизайна и между programming, QA и Tech Art; связывал спецификацию, реализацию, приёмку и документацию. Сохранял hands-on участие в архитектуре и разработке.