©2022 SANDLOT ©2022 D3PUBLISHER 제공
©2022 SANDLOT ©2022 D3PUBLISHER 제공

Earth Defense Force 6가 에픽 온라인 서비스로 한 달 만에 크로스 플레이를 도입한 방법

2024년 4월 2일
2022년 8월, 일본에서 오랜 세월 사랑받아 온 게임 시리즈의 최신작 지구방위군 6(Earth Defense Force 6, EDF6) 출시되었습니다. 지구방위군 시리즈는 2003년 '심플2000(SIMPLE2000)' 시리즈의 일부로 PS2용으로 처음 소개된 이래 20년 동안 꾸준히 인기를 누려온 3D 액션 슈팅 게임입니다. 초기에 이 게임은 분할 화면 협동 플레이(또는 경쟁 플레이)만 지원했지만 EDF4부터 온라인 코옵 플레이가 구현되면서 도전적인 게임플레이로 큰 인기를 끌었습니다.
폐허에서 아군과 함께 개미와 벌이는 전투
©2022 SANDLOT ©2022 D3PUBLISHER 제공

에픽 온라인 서비스를 선택한 이유

지금까지 EDF 시리즈는 상용 프레임워크를 사용하여 개발되었으며, 네트워크 커뮤니케이션도 커스텀 구현을 활용해 왔습니다. 애초에 EDF6는 PS4 출시를 목표로 개발되었지만, 개발 도중 후속 콘솔인 PS5가 출시되면서 'PS4와 PS5 간 호환성'과 '크로스 매치메이킹'에 대한 요구가 뒤따르게 되었습니다. 현재 시스템으로는 서로 다른 하드웨어 간의 공통성과 매치메이킹을 수용할 수 없다고 판단됐기 때문에 새로운 솔루션을 찾아야 했습니다.

바로 이러한 목적 때문에 에픽 온라인 서비스(EOS)를 선택하게 된 것입니다.

EDF6는 플레이어 여러 명이 싱글플레이어 모드에서 같은 스테이지를 공략하는 온라인 코옵 플레이를 지원합니다. 게임의 특성상 수동 매치메이킹을 시스템을 사용하기 때문에 플레이어는 로비 화면을 통해 로비를 생성하거나 참여할 수 있습니다.

이 타이틀에서 사용된 EOS 기능은 '연결,' '로비,' 'P2P'입니다. EOS는 매우 짧은 기간 내에 게임에 통합되었는데, EOS 로비 서비스를 사용하여 게임 내 로비 기능은 약 10일, EOS P2P 서비스를 사용한 게임 부분은 약 20일이 걸려 대략 총 한 달 만에 완료되었습니다.

샌드롯(Sandlot)의 소프트웨어 엔지니어 야스히로 호리우치(Yasuhiro Horiuchi)는 인터페이스를 통해 API를 호출하고 콜백을 통해 결과를 수신하는 EOS의 단순한 구조 덕분에 그토록 짧은 시간에 쉽게 구현할 수 있었다고 말했습니다. EOS는 언리얼 엔진뿐 아니라 다양한 환경에서 사용 가능하므로 상용 프레임워크를 기반으로 하는 개발에도 쉽게 통합할 수 있습니다. 로비, P2P 등 멀티플레이어 기능을 여러 플랫폼 환경에 걸쳐 제공하기 때문에 필요한 기능만 통합하여 변경을 최소화할 수 있습니다.
폐허에서 전투를 벌이는 윙다이버(Wing Divers)와 개미
©2022 SANDLOT ©2022 D3PUBLISHER 제공
출시 후 EDF6는 2023년 12월 기준 39만 장이 판매됐으며, 최고 동시 접속 플레이어 수는 거의 10만 명에 달합니다. 그럼에도 로비 기능이 문제없이 작동했습니다. 호리우치는 포트나이트의 연결을 처리할 수 있는 서버 솔루션을 극찬했습니다.
 

유연한 매치메이킹 구현

EDF6는 매치를 생성한 플레이어가 로비의 이름과 기준을 설정할 수 있고, 로비에 참여하는 플레이어는 그러한 조건을 기반으로 로비를 검색할 수 있는 간단한 매치메이킹 시스템을 갖추고 있습니다. EOS의 로비는 생성된 로비에 임의의 어트리뷰트 값을 할당하도록 허용함으로써 유연한 검색 기준을 설정할 수 있습니다.

어트리뷰트는 스트링, 인티저, 플로트, 부울 값이 될 수 있으며 검색 기준으로 사용됩니다. 이 게임은 주어진 어트리뷰트 값 기준으로 검색 결과를 정렬하는 EOS의 기능을 활용하여 새로 생성된 로비를 우선하여 표시합니다. 또한 한 번에 제한된 수의 로비만 표시되도록 관리하여, 나열된 로비 중 가장 오래된 로비의 생성 시간을 저장하고 이를 후속 검색의 필터로 사용함으로써 재검색 시 더 많은 결과를 표시합니다. 이 접근법은 EOS의 로비 기능이 간단하지만 어트리뷰트 값을 영리하게 활용해 유연한 검색을 지원한다는 점을 보여줍니다.

게임 버전, 방 상태 등의 어트리뷰트를 추가하여 다른 클라이언트 버전으로 생성되었거나 최대 수용 인원에 도달한 로비를 숨기는 기능도 구현할 수 있습니다. 어트리뷰트는 로비에 있는 멤버 수 등의 정보를 사용자에게 표시하는 것뿐만 아니라 내부 처리를 위해 데이터를 변수로 저장하는 데도 활용됩니다.
EOS 로비 서비스를 사용한 매치메이킹
©2022 SANDLOT ©2022 D3PUBLISHER 제공

원활한 커뮤니케이션 구현

게임 내 커뮤니케이션은 P2P 인터페이스를 통해 이루어집니다. 샌드롯은 이전 시리즈의 UDP 커뮤니케이션 부분을 EOS의 P2P API로 손쉽게 대체하여 전환 프로세스를 간단하게 만들었습니다.

빠른 속도의 액션 게임인 EDF6는 커뮤니케이션 속도를 우선시하며 비순차(Unordered)/비신뢰성(Unreliable) 커뮤니케이션 세팅을 사용합니다. 그러나 EOS는 다양한 사용 사례에 맞게 순서와 안정성을 환경설정할 수 있는 안정적 UDP 및 순차적인 안정적 UDP를 지원합니다.

플레이 도중 커뮤니케이션 대역폭은 다양한 커뮤니케이션 유형에 우선순위를 지정하여 특정 한계치를 초과하지 않도록 관리됩니다. 사용된 대역폭이 이 한계치에 가까워지면 덜 중요한 커뮤니케이션은 건너뜁니다. 이러한 우선순위 기반 제어는 공격이나 중요한 스테이트 변경 등의 이벤트에 대한 추가적인 트리거 기반 커뮤니케이션이 있는 피크 시간대에도 일반 게임 스테이트 동기화 커뮤니케이션을 320kbps 미만으로 유지하며, 전체 커뮤니케이션을 1Mbps 미만으로 유지합니다.

이 게임은 적 AI 커뮤니케이션에 대한 책임을 적의 표적이 된 플레이어에게 할당하여 커뮤니케이션 부하를 플레이어들 간에 분산시킵니다. 따라서 관련된 적의 원활한 동작을 보장하는 동시에 다른 플레이어의 대역폭을 절약합니다. 그러나 이 경우 여러 적의 표적이 된 단일 플레이어의 대역폭 집중도가 높아지고 멀리 있는 플레이어에 대한 적의 행동 재현 정확도가 떨어질 수 있는 등의 단점도 있습니다.
주거 단지 폐허에서 안드로이드와 벌이는 전투
©2022 SANDLOT ©2022 D3PUBLISHER 제공

EOS의 장점과 단점

EOS를 도입하면 상당한 장점이 있지만, 올바른 샘플 작업과 예외 처리를 위한 온라인 정보가 필요하다는 점 등 단점도 있습니다. 또한 EOS에서 사용하는 서버는 커스터마이제이션 없이도 충분히 잘 작동하지만 EOS 측에서 문제가 발생한 경우 사전 알림이 없기 때문에 문제를 탐지하기가 어려웠습니다.

그러나 독점 프레임워크에 쉽게 통합 가능하고 플랫폼 간의 운영상 차이점이 거의 없다는 점은 상당한 장점이었습니다. 특히 서버 운영비 없이 10만 CCU 이상을 처리할 수 있는 기능은 퍼블리셔와 개발자 모두의 재정적, 운영적 우려를 덜어준다는 점에서 높이 평가되었습니다.
주거 단지에서 개미와 탱크 간에 벌어지는 전투
©2022 SANDLOT ©2022 D3PUBLISHER 제공

미래

현재 EDF6는 PS4 및 PS5에서 이용 가능하며, 에픽게임즈 스토어 및 Steam에서의 잠재적 출시와 DLC 판매 등 제공 범위가 더욱 확대될 예정입니다.

"처음에는 퍼포먼스 관점에서 에픽 온라인 서비스에 의구심이 있었습니다." 호리우치는 말했습니다. "하지만 사용해 보니 다양한 기능을 자랑하는 API가 사용자 친화적이며 구현이 쉽다는 점을 알게 되었습니다. 지구방위군 6의 개발 도중 문제를 해결하는 데 굉장히 유용한 툴이 되었습니다. 또한 서버가 부하에 탄력적이어서 온라인 기능 사용자에게 안정적인 서비스를 제공할 수 있을 것 같습니다."

    지금 언리얼 엔진을 다운로드하세요!

    세계에서 가장 개방적이고 진보된 창작 툴을 받아보세요.
    모든 기능과 무료 소스 코드 액세스를 제공하는 언리얼 엔진은 제작에 바로 사용할 수 있습니다.