개발기·2026-08-12·약 9분

실시간 보드게임에서 연결이 끊겨도 게임을 복구하는 방식

부리부리랜드가 WebSocket, 재접속 유예, 상태 스냅샷으로 실시간 게임 흐름을 유지하는 방법을 설명합니다.

작성: 부리부리랜드 운영자 · 직접 구현하고 운영하는 게임의 플레이 경험과 서버 기록을 바탕으로 작성했습니다.작성 원칙

실시간 게임은 화면보다 서버 상태가 기준입니다

온라인 보드게임은 참가자마다 보는 화면이 조금씩 늦게 도착할 수 있습니다. 그래서 부리부리랜드는 카드를 뽑거나 말을 이동하거나 줄을 지우는 중요한 판정을 클라이언트 화면만 믿지 않고 서버의 게임 상태를 기준으로 처리합니다. 사용자가 버튼을 누르면 WebSocket 메시지가 서버로 가고, 서버는 현재 차례와 권한을 확인한 뒤 방 전체에 새 상태를 방송합니다.

이 방식은 단순해 보이지만 게임마다 숨겨야 하는 정보가 다릅니다. 마피아의 역할, 도둑잡기의 손패, 스케치 퀴즈의 정답, 인터럽트의 역할 카드는 모두 플레이어별로 다르게 보여야 합니다. 그래서 방송 직전에 관전자와 플레이어, 본인과 타인이 볼 수 있는 정보를 분리해 보내는 과정이 필요합니다.

재접속 유예와 스냅샷 복구

브라우저 탭이 잠깐 멈추거나 와이파이가 끊기면 사용자가 실제로 게임을 포기한 것인지, 몇 초 뒤 돌아올 것인지 바로 알 수 없습니다. 부리부리랜드는 이런 상황에서 일정 시간 재접속 유예를 두고, 같은 사용자가 돌아오면 현재 방과 게임 상태를 다시 보내 복구합니다. 이때 필요한 데이터가 상태 스냅샷입니다.

스냅샷은 “지금 방에 누가 있는지, 게임이 진행 중인지, 현재 차례가 누구인지, 공개 보드가 어떤 모습인지, 본인에게만 보이는 정보가 무엇인지”를 한 번에 설명하는 묶음입니다. 사용자는 이 스냅샷을 받은 뒤 중간에 놓친 방송 메시지가 있어도 현재 상태에서 다시 이어갈 수 있습니다.

관전과 플레이가 서로 방해하지 않게 만드는 이유

실시간 게임에서 관전자는 화면을 볼 수 있지만 게임 결과에 영향을 주면 안 됩니다. 예전에는 관전자가 들어오거나 나갈 때 게임 상태 방송이 과하게 발생해 플레이 중인 사람에게 끊김처럼 보이는 문제가 있었습니다. 이런 문제를 줄이기 위해 관전 입장과 플레이어 상태 변경을 분리하고, 관전자에게 필요한 화면만 따로 전달하는 방향으로 개선하고 있습니다.

사용자에게는 단순히 “게임이 멈췄다”로 보이지만 실제 원인은 세션 교체, 재접속 유예, 방 상태 방송, 게임별 종료 조건이 동시에 얽힌 경우가 많습니다. 그래서 부리부리랜드의 업데이트 기록에는 관전 안정화, 재접속 알림, 스냅샷 동기화 같은 항목이 자주 등장합니다. 실시간 멀티플레이 플랫폼은 게임 규칙만큼 연결 복구 경험이 중요합니다.

함께 읽을 글

처음 모인 친구들과 부리부리랜드에서 시작하기 좋은 게임 순서처음 방문한 친구들이 규칙 설명에 지치지 않고 자연스럽게 적응하도록 게임을 고르는 순서를 정리했습니다.모바일 브라우저에서 온라인 보드게임을 편하게 즐기는 방법설치 없이 모바일로 부리부리랜드를 플레이할 때 화면 회전, 채팅, 실시간 입력을 더 편하게 쓰는 요령입니다.

지금 바로 플레이해 보세요

전략을 직접 시험하고 싶다면, 방을 만들어 친구와 함께 플레이하세요.

게임 시작하기