핑글 스튜디오가 멀티플랫폼에서 멀티플레이어를 구현하기 위해 취한 단계와 프로젝트에서 얻은 5가지 주요 시사점을 소개합니다.
관련 분야: 프로그래밍, 게임 기획, 콘솔
작성자: Denys Slipchuk, Yurii Dudnik
이번 에피소드에서는 핑글 스튜디오의 언리얼 엔진 부서 프로젝트 리드인 유리 더드닉(Yurii Dudnik)과 데니스 슬립척(Denys Slipchuk)이 인서전시의 멀티 플랫폼 크로스 플레이의 복잡한 과정을 안내합니다.
안녕하세요, 핑글 스튜디오의 QA 프로젝트 리드 유리 더드닉(Yurii Dudnik)과 언리얼 엔진 부서의 프로젝트 리드 데니스 슬립척(Denys Slipchuk)입니다.
인서전시는 이라크 전쟁을 배경으로 한 멀티플레이어 전술 1인칭 슈팅 게임입니다. 원래 PC용으로 개발된 이 게임은 핑글 게임 스튜디오에서 플레이스테이션 4, 엑스박스 원, 플레이스테이션 5, 엑스박스 시리즈, 에픽게임즈 스토어로 포팅했습니다. 또한 핑글 게임 스튜디오는 PC(Microsoft Store)와 Xbox One 간의 크로스 플레이를 지원합니다.
주요 목표는 서로 다른 플랫폼, 특히 PC와 콘솔을 사용하는 플레이어가 같은 경기에 참여할 수 있도록 하는 것이었습니다.
이 통합의 초기 단계에서는 Microsoft Store와 Xbox One 및 Xbox 시리즈를 포함한 Xbox 플랫폼 간의 완전한 크로스 플레이 기능을 제공했습니다. 향후 업데이트를 통해 모든 플랫폼에서 글로벌 크로스 플레이를 지원할 계획입니다.
이러한 개발의 가장 큰 장점은 인서전시가 Xbox Game Pass에 포함되어 구독을 통해 이용할 수 있게 되었다는 점입니다. 이러한 접근성 덕분에 게임의 사용자 기반이 크게 증가하여 3~4배로 늘어났습니다.
크로스 플레이 제작 파이프라인은 다음과 같습니다:
우리 앞에 놓인 과제 정의하기. 특정 타이틀과 이미 통합된 기능의 양에 따라 범위가 달라질 수 있습니다;
크로스 플레이를 위한 인증 요건 파악 - 실제로 상당히 많은 요건이 있습니다;
작업 완료에 필요한 시간 추정: 개발, 테스트 및 다듬는 데 2~3개월이 소요되었습니다;
기능 구현;
폴리싱;
테스트;
인증;
새 업데이트에서 기능 출시
주요 작업은 다음과 같이 요약할 수 있습니다:
추가 게임 설정 통합: 이 설정을 통해 플레이어는 다른 플랫폼으로 플레이할지 여부를 선택하고 사용할 입력 장치(키보드 및 마우스 또는 게임 패드)를 선택할 수 있습니다. 이러한 매개변수는 온라인 PVE 및 PVP 매치에서 플레이어가 매칭되는 방식에 영향을 줍니다.
매치메이킹 백엔드 조정: 여기에는 각 플레이어가 사용하는 플랫폼을 고려하여 사용자가 선택한 설정에 따라 매치를 생성하도록 시스템을 구성하는 작업이 포함됩니다.
Xbox 콘솔에서 키보드 및 마우스 지원: Xbox One 및 Xbox 시리즈 콘솔에서 모든 게임 메뉴와 게임 플레이 중에 키보드 및 마우스를 사용할 수 있도록 하는 작업입니다.
크로스 파티 시스템: 이 시스템을 통해 플레이어는 같은 플랫폼 내에서뿐만 아니라 PC와 콘솔 간에도 그룹을 구성할 수 있습니다.
각 단계에 대한 자세한 내용은 다음과 같습니다:
1단계: Xbox One에서 마우스 및 키보드 컨트롤을 관리하기 위한 시스템 개발
이 단계에서는 몇 가지 추가 과제가 있었습니다. 처음 게임을 포팅할 당시에는 게임패드 외에는 아무것도 지원하도록 설계되지 않았고 콘솔 크로스 플레이는 고려조차 하지 않았습니다. 그 결과, 원래 콘솔에서 키보드와 마우스를 지원하도록 설정되지 않은 게임의 근본적인 측면을 다시 점검해야 했습니다. 하지만 이 경험을 통해 얻은 교훈으로 이제는 포팅 시작 단계부터 다양한 입력 장치를 사용할 수 있는 가능성을 고려하고 있습니다. 향후 지원에 대한 이러한 선견지명은 다른 스튜디오에도 권장할 만한 사항입니다.
2단계: Xbox One 플레이어가 마우스/키보드 또는 게임패드 컨트롤 중에서 선택할 수 있는 선택 시스템 개발
입력 장치를 선택하거나 크로스 플레이 매치를 활성화하는 옵션을 구현하는 것은 비교적 간단하며 몇 단계만 거치면 완료할 수 있습니다. 하지만 플레이어가 게임을 시작할 때마다 기본 설정을 다시 구성하지 않도록 이러한 설정을 사용자 프로필에 저장하는 것이 중요합니다.
또한, 현재 사용자를 인식하고 새 기기를 연결하기 전에 이를 인식하도록 일부 엔진 기능을 수정해야 했습니다. 이 업데이트는 UI 힌트 및 기타 설정을 새로 고치는 데 필수적입니다. 콘솔에서 사용자 변경 사항을 처리하는 기존 엔진의 접근 방식은 너무 복잡해서 우리 프로젝트의 요구 사항에 적합하지 않았습니다. 게다가 처음에는 엔진에 키보드가 연결되어 있는지 감지하는 기능이 없었기 때문에 이 기능을 직접 개발해야 했습니다.
3단계: 크로스 파티 및 크로스 매치메이킹을 위한 콘솔 기능 강화
파티 간 지원 통합은 파티 리더나 멤버가 서로 다른 플랫폼에서 서로 다른 설정을 사용하는 시나리오를 처리합니다. 시스템은 이러한 설정을 인식하고 사용자가 다른 플랫폼의 구성원이 포함된 파티에 참여하려고 할 때 사용자에게 경고합니다. 사용자가 파티 초대를 수락하면 시스템은 파티 리더와 초대된 사용자의 설정을 모두 확인하고 비교합니다. 이를 통해 파티에 참여하기 전에 모든 기본 설정이 적절하게 조정되고 전달되도록 합니다.
4단계: 다양한 시스템 간 파티 요구 사항 탐색하기
이는 폭넓은 사고가 필요하고 해결해야 할 테스트 케이스가 크게 늘어난 정말 독특한 경험이었습니다. 가장 먼저 직면한 과제 중 하나는 일본 시간대를 선택하면 활성화되는 유럽 지역용 빌드에서 일본 지역을 구현하는 것이었습니다. 일본 지역은 피와 헝겊 인형의 절단면을 제외해야 하기 때문에 다른 지역과 구별됩니다. 또한 콘솔을 위한 다른 플랫폼별 기능도 작동해야 했습니다. 예를 들어 PlayStation 4에서는 확인 버튼을 십자 모양에서 원 모양으로 변경해야 했습니다.
또 다른 주요 문제는 Microsoft Store PC와 Xbox One, Xbox 시리즈 간의 크로스 플레이를 활성화하는 것이었습니다. 가장 큰 과제는 플레이어 간에 가능한 상호작용을 결정하는 것이었습니다. MS PC의 경우 키보드와 마우스 또는 컨트롤러와 같은 옵션, 크로스플레이를 켜고 끌지 여부, 즉 PC 유저와만 플레이할지 아니면 Xbox 플레이어와도 플레이할지 여부 등 수많은 조합이 가능했습니다.
또한 PlayStation 5의 경우 적응형 트리거를 도입하고 진동 시스템을 재설계했으며, 매치메이킹 기능이 있는 게임에 대한 지원이 필요한 특정 사례를 개발하는 한편 액티비티를 만들었습니다. 특히 주목할 만한 점은 PlayStation 5의 TRC 요건에 맞춰 관전자 모드를 혁신적으로 구현한 것입니다.
5단계: Steam 및 에픽게임즈 스토어와 동등한 Microsoft Store용 게임 버전을 개발합니다.
새로운 플랫폼을 위해 개발할 때는 콘텐츠 동등성을 보장하는 것이 중요하기 때문에 모드와 커뮤니티 서버를 Microsoft Store 버전에 통합하기로 결정했습니다. 현재로서는 Microsoft Store는 자체 및 Xbox 콘솔과 상호 작용할 수 있는 독립적인 PC 플랫폼으로 간주되지만, 향후 업데이트를 통해 발전할 수 있습니다.
결론
사전 계획: 프로젝트의 성공적인 구현을 위해서는 모든 크로스 플레이 개발 단계에 대한 철저한 계획이 필수적입니다.
디테일에 대한 주의: 다양한 입력 유형을 지원하거나 매치 검색 시 제한을 설정하는 등 사소한 부분에도 주의를 기울이는 것이 사용자 친화적이고 기능적인 게임 환경을 만드는 데 핵심입니다.
유연성과 적응성: 잠재적인 인기 증가와 기술 발전을 고려할 때, 개발 초기부터 새로운 디바이스에 대한 기능 확장 및 지원을 계획하는 것이 중요합니다.
경험에서 배우기: 이전 경험을 분석하고 이러한 인사이트를 향후 프로젝트에 적용하면 유사한 문제를 방지하고 전반적인 개발 프로세스를 개선하는 데 도움이 될 수 있습니다.
* 원문:
Deep Dive: Console cross-play and how we made it work in Insurgency
Here are the steps Pingle Studios took to implement multiplayer on multiplatform, with five key takeaways from the project.
www.gamedeveloper.com
* 게임 사이트: https://store.steampowered.com/app/222880/Insurgency/
Save 66% on Insurgency on Steam
Take to the streets for intense close quarters combat, where a team's survival depends upon securing crucial strongholds and destroying enemy supply in this multiplayer and cooperative Source Engine based experience.
store.steampowered.com
'게임개발 > 가마수트라' 카테고리의 다른 글
게임 프로그래밍이란 무엇이며 어떻게 게임 프로그래머가 될 수 있을까요? (0) | 2024.06.14 |
---|---|
심층 분석: 하드웨어 장애물을 극복하고 [킹덤 컴: 딜리버런스]를 스위치로 이식하기 (3) | 2024.05.28 |
공포를 활용하여 좋은 공포 게임 만들기 (0) | 2024.05.27 |
만족스러운 좌절감: 도덕적 성찰을 유도하는 매력적인 게임을 만드는 방법 (0) | 2024.05.27 |
<브로큰 소드 리마스터>가 포인트 앤 클릭 난이도를 부드럽게 만든 방법 (0) | 2024.05.14 |
댓글