Если просят войти через iCloud, отправить коды из SMS, запустить код, что-то установить, перевести деньги или сделать что угодно, связанное с деньгами, не соглашайтесь: это признаки мошенничества.
.NET разработчик
генерация резюме
сопроводительное письмо
описание
«Empire's Battle Combat Arena» — пошаговая тактическая 2D-игра на клеточной сетке с режимами PvE (одиночные бои, боссы, бесконечное подземелье) и PvP (бои между игроками). Проект собирается под WebGL и интегрирован как Telegram Mini App: Unity-клиент работает внутри React-обёртки и обменивается с ней сообщениями через JavaScript-мост.
задачи
- Развивать игровые механики: новые герои, скиллы (активные и пассивные), боссы, типы подземелий, сезонные ивенты — добавление в существующий `SkillRegistry` и систему эффектов;
- Работать с PvP-стейтами (`PvpPlayerTurnState`, `PvpOpponentTurnState`): синхронизация ходов через mirror-action, обработка реконнектов, расширение анти-чит механик (P2PSecurityManager, P2PConsensusManager);
- Интегрировать с бэкендом и Telegram WebApp: работа с `TelegramAuthorizationProvider`, `TelegramProvider`, новый Game API, обработка событий жизненного цикла боя;
- Оптимизировать WebGL-билд: размер, время загрузки, потребление памяти, профилировка GC, корректная работа Addressables в браузере;
- Рефакторить и снижать техдолг: декомпозиция классов уровня `Hero.cs` (~2000 строк) и состояний боя (~1500–2000 строк) на более узкие компоненты, выделение сервисов;
- Дорабатывать UI-фичи: боевой HUD, экраны выбора героев, инвентарь зелий и реликвий, локализация интерфейса;
- Поддерживать билд-пайплайн и CI: сборка через GitLab CI, автодеплой WebGL-билдов в Telegram-окружение;
- Проводить code review MR коллег, поддерживать стиль и архитектурные конвенции проекта.
требования
- Минимум 3 года коммерческого опыта на Unity, из них не менее 1 года на одном продакшен-проекте средней или крупной кодовой базы (от 30k+ строк C#);
- Опыт сборки и оптимизации проектов под WebGL (вес билда, прогрев Addressables, ограничения памяти, `[DllImport("__Internal")]`, `Application.ExternalEval`);
- Опыт с сетевым мультиплеером с детерминированной логикой (ходовая синхронизация, lockstep / mirror-action, fixed-point или deterministic random);
- C# на уровне выше среднего: делегаты и события, generics, LINQ, async/await, понимание GC и аллокаций в Unity-контексте;
- Unity API: Addressables, корутины, UniTask, ScriptableObject как контентные конфиги, MonoBehaviour-жизненный цикл, Animator, Particle System, 2D Sprite Renderer;
- Архитектурные паттерны: State Machine (в проекте две вложенные иерархии состояний), Observer/Event-driven, Service Locator или DI, MVC/MVP для UI, фабрики;
- Работа с сетью: REST-клиенты (Best HTTP или UnityWebRequest), сериализация Newtonsoft.Json, обработка ошибок и реконнектов, понимание JWT/Bearer токенов;
- Отладка и профилирование: Unity Profiler, Memory Profiler, Frame Debugger, отладка WebGL-билдов в браузере (Chrome DevTools, .symbols);
- Git и командная работа в GitLab: ветки, MR/Code Review, понимание merge-конфликтов, написание адекватных коммит-сообщений;
- Будет плюсом опыт работы с Odin Inspector, декомпозиции и рефакторинга крупных монолитных классов, понимание основ криптографии и анти-чит механик, опыт работы с пошаговыми тактическими играми, знание JavaScript/TypeScript на базовом уровне, опыт интеграции IAP, рекламы, аналитики.
условия
- Неполный рабочий день.
навыки