Networking и распределение ответственности client/server
Спроектировал и реализовал собственный server-authoritative слой поверх Unity Transport для двух multiplayer-игр: форматы пакетов, бинарную сериализацию, delta snapshots, network ticks и работу с MTU. Работал с prediction, reconciliation и lag compensation в Photon Bolt/Fusion, реализовал интерполяцию движения, оптимизировал репликацию для 64 игроков и синхронизацию транспорта. Проектировал reconnect, использовал аналитику reconciliation и проверял поведение при потерях пакетов до 40% и ping до 400 мс. Обучал команду правилам сетевого кода и выбору prediction-подходов.
Rendering и GPU-оптимизация
Разрабатывал HLSL/Cg shaders, custom URP passes и Renderer Features, single-camera rendering прицела, решения для освещения, воды, caustics и дальних деталей. Собственная система runtime depth-aware impostors дала менее 10 → 30 FPS на Xiaomi Mi A2 и сократила геометрию с 1,6–1,8 млн до ~500 тыс. полигонов. Строил texture-array material pipeline, оптимизировал меши, vertex attributes, batching, overdraw и bandwidth; работал с различиями GPU и форматов текстур на mobile/PC.
Tech Art и работа художников
Определял стандарты моделей, UV, текстур, импорта и организации контента, проектировал animation layers и ограничения зависимостей биомов. Создавал validators и инструменты, автоматизировал подготовку ассетов. Обучал художников DCC-to-GPU geometry, vertex splitting/ordering, triangulation, batching и выбору shader stage. Понимаю, как решения программистов влияют на трудоёмкость производства контента и какие ограничения нужно согласовать до реализации фичи.
Backend, инфраструктура и инструменты
Разрабатывал metagame-сервисы на ASP.NET Core, profiles, matchmaking, оркестрацию battle-серверов и supervisor процессов; использовал MongoDB/Redis и Protocol Buffers/MessagePack. Строил воспроизводимые локальные и CI-сборки, редакторские инструменты для level design/pathing и системы конфигурации gameplay. Могу оценивать задачу вместе с её серверными зависимостями, загрузкой контента и инструментами производства.
Геймдизайн и QA
Работал с геймдизайнерами над правилами, взаимодействием фич и UI/UX, связывал спецификации с реализацией, QA-приёмкой и постоянной документацией. Понимаю, как переводить дизайн в проверяемое поведение, разделять работу между направлениями и обеспечивать удобные состояния для разработки и тестирования. Это дополняет руководство командой возможностью лично разбирать технические и производственные причины проблем.