Всем привет, ищу Unity разработчиков, которые хорошо разбираются в мультиплеере, а именно я использую сейчас Netcode for Gameobjects для сети p2p. Хочется разных мнений, обсуждений, чтобы больше набраться опыта в сетях, узнать кто какие использует подходы в реализации сетевых объектов в игре, какие есть решения для оптимизации передачи данных по сети и т.д.
Ты можешь здесь сразу задавать конкретные вопросы и наверняка кто-нибудь что-то подскажет. На то форум и нужен.
подходы в реализации сетевых объектов в игре
Такие либы как NetCode, Mirror, Photon, Fishnet и т.п. - это все одного сорта хай-лвл сетевое апи для unity. Они уже дают готовый подход для разработки сетевых проектов, ничего особо выдумывать там не надо, читай доки, смотри сэмплы + долби нейронки. Ну и все очень сильно зависит от того какая игра планируется.
Jaxel
Мне больше интересно кто какие использует архитектурные подходы. Делить компонент объекта на локальный и его сетевое отображение или делать только один компонент, в котором делать проверки на "владелец", "невладелец", "хост" и т.д. Делать ли какой-то мост-компонент для обработки действий и поведения между локальным объектом и его сетевым отображением. И вот хочется узнать кто какие подходы использует, и почему именно такой подход
lprotasevich
На мой взгляд нет смысла делить на отдельные компоненты сеть/клиент. Это не совсем стакается с подходом, который изначально заложен в таких решениях. Неткод, например, может реплицировать стейт через NetworkVariable и это намного удобнее, чем иметь разные модели для клиента и сервера.
делать проверки на "владелец", "невладелец", "хост" и т.д
Да. Я на своих проектах всю сетевую логику держу в отдельных классах с префиксом "Network", которые являются своего рода шиной между api либы и моим кодом. Через такие классы я только гоняю стейты (NetworkVariable) или команды (RPC), а остальной игровой код никак не зависим от выбранной либы.