2017-01-30 21 views
2

Я изучаю, как создать игру в единстве, и теперь я пытаюсь сделать сверху вниз 2d rpg с сетевым мультиплеерным, но я действительно не хочу пользуйтесь услугами, предоставляемыми единством. Вместо этого, я хочу, чтобы пользователь, созданный мной в C# с UDP.Движение других игроков по udp socket (UNITY)

Прямо сейчас, каждый раз, когда пользователь нажимает клавиши перемещения, он перемещается локально и отправляет новый x & y на сервер. Сервер отправит это сообщение движения всем другим игрокам в этом районе. Когда пользователь получает сообщение о движении из сети, он найдет объект с идентификатором в сообщении и установит x & y в том виде, в котором он был получен.

Хорошо, теперь я вижу, как другие игроки двигаются, но .. Правильно ли это сделать? Coz, я думаю, что игрок всегда будет двигаться быстрее локально, чем в других игроках. Или, может быть, udp достаточно быстр, поэтому мне просто не нужно думать об этой задержке?

Если у кого-нибудь есть пример такой игры, чтобы отправить меня, было бы здорово.

Спасибо!

+0

Вы не имели дела с отброшенными пакетами. У вас будут клиенты не синхронизированы. –

+0

Я использую этот lib https://github.com/RevenantX/LiteNetLib для отправки надежных и упорядоченных сообщений с небольшими накладными расходами –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^