Windows Phone 8에서의 게임개발의 어려움(어쩌면 개인적인 불만)

게임을 만들땐 C/C++ 네이티브코드가 필수인데 C/C++코드에 대한 지원이 부실하다. 앱 성능 모니터링 도구도 C++은 지원하지 않는다. Visutal Studio에서 프로파일링을 할 수 있지만 DirectX C++앱에선 함수 호출 그래프를 보여주는게 전부이다. 메모리사용량이나 DirectX 오브젝트의 Leak이나 사용량등은 전혀 나오지 않는다. 폰디바이스의 caps얻어오는것 조차도 C++에선 불가능. WinRT에선 C++로 잘 지원되고 있는 UI가 아닌 WinRT API들도 윈폰의 WinPRT에선 불가능. Windows::Storage::KnownFolders::MusicLibrary등.. … More Windows Phone 8에서의 게임개발의 어려움(어쩌면 개인적인 불만)

Windows Phone 8로 게임포팅 중 생긴 난관 – Windows Phone 8 에서 App당 사용 가능한 최대 메모리

윈폰개발은 여기까지 하려고 했는데 일단 크래시하는 원인이 너무 찜찜해서 정확히 원인을 파악하고자 열심히 디버깅을 시도. 크래시 원인이 메모리 부족인건 확실해보인다. 다만 에뮬레이터나 리얼폰이나 1GB메모리를 장착하고 있다. 메모리 부족 현상이 너무 빨리 오는것 같아서 이상하다고 생각했다. 내 코드가 CRT힙에서 할당한건 대략 60MB 정도. 버텍스버퍼,텍스쳐,인덱스 버퍼는 정확히 얼마를 썼는지 알수가 없는데 적어도 100MB는 될거고. 그럼 최소한 160MB를 … More Windows Phone 8로 게임포팅 중 생긴 난관 – Windows Phone 8 에서 App당 사용 가능한 최대 메모리

윈폰8 포팅 중단.

완료가 아니고 중단. 윈폰8 포팅은 여기까지. 한계점을 명확히 알 수 있었다. 가능하면 윈폰 클라이언트도 출시하고 싶었지만 아주 경량화 시키지 않고선 불가능할것 같은데 그럴만한 여력은 없다. Windows Phone 8은 ARM계열의 Windows 8 타블렛과 상당히 다르다는걸 알게 된게 큰 수확이랄까. 즐거웠다. 아깝지만 OS와 개발환경이 더 나아지질때까지 보류.

Windows Phone 8로 게임 포팅중 #2

계속 진행중인 Windows Phone 8 로의 엔진 및 게임포팅. 모델과 건물을 렌더링하는데까지 테스트. 사실 코드 짜는건 큰 문제가 아닌데 xap파일 패키징하는데 걸리는 시간이 엄청나다. 사소한 코드 한줄만 고쳐도 xap파일 패키징을 다시 해버리니..으.. 이게 해결 안되면 진도 나가기 힘들듯. 캐릭터 뛰어다니는것까지 테스트하려면 맵의 리소스파일을 넣어야하는데 그럼 패키징 시간이 확 늘어버릴테니 겁나서 진행을 못하겄네.

Windows Phone에 게임 포팅중.

Windows Phone에 게임 포팅중.  일단 폰트 빼고는 엔진과 네트웍코드는 다 포팅했다. 타이틀화면까지 진입하는데까지만 일단 테스트. 입력처리를 아직 안해서 이 이상 진행을 할 수는 없다. 어쨌건 게임의 비지니스 로직까지도 대충 포팅은 다 했다. 같은 DX11이라고 해도 Windows Desktop, Windows Store App, Windows Phone 8은 조금씩 다르다. 그래도 WinRT버젼에서 워낙 삽질을 많이 해서 생각보다는 어렵지 않았다. 아직 … More Windows Phone에 게임 포팅중.

현재까지 느낀 Windows Phone 8용 게임 개발에 있어서의 장애물.

1. 2D지원이 매우 빈약하다. Direct2D도 DirectWrite도 없다. PC에선 상관없었다. 어차피 GDI와 DirectDraw를 쓰면 그만이었으니까. 하지만 GDI도 DDraw도 없는 WinRT환경에선 D2D와 DWrite가 없으면 다이나믹하게 텍스트를 렌더링할 방법이 없다. 오픈소스 DirectXTK 라이브러리에서 스프라이트 폰트를 지원하지만 영어권 로마자 문자만 가능하다. 게임에서 사용할 한글이나 일본어를 싹 모아서 텍스쳐로 만들고 그걸 인덱싱해서 쓸 수도 있겠지만 이게 작업량이 만만치 않을뿐더러 PC와 … More 현재까지 느낀 Windows Phone 8용 게임 개발에 있어서의 장애물.

Windows Phone 8 디바이스를 몇 일 사용해보고 알게 된 것들.

1. Windows RT 와 Windows 8은 CPU에 상관없이 지원하는 API가 거의 같다.win32 , WinRT모두 동일하게 지원한다.(내가 현재까지 확인한 바로는 똑같다.) 단 Windows RT는 기술적으로가 아니라 정책적으로 win32는 지원하지 않는다. 2. Windows Phone 8은 Win32를 내부적으로도 지원하지 않는 것으로 보인다. 3. Windows Phone 8은 WinRT를 완전하게 지원하지는 않는다. 4. XAML UI지원에 있어서 Windows8,Windows RT는 C#,JS,C++/CX로 개발가능하지만 … More Windows Phone 8 디바이스를 몇 일 사용해보고 알게 된 것들.

Surface RT에서 유선랜 사용하기

WinRT코드를 작성해서 Surface로 돌리려면 디바이스로 패키지를 전송해야한다.근데 게임 프로젝트의 데이타랑 코드 바이너리 합쳐서 거의 2GB정도 되는데 wifi로는 실제 속도가 초당 5MBytes이하로 나오기 때문에 전송할때 한 세월걸린다.  전에는 지인으로부터 받은 AX8872A칩을 사용한 USB 이더넷 어뎁터가 있어서 그걸 사용했었다. 당시엔 Asix사에서 arm용 드라이버를 다운로드 했었다. 그런데 먼저 사용하던 서피스에 문제가 있어서 MS에서 다른 제품으로 교환받고 OS를 새로 … More Surface RT에서 유선랜 사용하기