Есть почти готовая игра (PC, Unity 2022.3 LTS, URP) в жанре top-down roguelite. Сейчас одиночный режим работает стабильно, контент и UI готовы примерно на 80%. Требуется довести проект до состояния готовой сборки с рабочим сетевым кооперативом на 2-4 игроков и корректной интеграцией со Steam. Исходная ситуация - Проект Unity в Git (репозиторий предоставлю), есть сцены: MainMenu, Lobby, Game, Results - Сетевой слой частично начат на Mirror, но сейчас отключен из-за десинхронизаций и проблем с авторитетом - Есть система предметов и оружия на ScriptableObject, спавнеры, волны врагов, сохранение прогресса в JSON локально - Используются Cinemachine, Addressables (частично), новый Input System Что должно быть сделано - Перевести мультиплеер на стабильную рабочую схему на базе Mirror или Netcode for GameObjects (можно предложить альтернативу, но важно уложиться во время и не переписать половину игры) - Реализовать лобби и подключение через Steam (Steamworks.NET) - приглашения, join по invite, отображение статуса игроков в лобби - Синхронизация ключевой логики матча: спавн и смерть игроков, здоровье, урон, подбор предметов, открытие дверей, завершение волны, переход на Results - Решить текущие проблемы десинка - единый источник истины для RNG (сид), авторитет на сервере для боевой логики, предсказание не требуется - Сборка в виде готового билда Windows x64, плюс инструкция как собирать и тестировать Ограничения и техническая среда - Unity 2022.3 LTS, C#, URP - Допустимо добавить 1-2 проверенных ассета/пакета, но без платных подписок и без переноса на другой движок - Сохранить текущую архитектуру данных на ScriptableObject и существующий UI, переработки визуала не нужны - Время подключения к лобби и старт матча должны быть в разумных пределах без ручных танцев с портами (Steam P2P или Steam relay) Измеримые критерии приемки 1) 4 игрока могут создать лобби в Steam, отправить приглашение, подключиться и синхронно стартовать матч 2) В 20-минутном тестовом прогоне на 4 игрока нет критических рассинхронизаций - у всех одинаковые результаты волны, состояние дверей, состав лута, итоговый экран совпадает 3) Подбор предметов не дублируется и не пропадает - один предмет может быть поднят только одним игроком, состояние корректно реплицируется 4) После вайпа всей группы или победы происходит корректный переход на Results у всех клиентов, без зависаний и повторных загрузок 5) В репозитории есть краткий README - как запустить 2-4 инстанса локально, как протестировать через Steam (Spacewar AppID допустим для теста) Промежуточные этапы - Аудит текущего сетевого слоя и предложенная схема авторитета/синхронизации (короткий план до начала активной переписки кода) - Внедрение лобби/инвайтов Steam и базового подключения - Синхронизация матча и фиксы десинка - Финальная стабилизация, сборка, README, небольшой чеклист тестов Результат - Репозиторий с рабочим сетевым кооперативом, Steam-инвайтами и готовой Windows-сборкой, проходящей критерии приемки.