В чем минусы использования единства, встроенного в сетевой менеджер?

Почему разработчики игр Unity внедряют сервер самостоятельно, а не используют встроенную NetworkManager?

Похоже, что многопользовательские игры могут быть легко разработаны с использованием NetworkManager, но почему разработчики сами внедряют сервер, используя node.js,... и т. д.??

1 ответ

Я понимаю, что два отдельных проекта по единству не могут общаться друг с другом с помощью Unity. HLAPI (API высокого уровня, что к чему NetworkManager использует).

Это означает, что вы должны иметь весь код сервера и весь код клиента в одном проекте. Это не должно быть проблемой на самом деле, но для более масштабных проектов легче отделить сервер от клиента, и вам не придется передавать весь код сервера клиентам, чтобы возможно перепроектировать.

Допустим, у вас есть круговая игра не в реальном времени, такая как скрэббл, в этом случае имеет смысл использовать узел или любой другой http протокол, где у вас есть централизованный сервер с базой данных для сохранения игровых состояний.

Но я, честно говоря, понятия не имею, почему кто-то предпочел бы чистые сокеты, когда у вас есть Unity TLAPI (API транспортного уровня)

https://docs.unity3d.com/Manual/UNetUsingTransport.html

Я надеюсь, что это было несколько полезно, а не просто напыщенная речь.

Другие вопросы по тегам