[Ice Craft] - 실시간 화상 게임 서비스

배포 주소
프로젝트 기간
2024/03/25 → 2024/04/30
시연영상
유저피드백결과지
테스트 ID / PW

Into Stunning Space, IceCraft!

젭, 줌 등 화상채팅을 기반으로 한 모임에서 다양한 게임을 통해 Icebreaking을 하는 웹사이트입니다.
마피아, 노래 맞추기 등 다양한 서비스 준비 중
Livekit을 사용하여 화상채팅을 구현하고 soketIO를 사용하여 프론트/백엔드 간 통신을 활용하여 마피아 게임을 구현했습니다.

 아키텍쳐

 주요 기술

WebRTC 기반 화상 커뮤니케이션 마피아 게임

기술적 의사결정

SEO에 유리, 이미지 최적화
앱 라우팅으로 유연한 라우팅 구성을 할 수 있음
일정 시간마다 자동으로 페이지를 렌더링하는 기능(ISR)이 필요 (랭킹 페이지)
계정, 방, 게임 진행에 필요한 데이터 등 대량의 데이터가 필요
여러 사용자가 데이터에 동시에 접근해서 데이터를 생성, 조회, 수정, 삭제하는 기능 필요
DB 대량의 작업이 필요하며 supabase는 DB API 사용에 제한이 없음
필요한 데이터들은 대부분 텍스트라서 트래픽 사용량 제한도 양호
SQL문을 직접 작성할 필요 없어 공식 문서에서 지원하는 API 사용 가능
Auth 긴능을 제공해서 계정과 로그인 기능 제공
방 기능과 게임 진행 기능은 server에서 관리하고 client는 유저의 입력을 받아 server에게 전달하여 게임을 진행
클라이언트와 게임 로직을 서버에서 중앙 통제 방식으로 진행
서버가 고성능을 요구하지 않음
server 개발 시간 대비 효율성이 좋음
socket.io에서 공식적으로 지원
서버와 클라이언트간의 양방향 통신과 빠른 통신이 필요
socket.io는 소켓 방식 중에서도 여러 기능을 제공 (네임스페이스, 룸, 브로드캐스트, 다양한 자료형 전달)
Next.js 13버전 이상의 라이브러리 지원
마피아 게임에 필수적인 요소 지원 (화상 카메라 및 마이크)
다양한 components와 hooks를 제공

 팀원

Search