Node.js와 Socket.io로 대규모 멀티 플레이어 게임을 만들고 있습니다. 모든 플레이어는 동일한 무한지도에서 움직입니다 (Minecraft 생각). 플레이어가 움직일 때 볼 수있는 타일을로드합니다. 플레이어가 자신의 움직임을 움직일 때 볼 수있는 모든 플레이어에게 보내야합니다.멀티 플레이어에서 소켓 관리하기 Socket.io Game
내 질문은; 내 소켓을 어떻게 구조화해야합니까? 모든 플레이어에 대해 하나의 소켓을 가지는 것은 규모면에서와 같이 보이지 않습니다. 나는 세계를 청크로 분할 할 수는 있지만 청크 경계를 관리하는 방법을 잘 모릅니다. 대부분의 플레이어는 대부분의 시간을 볼 수 없기 때문에 각 플레이어의 소켓 만 관련 정보를 얻을 수 있기를 바랍니다.
나는 Socket.io가 동일한 메시지를받는 소켓 인 "rooms"개념을 가지고 있다고 읽었습니다. 근처에 움직이는 다른 플레이어의 소켓을 추가 할 수있는 연결된 플레이어마다 별도의 공간을 마련하는 것이 타당할까요? 그러면 플레이어가 움직일 때마다 그 방으로 메시지를 보낼 수 있습니다. 시청자가 퇴실하거나 방에 들어올 때 어떻게 관리 할 수 있습니까?
분명히 이것은 모호한 질문이지만, 모범 사례 조언을 찾고 있습니다. 주제에 대한 기사 링크는 높이 평가됩니다.
[Quadtrees] (http://en.wikipedia.org/wiki/Quadtree)를 사용하여 플레이어 위치를 찾은 적이 있습니까? 이것에 접근하는 방법을 찾기 시작할 수있는 좋은 곳은 [BrowserQuest source] (https://github.com/mozilla/BrowserQuest)입니다. – hughsk