1990년대 중반의 LAN 파티부터 전 세계적인 플레이어층을 보유하는 2020년대의 MMO까지, 멀티플레이어 게임 환경은 지난 수십 년 동안 급격하게 성장하고 변화를 거듭해 왔습니다. 이에 따라 개발자의 요구 사항도 새로운 플레이어의 기대를 충족하는 방향으로 바뀌었을 것이 분명합니다.
따라서 유니티는 개발자가 뛰어난 멀티플레이어 경험을 게이머에게 제공하는 데 필요한 최신 기술에 맞게 업데이트할 수 있도록, 당사의 멀티플레이어 기술 스택을 확장하고 있습니다.
유니티의 최신 멀티플레이어 서비스 스택에서 다루는 세 가지 핵심 영역은 다음과 같습니다.
이번 포스팅에서는 다양한 규모의 스튜디오가 피어 투 피어 멀티플레이어 경험을 구현하도록 지원하는 유니티의 최신 툴인 Relay와 Lobby를 통해 연결 서비스 부문에서 유니티가 어떻게 성장하고 있는지 살펴보겠습니다.
Relayᴮᴱᵀᴬ 서비스를 이용하면 전용 게임 서버가 없더라도 플레이어를 연결하고 멀티플레이어 게임 경험을 제공할 수 있습니다. 이 서비스는 Unity Transport를 활용하여 플레이어가 서로 간편하고 안전한 피어 투 피어 통신을 수립할 수 있도록 지원합니다.
Lobbyᴮᴱᵀᴬ는 플레이어가 게임 전이나 도중에 로비에 모여 소통할 수 있도록 지원합니다.
플레이어는 간단한 속성을 사용하여 참여하고 싶은 게임 유형에 대한 공개 로비를 생성합니다. 그러면 다른 플레이어가 빠른 맞춤형 검색 기능을 이용하여 해당 로비를 검색하고 합류할 수 있습니다. 또한 초대 전용 로비를 사용하여 선택된 참가자만 참여할 수 있는 비공개 로비를 만들 수도 있습니다.
Relay와 Lobby의 기능을 결합하면 플레이어 경험을 더욱 개선할 수 있습니다. 두 서비스를 같은 프로젝트에서 사용하면 플레이어의 게임 연결이 끊길 때 서비스 간 알림이 전송되고, 연결이 끊긴 플레이어를 Relay에서 자동으로 제거합니다. 따라서 플레이어가 연결이 끊긴 상태로 로비에 남아 있지 않게 됩니다.
Relay와 Robby를 사용하는 것이 처음에는 어렵게 느껴질 수 있지만 걱정하지 마세요. 유니티에서 제작한 이 샘플에서 패키지를 사용해 일반적인 멀티플레이어 경험을 만드는 방법을 살펴볼 수 있습니다.
이 샘플에 포함된 내용은 다음과 같습니다.
이번 샘플은 멀티플레이어 로비의 모든 기능을 확인할 수 있는 버티컬 슬라이스(vertical slice) 버전으로, 정식 게임 제작에서 기대할 만한 추가 인프라뿐만 아니라 다양한 서비스가 함께 작동하도록 지원하는 일부 컴포넌트까지 갖추고 있습니다. 이 문서에서 체험 학습용 샘플의 설치 방법을 확인하세요.
뛰어난 멀티플레이어 경험을 제공하고 싶다면 Relay와 Lobby 베타에 참여하세요. 아울러 멀티플레이어 게임 구축에 필요한 안정적인 기반을 제공하는 게임 오브젝트용 Netcode에 대해 알아보세요.
유니티 포럼과 멀티플레이어 서비스 Discord에 참여하면, 유니티 팀을 비롯하여 해당 기술을 이미 프로젝트에 사용 중인 다른 개발자들과 직접 이야기를 나눌 수 있습니다.