UWP Development For XBOX ONE

으..드뎌 개발중인 게임데모를 XBOX ONE에도 올렸다. 이전에 포스팅했다시피 현재 XBOX ONE의 UWP 환경에선 DirectX Feature Level이 10.0까지만 지원된다. 칩 사양이 원래 그렇게밖에 안되는건지 아직 개발 환경이 미완성이라 그런지 모르겠다. 어쨌든 내가 만든 엔진은 DX11/12엔진이고 최소한 Feature Level 11을 요구한다. 일단 현재 Feature Level 11을 사용하는 기능은 Compute Shader를 이용한 Hi-Z Occlusion Culling과 일부 쉐이더 코드들이다. … More UWP Development For XBOX ONE

XBOX에서의 UWP앱 개발 관련 정보 몇 가지.

1.DirectX Feature Level 10.0까지만 지원됨. 이건 하드웨어 쿼리니까 소프트웨어의 문제가 아니다. GPU사양의 문제다. 그렇다면 XDK게임들도 Feature Level 10.0으로 개발했단 얘긴데…실제 칩사양 아시는 분? 그러니까 UWP on XBOX에서 DirectX 12 디바이스를 생성하려고 하면 항상 실패하는데 왜 실패하는지 이유를 알게 된 것이다. 처음엔 XBOX용 Windows 10에서 DX12가 미구현이라고 생각했는데 그게 아니다. DirectX12를 돌리기 위한 최소 Feature Level이 … More XBOX에서의 UWP앱 개발 관련 정보 몇 가지.

GameDev – win32버전과 UWP버전의 네트워크 플레이

기존 win32 Crypto API로 작성했던 계정이랑 패스워드 암호화 코드땜에 UWP버전의 네트워크 처리가 계속 지연되고 있었다. UWP아니 WinRT의 AsymmetricKeyAlgorithmProvider 를 이용해서 Desktop과 UWP공용 암호/복호화 코드를 짰다. 일부 WInRT(UWP) API들은 데스크탑 어플리케이션에서도 사용할 수 있는데 다행히도 AsymmetricKeyAlgorithmProvider는 Windows 8데스크탑부터 사용할 수 있다. 각각 win32 DLL과 UWP DLL로 만들어서 DLL로 만들어서 서버(Windows Server 2012R2) , win32 클라이언트(Windows 10) … More GameDev – win32버전과 UWP버전의 네트워크 플레이

GameDev-UWP와 Desktop버전 동시 지원

예전에도 포스팅한적이 있는데 나는 지금껏 작업해온 엔진을 UWP용으로도 유지하고 있었다. 아니 정확히는 유지는 잘 못했다. 작년 12월 이후로는 유지보수를 못하고 있었다. 데스크탑 버전의 경우 12월부터 지금까지 DX12를 지원하는데 대부분의 시간을 보냈다. 그런데 DX12를 지원하면서 DX11버전도 사실 많이 바뀌었다. DX12와 인터페이스를 맞춰야하다보니 그리 된것도 있고 이번 게임데모 프로젝트를 위해서 렌더러 외의 모듈에도 기능추가가 있었기 때문에 많은 … More GameDev-UWP와 Desktop버전 동시 지원

Windows 10 Redstone빌드에선 UWP에서도 IOCP를 사용할 수 있게 될듯?

지난 10여년간 수많은 온라인 게임 서버가 Windows NT의 스레드풀 API – I/O Completion Port(이하 IOCP)를 사용해왔다. 그 중에는 IOCP를 사용해서 서버/클라이언트 공용 네트워크 라이브러리를 구현한 경우도 있을 것이다. 바로 내가 그렇게 구현해서 사용해왔다. 매우 유용하게 잘 사용해왔으나 Windows Store App이 처음 나왔을때, 그러니까 Windows 8의 WinRT API였을때 이 바보같은 API는 winsock과 thread API들을 지원하지 않았다. … More Windows 10 Redstone빌드에선 UWP에서도 IOCP를 사용할 수 있게 될듯?

XBOX ONE에서 Windows 10 UWP앱을 돌려보자.

나는 XBOX ONE에서 UWP앱을 돌릴수 있기를 꽤나 기대해왔던 사람이다. id@XBOX프로그램의 헤택을 받기가 영 쉽지 않았기 때문에, 또 이제 와서 별도의 XDK사용법을 익히는게 부담스럽기 때문이다. 1. C++과 DirectX로 개발하는건 충분히 익숙하다. 2. 게임 프로젝트에 한해서는 UWP앱과 win32 어플리케이션은 99%의 코드 공유가 가능하다. 따라서 XBOX ONE에서 UWP앱이 돌아간다면 자연스럽게 콘솔을 지원할 수 있기 때문에 나로선 무척이나 반가운 일이다. … More XBOX ONE에서 Windows 10 UWP앱을 돌려보자.

Windows 10 Redstone UWP앱에서의 레이싱 휠 지원

몇 일전 순수 열혈 게이머 친구와 콜라를 마시며 이런저런 대화를 하던중… Forza Motor Sports 6가 곧 Windows 10용으로 출시된다는 얘길 들었다. 여기서 말하는 Windows 10용이란 것은 정확히 말하면 Windows 10의 UWP앱을 얘기한다. UWP앱이 기존 어플리케이션과 어떻게 다르냐고 하면…설명이 길어지니 넘어가고. 당초 취지는 Windows OS의 모바일 특화 API였다. 지금은 꼭 그렇지는 않다. UWP에 대해서 전혀 모르는 … More Windows 10 Redstone UWP앱에서의 레이싱 휠 지원

win32 or UWP에서 인터넷에 연결된 적절한 IP가져오기

요새는 머신에 여러개의 네트워크 장치가 붙어있다. 랜카드가 여러개인 경우도 있고, 그렇지 않더라도 VM등 가상 네트워크 디바이스가 여러개 존재하는 경우가 대부분이다. 따라서 어플리케이션이 접속을 받아야하는 경우에 어느 네트워크 장치의 IP에 bind해야할지 난감할때가 많다. 그래서 이럴때 사용할 코드를 작성했다. win32의 경우는 dns주소와 gateway가 설정된 경우를 찾아서 인터넷에 접속한걸로 간주한다. UWP의 경우 NetworkInformation::GetInternetConnectionProfile()로 인터넷에 연결된 네트워크 장치를 찾는다. … More win32 or UWP에서 인터넷에 연결된 적절한 IP가져오기

Windows 10 디바이스간 파일전송앱 – FileTransfer

https://www.microsoft.com/en-us/store/apps/filetransfer/9nblggh1rmq5 예전 회사에서 만들었던 앱입니다. 로컬 네트워크 상의 Window 10 device간에 파일을 전송할 수 있는 앱입니다. UWP앱이고 당연히 Windows 10 Phone과 태블릿,PC를 모두 지원합니다. UI는 썰렁하지만 기능은 충실히 잘 작동합니다. 무엇보다 작고 빠릅니다. UWP앱으로는 무척 드믈게 C++와 winsock으로 만들었고 코어코드를 공유해서 win32콘솔버전도 개발했습니다. 물론 스토어에는 UWP버전만 올라갔죠. 제가 별5점을 준 리뷰가 한개 있긴 하지만… ‘The … More Windows 10 디바이스간 파일전송앱 – FileTransfer