rights reserved. Redistribution or public display is not permitted without written permission from Kakao. 김시은 eddy.games 카카오게임즈 if(kakao)2022 WebRTC 기반 게임 리모트 플레이
수 있는 롤플레잉 게임입니다. MMORPG 에서 는 게임 속 캐릭터의 레벨과 능력치가 중요해서, 게임 사용자는 캐릭터를 키우기 위해서 많은 시간과 노력 이 필요합니다. 자동 사냥은 온라인 게임 공간의 내 캐릭터가 자동으 로 몬스터를 사냥하며 레벨과 경험치를 쌓게 하는 시 스템입니다. 자동 사냥을 활용하면 시간 없는 직장인 입장에서는 짧은 시간에 내 캐릭터를 성장시킬 수 있 습니다. MMORPG 자동 사냥
온라인 서비스를 많이 사용하게 되었습니다. 재택 근무로 인한 온라인 화상 회의 비중이 늘어났으며, 오디오 기반 소셜서비스가 폭발적인 인기를 얻게 되었습니다. 이 와 같은 실시간 커뮤니케이션 서비스를 위한 기술이 바로 WebRTC 이며 메타버스, 게임 스트리밍, 헬스케어 등 다 양한 업계에서 WebRTC 는 활용되고 있습니다.
기술입니다. 서로 다른 네트워크에 있는 클라이언트가 상대방의 IP, 미디어 유형, 코덱 등 초기화하는 과정을 시 그널링이라 부르며, 이를 지원하는 서버가 시그널링 서 버 입니다. NAT 는 퍼블릭망과 내부망의 IP와 Port 를 매핑해주 는 역할을 하는데, Stun 서버는 클라이언트가 NAT 환 경에 있는 경우 Public 종단에서 접근 가능한 IP 와 Port 를 판단해서 알려주는 역할을 합니다. 하지만, Stun 서버를 사용해도 P2P 통신이 어려운 경 우가 있는데, 이때는 Turn 서버를 구축해서 미디어 데 이터를 대신 전달해줘야 합니다. Turn 서버는 퍼블릭 환경에서 접근 가능하며 미디어 데이터를 대신 전달하 기 때문에 서버 리소스가 소모됩니다. WebRTC 백엔드 아키텍처
기반 게임 리모트 플레이 개발 - 리모트 플레이는 플러그인 설치 없이 저사양 모바일에서도 원격으로 게임 플레이 가능 - 백엔드 시스템의 핵심 모듈은 시그널링 서버, Stun/Turn 서버 - 상대방의 IP 주소, 미디어 정보 등 사전 협의를 위한 웹소켓 기반 시그널링 서버 구축 - 3가지 통신 방법 (직접 P2P 통신, Stun 에 의한 P2P 통신, Turn 에 의한 릴레이 통신) - 백엔드 파트에서의 고민 (시그널링 서버 역할, WebRTC 보안, 미디어 서버 등)
서비스 개발 - 백엔드 파트 : 시그널링 서버, 웹소켓 기술 이해, Turn Server, UDP - 프론트엔드 파트 : WebRTC JavaScript API 이해 (getUserMedia, RTCPeerConnection, RTCDataChannel) - PeerConnection, DataChannel 에 대한 이해 - 같은 네트워크 대역의 로컬 환경에서는 Turn Sever 없이 통신 가능