Є майже готова гра (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-складанням, що проходить критерії приймання.