VOXEL HORIZON iPhone XBOX PC 네트워크 플레이 테스트

VOXEL HORIZON의 XBOX와 PC와 iPhone간의 네트워크 플레이 테스트. [지원 플랫폼]Windows Desktop(DX11/DX12/DXR)XBOX ONE(UWP on XBOX-DirectX11 feature level 11)XBOX Series S/X(UWP on XBOX-DirectX12 feature level 11)iPhone/iPad Devices(A12 Processor 이상 필요)mac(Apple Silicon) [사용된 기술]iOS/macOS – macOS API + metal API + BSD Socket + C++Windows Desktop – DirectX 11/12/DXR + winsock + IOCP + C++XBOX(UWP on XBOX) – … More VOXEL HORIZON iPhone XBOX PC 네트워크 플레이 테스트

VOXEL HORIZON on XBOX Series X

XBOX Serie X에서 Voxel Horizon의 UWP빌드를 돌려봤다.DX11에서 Feature Level 10으로 제한된다는건 오래전부터 알고 있었고 그래서 DX12빌드까지 다 짜놨었다. UWP on XOBX에선 DX12를 사용하더라도 Feature Level 11로 제한된다는건 오늘 처음 알았다.PC에선 UWP빌드로도 DXR까지 다 지원한다. 결론은 UWP on XBOX에선 raytracing을 사용할 수 없다.XBOX One을 사용하든 XBOX Series X를 사용하든 상관없이.똥이나 처먹어라 MS.아 CEF에 이어서 또 전의를 … More VOXEL HORIZON on XBOX Series X

DWrite에서 Custom Font사용하기

내 게임에서 몇 가지 외부 폰트를 사용한다. 익히 알려진 구글의 Noto sans와 Let’s go digital regular가 그것이다. 엊그제 UI레이어 코드 버그를 잡으면서 UWP빌드도 업데이트를 했다. 테스트 해보니 잘 도는거 같은데 뭔가 이상하다. Let’s go digital regular폰트가 제대로 나오지 않는다. 이게 8세그먼트 숫자로 표시되는 폰트인데 그냥 쌩 숫자로 나오네. 코드를 뒤져보니 UI코드 문제가 아니고 처음부터 폰트를 … More DWrite에서 Custom Font사용하기

XDK없이 UWP+DX12로 XBOX ONE 게임 개발 #2

XDK없이 UWP + DX12로 XBOX용 게임을 개발하는 테스트를 진행하고 있다.Voxel맵에 이어 삼각형 베이스 맵을 띄웠다. UWP on XBOX에서의 각종 거지같은 제약사항을 뚫고 여기까지 왔지만 그래도 문제가 많다. 테스트 중인 장비가 1세대 XBOX ONE의 슬림 모델인 XBOX ONE S다. XBOX ONE X만 되어도 이보단 훨씬 나을거 같은데 현재로선 확인할 길이 없다. 화면에 나타나는 지저분한 점의 정체 … More XDK없이 UWP+DX12로 XBOX ONE 게임 개발 #2

XDK없이 UWP+DX12로 XBOX ONE 게임 개발(욕설주의)

내 게임-내 코드를 XBOX에서 돌리고 싶다. XDK를 받으려고 몇번이나 ID@XBOX신청했지만 전부 까임. UWP빌드는 만들어놨으므로 그냥 UWP빌드로 테스트하려고 함. 좇같은 UWP on XBOX는 DirectX 11을 사용할 경우 DX Feature Level 10만 지원함. 예전에 작업한 내 엔진의 UWP버전에선 Feature Level 10에 맞춰서 어떻게든 돌아가게 했지만 그간 업데이트 된 기능들이 Compute Shader를 쓰니 이젠 Feature Level 10으로는 도저히 … More XDK없이 UWP+DX12로 XBOX ONE 게임 개발(욕설주의)

Destkop Bridge앱에서 AppData/Local 폴더 위치 얻기

게임을 실행하면 자동생성되는 부수적인 파일들이 있다. 게임의 옵션을 저장한 설정파일, shader 캐시 파일, 크래시 덤프 파일등… Windows 7시절 까지도 많은 게임들이 게임의 exe가 있는 폴더에 그대로 저장했다. 물론 이는 MS의 권고사항이 아니다. MS의 권고사항은 이렇게 폴더를 만들고 My Application폴더에 저장하는 것이다. C:\Users\{user id}\AppData\Local\{My Application} Windows 8부터는 이 권고사항이 사실상 강제되었다. 사용자가 Administrator 권한의 계정이라 해도(사실은 … More Destkop Bridge앱에서 AppData/Local 폴더 위치 얻기

Surface Book에서 60프레임 락 해결방법

이전 포스팅 참고. https://megayuchi.com/2018/03/29/surface-book%ec%97%90%ec%84%9c-%eb%82%98%ed%83%80%eb%82%98%eb%8a%94-60fps-%ec%a0%9c%ed%95%9c-%ed%98%84%ec%83%81/ 이 빌어먹을 현상이 dGPU + 내장 GPU 구성을 가지는 다른 노트북에선 이 현상이 발생하지 않는다. 적어도 내가 테스트한 바로는 오직 서피스북에서만 발생했다. 하여간 엊그제 트위터 타임라인에 DX12개발자 계정이 BLT대신 FLIP방식을 사용하라는 문서를 공유했다. 혹시나 해서 읽어보다가 DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING옵션을 처음 알게 됐다. 오늘 SwapChain만들때 DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING값을 넣어보니 서피스북에서 60프레임 락이 드디어 풀리는걸 확인했다. 이 … More Surface Book에서 60프레임 락 해결방법

win32 + C++/CX프로젝트에서 ConformanceMode때문에 생기는 문제

https://blogs.msdn.microsoft.com/vcblog/2017/11/15/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/ Visual Studio 2017 15.5로 업데이트 하면 ConformanceMode란 놈을 디폴트로 켜버린다. C++ 표준을 준수하게 하는 모드라고 한다.(니미 난 내 제품 만드는게 중요한데 C++표준이 알게 뭐냐. 사실상 게임업계에선 MSVC가 표준이지.) 이전에 만든 프로젝트라면 상관없지만 새로 만드는 프로젝트는 ConformanceMode가 켜지게 된다. pure UWP 프로젝트는 아직 테스트 안해봤지만 Desktop App에서 C++/CX를 이용해서 UWP API를 호출하는 경우 문제가 된다. … More win32 + C++/CX프로젝트에서 ConformanceMode때문에 생기는 문제

Voxel Horizon 최근까지 진행상황.

Voxel Horizon 최근까지 진행상황.   pure UWP버전 / Desktop Bridge 버전을 똑같은 기능 수준으로 동시 진행중. 게임 컨트롤러만으로 로그인,캐릭터 생성, 기본 플레이 가능. XBOX ONE에서 플레이 가능. 아직은 Windows Phone에서도 플레이 가능. MS Live Account로 로그인 가능. 최소한의 꼭 필요한 UI는 일단 다 맞춰넣었다. 두가지 버전 모두 AppX로 패키징 후 Windows App Certification Kit 테스트 … More Voxel Horizon 최근까지 진행상황.

Desktop App + UWP App + UWP App Service를 이용한 MS live account 인증

Desktop App + UWP App + UWP App Service를 이용해서 기본적인 MS Account 로그인을 구현했다. 이번 프로젝트에선 회원가입을 받지 않을 생각이다. 회원 가입용 웹사이트도 만들지 않는다. 이전에는 두 가지 방식을 사용했다. 웹사이트에서 회원가입을 받으면 웹사이트에서 Game DB에 연결하여 계정 생성 steam로그인일 경우 클라이언트에서 steam API를 통해 steam id를 얻는다. 게임서버로 steam id를 전송하고 게임서버는 서버용 … More Desktop App + UWP App + UWP App Service를 이용한 MS live account 인증