💡 Projects/드로잉 게임 [눈치 코치 캐치!]

    [눈치 코치 캐치!] DB 동시성 제어 문제 해결

    시작하기 전에 [눈치 코치 캐치!]의 MVP를 완성하고 런칭의 기쁨도 잠시, 다양한 피드백을 마주하게 되었다. 그중 내가 맡아 개선한 부분은 ‘게임 진행 중 시간제한(타이머)’ 기능을 추가한 것이었다. 게임에 참여하고 있는 모든 유저가 키워드나 그림을 제출해야만 다음 라운드로 넘어갈 수 있기 때문에 시간제한을 두지 않으면 게임이 지루해진다는 의견이 있었고, 전적으로 동의했다. 빠르게 기능을 개발하면서 한 가지 문제 상황을 맞닥뜨렸다. 지금부터 이 문제를 해결하기 위해 어떤 시도를 했고, 어떤 방식으로 해결했는지 적어보려 한다. 차근차근 문제부터 뜯어보자! 문제 상황 제한 시간을 넘어 미처 제출하지 못한 유저의 키워드나 이미지가 일괄 자동 제출 되었을 때 DB에 제대로 데이터가 쌓이지 않아 다음 라운드로 ..

    [눈치 캐치 코치!] 본격 Spring으로 시그널링 서버 구축하기

    시작하기 전에 지난 글에서 WebRTC를 구현하기 위한 방식으로는 Mesh 방식을, 그에 따라 필요한 시그널링 서버는 WebSocket을 통신 프로토콜로 사용하여 Spring Boot로 구축하기로 결정했다. 👇아직 이전글을 보지 않았다면?👇 [눈치 코치 캐치!] WebRTC를 어떻게 구현해야 할까? 시작하기 전에 지난 글에서 WebRTC에 대해 알아보았다. 그럼 이제 우리의 [눈치 코치 캐치!] 드로잉 게임 서비스에 맞게 WebRTC를 구현해야 한다. WebRTC를 어떻게 구현해야 할까? 👇아직 이전글을 보 oneul-losnue.tistory.com [눈치 코치 캐치!] WebRTC 한 방에 정리하기 시작하기 전에 이번 프로젝트에서 실시간 게임을 개발하고 있다. 웹 게임이지만 함께 있는 듯한 느낌을 주..

    [눈치 코치 캐치!] WebRTC를 어떻게 구현해야 할까?

    시작하기 전에 지난 글에서 WebRTC에 대해 알아보았다. 그럼 이제 우리의 [눈치 코치 캐치!] 드로잉 게임 서비스에 맞게 WebRTC를 구현해야 한다. WebRTC를 어떻게 구현해야 할까? 👇아직 이전글을 보지 않았다면?👇 [눈치 코치 캐치!] WebRTC 한 방에 정리하기 시작하기 전에 이번 프로젝트에서 실시간 게임을 개발하고 있다. 웹 게임이지만 함께 있는 듯한 느낌을 주기 위해 음성 채팅 기능을 고려하게 되었고, WebRTC를 접하게 되었다. 이것만으로 영상 oneul-losnue.tistory.com 첫 번째 고민, WebRTC의 방식 선택 WebRTC의 다양한 방식(Mesh vs SFU vs MCU) WebRTC는 기본적으로 서버를 사용하지 않는 P2P(Peer to Peer) 방식을 사용한..

    [눈치 코치 캐치!] WebRTC 한 방에 정리하기

    시작하기 전에 이번 프로젝트에서 실시간 게임을 개발하고 있다. 웹 게임이지만 함께 있는 듯한 느낌을 주기 위해 음성 채팅 기능을 고려하게 되었고, WebRTC를 접하게 되었다. 이것만으로 영상 통화도 가능하다고?! 그래서 WebRTC가 뭔데..! 지금부터 차근차근 알아보자. WebRTC가 뭔데? 드라이버나 별도의 플러그인 설치 없이 실시간 소통(비디오, 오디오)이 가능하도록 만들어주는 기술. 기본적으로는 P2P (Peer to Peer), 즉 두 단말이 서로 1:1 통신을 하게 되어있다. 웹에서 실시간 미디어 스트림을 송수신할 수 있는 유일한 표준이고 또 유일한 P2P 표준이기도 하다. WebRTC는 표준임과 동시에 표준을 구현한 오픈소스 프로젝트의 이름이라고 한다. (사실 프로젝트가 먼저 있었고 표준화..