오픈 게임 월드
이 타이틀은 플레이어 간 상호작용이 가능한 오픈 게임 월드를 지원합니다. 플레이어는 오픈 게임 월드에서 느슨하게 그룹을 이루어 플레이어 대 환경(PvE) 경험을 즐길 수 있습니다. 플레이어 대 플레이어(PvP) 경험은 1:1이며 지정된 지역에서만 허용됩니다.인스턴스 게임 섹션을 위한 사용자 지정 매치메이킹
이 타이틀은 인스턴스 PvP 또는 PvE 게임플레이 섹션에 진입하는 플레이어를 위한 사용자 지정 매치메이킹 서비스를 구현합니다. 이 서비스는 플레이어와 플레이어 팀을 매칭합니다.전용 서버
타이틀의 모든 게임플레이는 전용 서버에서 실행됩니다. 모든 트래픽은 이러한 서버를 통해 라우팅됩니다.채팅
이 타이틀은 플레이어 간 음성 및 텍스트 채팅을 지원합니다. 모든 트래픽은 서버를 통해 라우팅됩니다.소모품
이 타이틀은 구매 가능한(프리미엄) 인게임 통화가 있는 인게임 상점을 제공합니다. 플레이어는 이 통화를 사용하여 외형 아이템을 구매할 수 있습니다.다운로드 가능한 콘텐츠(DLC)
구매 가능한 다운로드 콘텐츠(DLC)에는 새로운 플레이어 캐릭터 클래스를 잠금 해제하는 새로운 게임 지역이 포함됩니다.타이틀 서비스
이 예시에서 플레이어가 게임을 실행한 후 처음 상호작용하는 타이틀 서비스는 타이틀 로그인 서비스입니다. 게임을 플레이하려면 플레이어가 타이틀 계정을 만든 다음 XBOX Live 계정에 연결해야 합니다. 계정은 타이틀 내 또는 타이틀의 웹 페이지에서 만들 수 있습니다. 계정 연결의 경우 플레이어의 XUID가 타이틀별 계정에 연결됩니다. 계정 연결을 수행하기 위해 플레이어는 타이틀 계정의 사용자 이름과 암호를 사용하여 타이틀에 한 번 로그인합니다. XUID 액세스는 사용 전에 승인을 받아야 하며 developer account manager(DAM)와 논의해야 합니다. 타이틀 웹 페이지에서 타이틀 계정으로 로그인한 플레이어는 계정 연결을 위해 Microsoft 계정에도 로그인해야 합니다. 타이틀 계정에는 고유 ID(GUID)가 있어 모든 타이틀 서비스가 네트워크 원본과 관계없이 플레이어를 처리할 수 있습니다. 타이틀 계정은 또한 플레이어 캐릭터, 진행 상황, 인벤토리 및 모든 플레이어 메타데이터와 같은 모든 플레이어 상태 정보를 저장합니다.타이틀 흐름
MMO 게임의 경우 크로스 네트워크 기능에 대한 준수 흐름은 플레이어가 오픈 게임 월드에 있는지 아니면 인스턴스 게임플레이에 있는지에 따라 달라집니다. 다음 단계는 모든 경우에 적용됩니다.- 권한 유효성 검사 플레이어 로그인 후 타이틀은 활성 플레이어의 멀티플레이어 권한(254 및 189)과 크로스 네트워크 권한(185)의 유효성을 검사합니다. 어떤 권한이라도 거부되면 플레이어는 타이틀에 진입할 수 없으며 오류 대화 상자가 표시됩니다. 이 시점에서 타이틀은 음성 및 텍스트 채팅에 대한 통신 권한(252)을 확인하여 기능을 적절히 제한해야 합니다.
- 크로스 네트워크 알림 처음 실행 시 게임은 게임플레이에 크로스 네트워크 기능이 있음을 플레이어에게 알립니다. 다음 단계는 오픈 게임 월드에 적용됩니다.
- 오픈 게임 월드에 진입합니다. 플레이어는 게임에 로그인할 때 항상 오픈 게임 월드로 진입한 다음 타이틀 서버에 연결합니다.
- 오픈 게임 월드 Multiplayer Session Directory(MPSD) 세션에 참가합니다. 오픈 월드 게임플레이용 타이틀 서버는 오픈 게임 월드의 게임 지역을 반영하는 MPSD 세션을 만듭니다. 이러한 MPSD 세션 중 하나 이상에 게임플레이 기능이 활성화되어 있습니다. 모든 XBOX Live 플레이어는 자신의 게임 지역에 대한 오픈 게임 월드 세션에 참가합니다. 서버는 XBOX Live 플레이어와 XBOX Live를 사용하지 않는 플레이어 모두에 대한 정보를 유지 관리합니다. 오픈 게임 월드 세션은 XBOX Live 플레이어의 진행 중 참가 및 초대를 허용하며 서버가 클라이언트로부터 새 연결을 수락하지 않는 경우에만 닫힘으로 설정됩니다.
- 오픈 게임 월드 게임플레이를 활성화합니다. 다른 플레이어와의 게임플레이 기능은 플레이어 권한에 따라 사용할 수 있습니다. 통신 권한이 설정된 플레이어에 대해서는 글로벌 텍스트 채팅이 항상 활성화됩니다. 모든 텍스트 채팅 메시지는 문자열 유효성 검사 서비스와 차단 목록을 사용하여 불쾌한 언어와 용어를 필터링합니다. 플레이어 이름에도 동일한 유효성 검사가 사용됩니다.
인스턴스 PvE 또는 PvP 게임플레이
인스턴스 PvE 또는 PvP 게임플레이에는 다음 단계가 적용됩니다.- 그룹 MPSD 세션. XBOX Live 플레이어의 경우 타이틀은 XBOX Live 플레이어를 추적하기 위한 MPSD 세션을 만듭니다. XBOX Live를 사용하지 않는 플레이어는 타이틀 서비스를 통해 추적됩니다.
- 그룹 초대 및 진행 중 참가. 이 예시에서 게임 디자인은 참가 또는 초대를 플레이어 그룹으로 제한합니다. 그룹 MPSD 세션은 XBOX Live 플레이어의 진행 중 참가 및 초대를 지원하는 데 사용됩니다. 인게임 크로스 네트워크 초대는 타이틀 서비스에서 지원합니다.
- 그룹 매치메이킹. 이 타이틀은 그룹 PvP 또는 PvE 매치메이킹 흐름을 위한 크로스 네트워크 멀티플레이어를 지원합니다. 이 예시에서 플레이어는 매치메이킹 UI를 사용하여 PvP 또는 PvE 경험을 선택하고 다른 플레이어와 함께 인스턴스 플레이 경험에 그룹화됩니다.
- 게임 MPSD 세션 만들기 및 참가. 그룹 매치메이킹의 결과는 XBOX Live에 대한 서비스 간 호출을 통해 매치 서비스가 만든 MPSD 로비 세션입니다. 모든 XBOX Live 플레이어는 이 게임 세션에 참가하고 인스턴스 게임플레이 동안 이 세션에 남아 있습니다. 이 서비스는 사용자 지정 속성을 사용하여 XBOX Live를 사용하지 않는 세션의 플레이어에 대한 힌트를 추가로 제공합니다. 그런 다음 이러한 힌트는 흐름의 나머지 부분에서 세션 상태를 설정하기 위한 클라이언트 논리에서 사용될 수 있습니다.
- 인스턴스 게임플레이. 모든 플레이어가 준비되면 인스턴스 게임플레이가 시작됩니다. 이 예시에서는 전용 서버를 통해 XBOX Live 플레이어 간의 채팅도 활성화됩니다. 인스턴스 게임플레이 중에는 플레이어 목록이 게임 UI에 표시됩니다. 이 목록은 플레이어의 게이머태그 또는 기타 네트워크 식별자를 볼 수 있는 옵션이 있는 타이틀 캐릭터 이름 목록입니다. XBOX Live 플레이어는 고유하게 강조 표시됩니다. 다음 스크린샷은 이러한 그룹 UI의 예시를 보여 줍니다.
- 게임플레이 완료. 인스턴스 게임플레이가 완료되면 팀 플레이어는 오픈 게임 월드로 돌아갑니다. 플레이어는 MPSD 게임 세션에서 나가고 오픈 게임 월드 MPSD 세션을 활동 세션으로 설정합니다.
세션 관리
모든 XBOX 요구 사항을 준수하기 위해 타이틀은 XBOX Live 플레이어에 대해 두 개의 MPSD 세션을 만듭니다.오픈 게임 월드 지역 게임 세션
시작 시 타이틀 서비스에 의해 큰 MPSD 세션이 만들어집니다. 이는 각 타이틀 서버 인스턴스에 대해 XBOX Live에 대한 서비스 간 호출을 통해 만들어집니다. 타이틀 서버 인스턴스의 모든 플레이어는 해당하는 MPSD 세션에 참가합니다. 이러한 세션에서 서버는 최근 플레이어 목록에 올바르게 표시되도록 서로 상호작용하는 XBOX Live 플레이어에 대해 조우 ID를 설정합니다.인스턴스 게임 세션
이 세션은 XBOX Live에 대한 서비스 간 호출을 통해 매치메이킹 서비스에서 만듭니다. 여기에는 게임 세션의 모든 XBOX Live 플레이어(팀 전체)에 대한 예약이 포함됩니다. 이는 XBOX Live 플레이어의 최근 플레이어 목록을 올바르게 채우는 데 사용됩니다.그룹 세션
이 세션은 플레이어가 그룹(1인 그룹)을 만드는 즉시 만들어집니다. 이는 진행 중 참가 및 초대를 지원하기 위한 활동 세션에 사용됩니다. 게임 디자인상 플레이어는 특정 게임 모드 중에는 참가할 수 없습니다. 이러한 모드에서는closed 속성을 사용하여 진행 중 참가 및 초대를 비활성화합니다.
XBOX Live를 사용하지 않는 플레이어는 MPSD 세션에서 세션 구성원으로 직접 표시되지 않습니다. 추적을 위해 타이틀은 다음 코드 예시에서 볼 수 있듯이 사용자 지정 세션 속성에서 이들의 존재를 반영합니다.
