В чем минусы использования единства, встроенного в сетевой менеджер?
Почему разработчики игр Unity внедряют сервер самостоятельно, а не используют встроенную NetworkManager
?
Похоже, что многопользовательские игры могут быть легко разработаны с использованием NetworkManager
, но почему разработчики сами внедряют сервер, используя node.js,... и т. д.??
1 ответ
Я понимаю, что два отдельных проекта по единству не могут общаться друг с другом с помощью Unity. HLAPI
(API высокого уровня, что к чему NetworkManager
использует).
Это означает, что вы должны иметь весь код сервера и весь код клиента в одном проекте. Это не должно быть проблемой на самом деле, но для более масштабных проектов легче отделить сервер от клиента, и вам не придется передавать весь код сервера клиентам, чтобы возможно перепроектировать.
Допустим, у вас есть круговая игра не в реальном времени, такая как скрэббл, в этом случае имеет смысл использовать узел или любой другой http
протокол, где у вас есть централизованный сервер с базой данных для сохранения игровых состояний.
Но я, честно говоря, понятия не имею, почему кто-то предпочел бы чистые сокеты, когда у вас есть Unity TLAPI
(API транспортного уровня)
Я надеюсь, что это было несколько полезно, а не просто напыщенная речь.