말만 무성하던 윈도우폰 7시리즈의 개발툴이 공개되었다.

Visual Studio 2010 Express for Windows Phone CTP
Windows Phone Emulator CTP
Silverlight for Windows Phone CTP
XNA 4.0 Game Studio CTP


윈도우폰 7 시리즈 개발은 크게 3가지 방식으로 할 수 있는데,
- .NET Compact를 이용한 개발 (윈모바일6.5 개발과 유사)
- Silverlight을 이용한 개발 (XAML기반)
- XNA 4.0을 이용한 개발 (DX9 Reach Profile기반, 커스텀쉐이더 불가능)

다소 산만(?)하기까지한 개발방식들을 케이스별로 정리해서 올라오고 있다.

윈도우폰 7 개발사이트 바로가기

개발툴 다운로드 바로가기
AND

http://forums.xna.com/forums/t/37129.aspx

XNA로 MMO게임을 만들 수 없을까에 대한 잡설들인데, 읽다보니 재미있다. XNA게임 특히 Xbox 360으로 배포되는 게임의 경우 M$는 보안이나 기타 이유로 인하여 다양한 제약을 걸어둔다.

- 네트워크 API로 특정 IP로 접속하는 기능이 없다. (무조건 Live 서버로 접속됨)
- 라이브서버 특징상 한방당 32명 정원
- 방은 Persistance하지 않다. (인스턴스하다. 서버 내에 뭔가를 남길 수가 없다.)
- 정보역시 유저 로컬에 쌓이지 서버레벨에서 저장할 방법이 없다.
- 퍼블리시된 게임은 같은 게임끼리만 통신이 가능

이런 제약에도 불구하고, 포럼에 등장한 다양한 아이디어는,

- 여러대의 엑박을 서버로서 켜두고 Persistant하게 만들자
- 32명 정원의 공간을 여러개 만들어 잇자

하지만, 이정도로는 문제가 있는것이 같은 게임에서 다양한 공간이 만들어질 방법이 필요하고, 유저정보를 저장할 서버레벨의 공간이 필요하다는 점이다. 그래서 생각해보건데,

1. 한 게임내에 여러 공간에 대한 정보를 넣는다.
2. 게임의 로직에 따라 처음 실행되면 해당 게임의 네트웍 로비의 갯수를 센다
3. 공간갯수 Constant 값, MAX_SPACE으로 이어질 공간의 갯수만큼 없을 경우 자동으로 32명 정원 서버가 되며 방이름(혹은 갯수)정보에 맞는 위치의 공간으로 로드된다.
4. 방 갯수가 MAX_SPACE 값이 넘어갈 경우 자동으로 게임인트로가 나오며 게임이 실행된다.
5. 서버로 할당된 초기 MAX_SPACE 만큼의 서버는 들락거리는 유저의 정보를 내부 콘솔에 쌓아두고, 해당 위치 내에서의 모든 행동을 기록한다. 예를 들어 퀘스트 수행여부.
6. (세이브가 해킹되지 않는다는 전제하에) 유저의 아이템이나 기타 정보들은 로컬에 저장된다.
7. 특정 위치 (문이나 계곡 입구)에 들어가면 자동으로 로드되며 해당 방으로 이동한다. 정원초과인 경우 메시지를 보여준다.

해당 게임이 심사를 통과해서 퍼블릭으로 나오면, 운영자(개발자)는 재빨리 준비해둔(?) 콘솔들을 켜고 먼저 게임을 다운 받아서 실행한다. (그리고, 그 콘솔들은 영원히 끌 수 없다;) 한명이라도 다른 유저가 먼저 실행하면 방이 없어질때까지 가동이 불가; 따라서, 일반 유저들은 1,2,3을 보지 못한채 MMO게임을 즐기게 되지 않을까라는 상상을 하게 됐다는 얘기.

덧으로, 초기 콘솔에는 유저 상황을 모니터할 수 있는 화면이 뜨고 운영자가 이를 수기로 기록해서 합산한다음 별도 서버에서 랭킹을 매길 수도 있겠다는 생각까지.

AND


Gymnast는 XNA 기반에서 만들어진 무료게임으로 일전에 소개했던 Ski Stunt와 같은 2D 물리엔진 기반의 게임이다. 철봉이라는 소재를 게임화한 것이 특이하다. 기존의 Ski Stunt는 커서의 위치에 따라 ZMP를 이용하는 식이었지만, 이 게임은 2개의 아날로그 스틱을 통하여 상체와 하체를 나누어 조절하는 식이다. 또한 스테이지 에디터를 내장하고 있어 나만의 철봉경기장을 디자인 할 수 있다.

엑스박스 컨트롤러가 필요하지만 위모트나 Sixaxis로도 플레이 가능하도록 되어 있다. 동영상만 보면 쉬워보이지만 실제로 해보면 Ski Stunt보다도 조작성이 떨어지고, 게임 진행이 힘들 정도로 게임이 어렵다. 2차원 기반이라 하더라도 인체모션에 물리엔진이 적용되면 얼마나 게임이 산으로 가는지를 여실히 보여주고 있다. 2개의 아날로그 패드로 입력하는 커멘드가 같다 하더라도 커멘드 입력시 가지는 각 관절의 모멘텀이 다르면 다른 결과를 보여주기 때문이다. 결과적으로 화면에 움직이는 모션을 보면서 커멘드를 실시간 Calibration해야 하는데, 이 부분이 게임을 하드코어하게 만든다. (인간의 뇌에 들어있는 multi-body inverse dynamics solver는 오로지 자신의 육체에만 제대로 반응하는 듯)


다만, 개발사(?)인 WALABER.COM의 참신함에는 큰 점수를 주고 있다. 또한, XNA기반의 2D물리엔진인 Farseer Physics Engine이 오픈소스기반이라 인디 XNA 개발자들에게 도움이 될듯 싶다.

게임 다운로드

사이트 바로가기

Farseer Physics Engine for XNA 바로가기

AND

이전부터 PC게임으로 PS3로 쉽게 이식할 수 있는 라이브러리가 있다는 소문이 있었는데 비로소 내용이 공개되었다. GDC08에서 발표된 PhyreEngine가 바로 그 소문의 크로스플렛폼 3D엔진으로서, 아래와 같은 특징을 갖는다.

SCE's new free to use graphics engine
- Run time
- Art pipeline & tools
- 70+ samples and full documentation

Cross Platform (PS3 & PC), optimized for multi-core
- OpenGL & Direct3D
- Simple recompile for PS3

Works with standard tools
- Maya & Max exporters
- COLLADA compatible
- Bullet, Havok, Ageia Physics

Runs on PS3 debug systems
- PS3 development for less than $1200!

Ongoing development & support from SCE


재밋는 사실들을 요약해보면,
- XNA와 마찬가지로 무료를 원칙으로 하지만, 더 나아가 소스코드까지 완전 공개하겠다고 밝히고 있다. 다만 완전 공개 배포인지 여부는 밝혀지지 않았다. (소규모 개발사이상에게만 공개할지도)
- 따라서, PS3와 PC뿐만이 아니라 XBOX360용으로도 컴파일이 가능하다고 전해진다.

현재까지 PhyreEngine를 이용하여 개발된 게임들은 다음과 같다고 한다.

flOw

GripShift

DiRT


왜 크로스플렛폼일까를 생각해볼만한데, 소니의 전략은 "일단 PS3로 만들어라, 그리고 XBOX360이나 PC로 배포하여 채산성을 높여라"라고 한다. 현실적으로 PS3전용게임을 만들어서 이득을 보기란 어렵다. 특히나 소규모 제작사의 경우 더더욱 꺼리게 되는데, 이러한 고민을 해소하기 위해 내부에서 사용하던 크로스플렛폼 엔진을 전격 공개한 것이 아닐까 생각된다.

개인적으로 PS3의 전략들은 SCE가 PS1, PS2때 겪었던 모든 경험을 총동원한다는 생각이 든다. PS1시절에 FROM같은 소규모 개발사들을 육성하여 큰 효과를 냈던 경험을 살려, HOME Development Kit (HDK)나 PhyreEngine로 PS3 컨텐츠를 다양하게 만들고 있으며, PS2시절에 DVD 조기도입으로 가졌던 장점들을 살려, 블루레이도입과 경쟁에 큰 투자를 하고 있다. (많은 전문가들이 워너 브러더스 영입에 큰 검은 돈이 오갔을 것이라고 예상한다.)

블루레이가 이기고, Home 플렛폼과 PhyreEngine가 공개되는 순간부터 차세대 콘솔전쟁의 2회전이 시작되고 있다.

Playstaion Blog GDC 관련글 바로가기

Joystiq 기사 바로가기
AND