Я создаю многопользовательскую игру с Node.js и Socket.io.Все игроки будут перемещаться по одной и той же бесконечной карте (подумайте о Minecraft).Когда игрок движется, я загружаю плитки, которые им видны.Когда игроки двигаются, их движения должны быть отправлены всем игрокам, которые их видят.
Мой вопрос;как я должен идти о структурировании моих сокетов?Кажется, что одна розетка для всех игроков не будет масштабироваться.Я мог бы разделить мир на куски, но я не уверен, как управлять границами кусков.Поскольку большинство игроков не смогут видеть друг друга большую часть времени, я бы предпочел, чтобы сокеты каждого игрока получали только обновления, которые имеют к ним отношение.
Я читал, что в Socket.io есть концепцияиз «комнат», которые являются просто сокеты, которые получают те же сообщения.Было бы возможно иметь отдельную комнату для каждого подключенного игрока, к которой я бы добавил гнездо любого другого игрока, который перемещается поблизости?Затем каждый раз, когда игрок двигался, я мог послать сообщение в эту комнату.Как тогда я смогу справиться, когда зрители уходят из комнаты или присоединяются к ней?
Очевидно, что это неясный вопрос, но я просто ищу совет передовой практики.Буду признателен за ссылки на статьи на эту тему.