Xbox one에서 윈도우 10 UWP 앱 개발

지난 Build 2016에서 전해진 소식중에 게임 개발자들이 관심을 가진 내용이 바로 Xbox에 관한 내용이 었습니다. Xbox를 Dev Mode로 전환하고 Visual Studio로 개발한 앱이 원격으로 실행되는 데모를 보고 내 게임을 Xbox 용으로 출시할 수 있겠다는 기대였습니다.

Xbox one을 구해서 직접 UWP 로 만든 게임을 Visual Studio 통해서 Xbox에서 돌려봤습니다. 직접 해본 결과 아래와 같은 주의사항과 오해가 생길 수 있는 부분을 집고 넘어가는게 좋을 것 같습니다.

[embed]https://youtu.be/03E0RJtZXmw[/embed]

주의사항

  1. UWP on Xbox 는 아직 프리뷰 상태입니다. Windows 10 Anniversary Update가 정식으로 나와야 안정화 되서 뭔가 만들어 볼 만 할 것 같습니다.
  2. UWP 앱으로 만들면 게임 앱이라도 Xbox에서 앱 메뉴에서 검색되고 설치됩니다. 게임 메뉴에서 다른 대작 게임들과 어깨를 나란히 하고 싶으면 ID@XBOX 프로그램으로 시작해야 합니다. UWP 앱과 ID@XBOX 게임은 모든면에서 전혀 다릅니다.
  3. UWP 앱으로 게임을 만들면 PC에서보다 오히려 느릴 수 있습니다. UWP 앱은 Xbox의 성능을 충분히 끌어다 쓰지 못하는 구조 입니다. 따라서 3D 게임과 같이 충분한 하드웨어 성능을 요구하는 게임은 ID@XBOX 프로그램으로 게임을 출시해야 합니다. 이 부분은 계속 개선이 되겠지만 현재는 그렇습니다. 참조 문서 System resources for UWP apps and games on Xbox One

환경설정

  1. 윈도우 개발자 센터 가입
  2. 윈도우 참가자 프로그램 (Windows Insider Program) 가입
  3. Windows 10이 설치된 개발 PC와 Xbox one
  4. 개발 PC와 Xbox one을 유선 네트워크로 묶어준다. 용량 큰 패키지가 왔다갔다 하기 때문에 무선은 느려서 못 쓸 지경
  5. Visual Studio 2015 Update 2. 설치할 때 Universal Windows App Development Tools 을 반드시 설치 할 것
  6. Windows 10 SDK Preview Build 14295를 윈도우 참가자 프로그램 (Windows Insider Program)에서 다운로드 및 설치. 이 글을 쓰는 현재 시점에는 14295 빌드를 구할수 없고 14332 버전이 있습니다.

Visual Studio 2015 설치

Xbox one을 Dev Mode 로 전환하기

Xbox One Developer Mode activation 문서(영문이지만 스크린 캡쳐 위주)를 따라하면 어렵지 않게 Dev Mode로 전환할 수 있습니다. Dev Mode와 Retail Mode가 서로 전환이 가능한데 Dev Mode에서는 기존 Xbox 게임을 할 수 없습니다. 반대로 Dev Mode를 Retail Mode로 전환하면 Dev Mode에 설치되었던 앱과 데이터가 지워집니다.

Dev Mode Activation 이라는 앱을 설치해서 모드를 왔다갔다 하는 형식입니다. Dev Mode Activation 이라는 앱을 설치하고 전환하면 약 3.5G 정도의 업데이트가 약 20분 정도 진행됩니다. 중간에 Dev Center에 Activation Code를 입력하기도 합니다.

Dev Mode는 이렇게 생겼습니다.

Xbox Dev Mode

 OS Version : March 2016 (10.0.14290.1014) 
Devi Kit type : Universal Windows App Devkit 

앱 테스트

개발 PC에서 앱을 만들어서 테스트 해봅니다. 간단하게는 빈 UWP(Universal Windows Platform)앱을 만들어서 해봐도 됩니다. (Create your first application 참조) 저는 게임이 진짜 잘 안돌아 가는지 알고 싶어서 Unity로 만든 3D 게임을 UWP 앱으로 포팅해서 테스트 했습니다. 게임은 Unity 자습서에 있는 샘플 게임인 Survival Shooter tutorial  을 Windows 10 빌드를 만들어서 사용했습니다. 이 과정은 동영상을 통해서 확인 하실 수 있습니다.

Visual Studio 2015에서 Xbox로 앱을 배포하고 디버깅을 하는 방법은 Remote Machine으로 연결하여 Remote Debugging 으로 테스트 합니다. 그 방법은 아래와 같습니다.

  1. Visual Studio 상단 빌드를 x64 / Remote Machine 으로 설정합니다.
  2. 프로젝트에서 오른쪽 클릭해서 Properties를 선택하고 Debug 탭으로 이동합니다.
  3. Start Options > Remote Machine 의 Find 버튼을 눌러서 Xbox one 의 IP를 입력합니다. Xbox one의 Dev Home 에서 IP를 확인 할 수 있습니다.
  4. Remote Machine 버튼을 누르거나 F5를 눌러 앱을 실행합니다. 빌드가 성공하면 만들어진 패키지를 Xbox로 전송하고 Xbox에 설치 합니다. 그리고 Visual Studio가 디버그 모드로 변경되면서 Xbox에 설치된 앱이 실행됩니다. 이 상태에서는 브레이크 포인트를 잡는 등 Visual Studio 2015의 디버깅 기능을 충분히 활용 가능합니다.

remote connection

알려진 문제

아직 프리뷰입니다. 프리뷰 버전으로 뭔가 해볼때 정신건강에 이상을 초래할 수 있습니다. 따라서 알려진 문제를 꼼꼼히 보고 대처하고 안되면 빨리 포기하는게 프리뷰를 대하는 자세라고 생각합니다. 제가 격은 몇가지 문제도 함께 공유 합니다.

Dev Home이 실행되다가 죽는다.

조금 당황했었습니다. Dev Home에 들어가야 다시 Retail Mode로 돌아갈 수 있는데 Dev Home이 안들어가지니 이 Xbox는 생명이 다한게 아닌가 했습니다. 리부팅으로도 해결이 안되면 My Apps and Games 메뉴에 들어가서 설치된 개발중인 앱을 Uninstall 합니다. 앱이 배포되다가 잘 못되면 이런현상이 일어납니다.

Visual Studio에서 F5 실행했는데 Xbox one 에서 0x8xxxxxxx 라는 메시지의 오류가 발생

Xbox를 리부팅 합니다.

Visual Studio에서 아래와 같은 에러가 나면

 DEP0700 : Registration of the app failed. Deployment Register operation with target volume C: on Package 201404-MiniShooter_1.0.0.0_x64__3k3d86b2gzjkr from:  (AppxManifest.xml)  failed with error 0x80070002. See https://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues. (0x80073cf9)

Visual Studio 에서 Package.appxmanifest 를 열면 Packaging 탭에 Choose Certificate… 이라는 버튼이 있습니다. 그 버튼을 눌러 새로운 인증서를 만듭니다. 원인도 잘 모르지만 우선 꼼수로 해결이 됩니다.

Add New Cert

결론

Xbox one이 설치되는 위치는 대걔 거실 큰 TV 옆이고 사용자들도 소파에 기대어 컨트롤러를 들고 사용하게 됩니다. 이런 상황에 맞는 다른 UI와 UX가 필요할 것 같습니다. Xbox one의 시스템 성능을 최대한 사용하려는 게임은 ID@XBOX 프로그램으로 게임을 출시하길 바랍니다.

참고자료

  1. UWP on Xbox 페이지
  2. XBOX ONE에서 Windows 10 UWP앱을 돌려보자. by megayuchi