Cube Slam: WebRTC 기반 실시간 브라우저 게임

Source

  • Evernote/Technote scraps/Play Cube Slam, a real-time WebRTC video game.md

Summary

Cube Slam은 WebRTC 기술을 활용하여 브라우저에서 플러그인 없이 실시간으로 플레이할 수 있는 아케이드 게임입니다. 이 문서는 Cube Slam이 getUserMedia(카메라/마이크), RTCPeerConnection(비디오 스트리밍), RTCDataChannel(게임 동기화 데이터 전송)을 어떻게 사용하는지 설명합니다. 방화벽 환경에서는 TURN 서버를 중계로 사용하지만, 가능하면 P2P 연결을 통해 지연 시간을 줄입니다. 특히 RTCDataChannel은 WebSocket과 유사하지만 P2P 링크를 통해 데이터를 전송하며, 게임의 낮은 지연 시간 확보를 위해 ‘신뢰할 수 없는(unreliable)’ 모드를 지원합니다. 당시 데스크톱 Chrome에서만 해당 모드를 지원했으며, 향후 표준 SCTP 프로토콜을 통한 신뢰 모드 지원과 모바일 브라우저 확장이 계획되어 있었습니다.

Key Points

  • WebRTC 기반 브라우저 게임으로 플러그인 설치 불필요
  • getUserMedia, RTCPeerConnection, RTCDataChannel의 실제 적용 사례
  • RTCDataChannel의 ‘unreliable mode’를 통한 게임 지연 시간 최소화
  • P2P 연결 우선, 방화벽 시 TURN 서버 중계
  • 2013년 기준 기술 현황: 데스크톱 Chrome 중심, 모바일/다른 브라우저 지원 예정