처음 Wiimote를 PC에서 구동시키고나서 인터넷에는 내 블로그의 구동 사진들이 허가없이 도배되었었다. (허락 받으신 분도 계셨지만, 외국사이트에서는 전혀 동의없이 게시되었었다. 심지어는 자기 사이트의 워터마크까지 달아 놓은 곳도;;) 어쨌거나 학기말 프로젝트에 정신이 팔린 사이 Carl Kenner가 선수를 쳐서-만들 생각도 없었지만- 완성된 버전의 PC구동 유틸을 만들었다.

그런데, Wiimote의 내부를 들여다보니 내가 잘못 알고 있던 사실들이 있었는데,

- Wiimote는 6 axis(3-axis positional + 3-axis rotational)가 아니라, 단지 3-axis linear force sensor(XYZ)만을 가지고 있다.
- Linear force sensor는 Gravity의 영향을 직접적으로 받고있으며, 필터링되지 않은채 정보가 넘어온다.
- 따라서 3-axis positional 데이터 만으로는 컨트롤러의 local coordinate을 알 수 있는 방법이 없다.
- IR Sensor는 IR emitter의 갯수와 각각의 신호의 강도, 그리고 Wiimote 시점에서의 2D 좌표를 알 수가 있다.

결론은, Wiimote는 3D space상의 위치와 움직임을 완벽하게 알 수 없다는 사실. 재밋는 사실은 와리오웨어 영상을 보면 각각의 게임들이 어떻게 Wiimote를 잡고 게임을 해야하는지 친절하게 설명을 해주는데 그것이 바로 local coordination을 정의하기 위함이었다.


01:21 부분을 살펴보면 친절하게 어떻게 잡아야하는지를 알려준다. 사용자가 어떤 방식으로 잡고있는 지를 모르면 Wiimote는 정확한 입력 정보를 알아낼 수 없다.

PS3의 SIXAXIS보다 절대적 우위에 있다고 확신했던 필자이기에 반성이 필요할 듯하고, 앞으로 두개의 디바이스가 가지는 장단점을 지속적으로 살펴봐야겠다.
AND

PS3 발매일에 혹시나 갔다가 95대 발매에 200명이상이 8시간전부터 줄을 서있는 것을 보고 충격에 휩였던 기억 때문에 가능하면 가고싶지 않았지만, 다시 한번 시도해보기로 하였다. 물량이 많은 대형 매장들은 사람들이 몰린다는 사실을 알았기 때문에 가능한 선전을 안하고 작은 매장에 아침 일찍 개장하는 곳을 물색했는데, 동네에 조그만 Wal-mart에서 Wii를 판다는 소문을 듣고 새벽 6시에 갔다. (7시 개장) 사람들이 줄을 서 있었지만 그다지 많은 편은 아니었고 27대가 있으며 기다리면 살 수 있기에 30분정도를 기다리니 경비원이 Voucher를 나눠주더라. 줄을 선 사람들은 대부분 아줌마, 아저씨들이었고 그들은 자식들이나 남편(!)들이 사달라고 졸라서 하는 수 없이 왔다고 한다.
012345678910
7시가 되어 들어가니 Customer Center에서 Voucher의 순번대로 판매를 하고 있었다.
일단 소프트없이 Wii Console과 컨트롤러 1개를 샀다.
Wii의 초기 기대치는 PS3에 비해 한참 못미치는 수준이었으나, 앞으로의 행보는 주목할 만하겠다.
AND


그란투리스모 공식 사이트를 통하여 1080P 해상도의 스크린샷이 공개되었다. 그동안 논란이 되어왔던 해상도가 720P라던지 업스케일이라던지의 의문은 모두 해소되었지만(1920x1080 랜더링이 맞다), E3 2006에서 그란HD의 영상을 처음 목격했던 필자는 실스샷 이미지를 보구서 놀라움을 금할길이 없었는데 그 이유인즉,

그란투리스모 HD에는 Alpha Channel(투명도)이 없다.

이것은 AA(Anti-Aliasing)의 유무와는 다른 차원의 문제다. High Color시대와 더불어 Windows 98 GDI에 AlphaBlend API가 추가되면서 Alpha Chennel은 UI와 3D에 필수요건이 되어 버렸다. 특히 3D에 있어서 Alpha Channel은 이제 2D 스프라이트의 이펙트나 텍스쳐 등에 없어서는 안될 필수 불가결한 요소다. 하지만, 그란HD의 스샷을 한번 보자.

여전히 너무나 사실적인 화면이다. 하지만, 멀리 차가 보이는 풀숲 부분을 확대해보자.
뭔가가 느껴지지 않는가? 아니라면 좀더 확대해보자.
풀숲 부분에 망사스타킹처럼 녹색 그물이 쳐져 있는 것이 보일 것이다. 이것은 알파채널의 주사용 용도인 풀의 가상자리 부분의 알파채널값(값은 텍스쳐 데이터에 저장되어있음)이 그란투리스모 렌더러에 의해서 디더링된 결과이다. 올드게이머라면 이러한 테크닉에 익숙해져 있을 것이다.

일본 게임 그래픽 노가다의 대표작 Princess Maker 2. 16 color로 다채로운 그래픽을 표현하기 위해 디더링 도트노가다 신공을 사용하였다.

이번엔 다른 영상을 살펴보자. 역시나 실제 같은 영상이 펼쳐진다. 하지만, 멀리 건물의 테라스 부분을 살펴보면,
발코니 프레임 주위에서 디더링된 부분을 발견할 수 있다. 반대로 알파채널이 적용된 부분을 찾아보았으나 어떤 스샷에서도 발견하지 못했다.

그렇다면, 왜 PS3 게임 중에서도 최고의 그래픽으로 손꼽히는 그란HD가 알파채널을 사용하지 않고 디더링이라는 원시적 기법으로 회귀한 것일까? 그 근본 원인을 꼽자면 풀 HD 해상도의 화소수에 있다. 일반적으로 픽셀당 8bit를 사용하는 알파 채널을 1920x1080화면에 뿌려진 모든 텍스쳐에 적용하면 어느정도의 비디오 메모리가 필요할까? 원거리 배경용 텍스쳐를 제외하고라도 상당히 큰 부분을 차지하게 될 것이다.

PS3의 컴퓨팅 파워, Bus Speed, 그리고 메모리의 용량은 솔직히 1080P게임을 마음껏 만들기엔 무리가 있는 스펙이다. PS3는 게임의 그래픽에 화려한 이펙트와 다채로운 오브젝트가 등장한다면 720P가 적당하고, 시네마틱한 화면에 정적인 움직임을 원한다면 1080P로 만드는 것이 적절한 정도의 스펙을 가지고 있다. 따라서 1080P 용 게임을 더구나 세밀한 그래픽을 요구하는 게임은 그에 합당한 제약요소를 감수해야 하는 것이다.

그렇다고해도, 알파채널을 포기할만한 가치가 있을까? 라고 물어본다면, '그란HD 영상을 앞에서 보면서 풀숲의 디더링을 눈치챌만한 사람이 몇이나 있을까?'라고 반문하겠다. (사실 있을지도 의문이다. 관련된 포스팅은 본적이 없다.) 풀 HD의 해상도는 이미 인간의 눈으로 보기에 충분히 조밀한 해상도이다. 특별히 스크린이 50인치를 넘지 않는한 계단현상이나 그물망현상을 찾아보기는 어렵다.

결론은 일본게임은 20년이 지난 지금도 첨단 게임기에 도트노가다를 하고 있다는 사실.
AND

잠잠하던 PS3 판매정보에 CC가 처음으로 불을 붙혔다. 발매일 17일 하루전인 16일 9시부터 지정된 6개 매장에서 이벤트를 시작하여, 10시에 줄을 선 고객중 상위 100명에게 판매확정 Voucher를 주고, 자정(17일 0시)에 100대를 판매한다. 하필이면 6개 매장 중 한 곳이 우리집 옆에 있을 줄이야;;; 16일이면 평일인데, 줄을 서서 사볼까하는 고민이...(becasue, PS3예판 Voucher는 Ebay에서 현재 2,400불에 거래된다.)

사이트 바로가기

AND

얼마전에 Newegg에서 단돈 4.99불에 팔았던 사이드와인더 프리스타일 프로. 싼마이에 덥썩 2개나 사 버렸다. M$가 PS3의 컨트롤러를 향한 푸념중에 이 제품에 대한 기억을 되살리는 부분도 있었기에, 어느정도 성능이었는지 매우 궁금했었다.

첫 느낌은 묵직한 그립감에 나쁘지 않은 느낌이다. 미국판 새턴패드 이후로 미국식 패드 애호가가 된 내가 좋아하는 감촉이다. PS3와 유사한 Angular Sensing 모드는 Sensor라는 버튼을 누르면 작동하게 되어 있는데, 아쉬운 것은 디지털패드와 병행할 수가 없다. 둘중 하나의 값만은 전달한다.


Sensor버튼을 눌러서 모션센싱 모드에서 게임을 해본 결과 이 패드가 왜 망했나를 알 수 있었다.

- Maximum Angle에 대한 정의가 모호하다.
원점에서 기울이기 시작하면 H,V의 Delta 값이 바뀌기 시작하는데, 거의 70도까지 값이 일정하게 올라가다가 70도에서 90도사이는 찔끔찔금 올라간다. Calibration모드에서조차 최대값에 도달하기가 어렵다.
- 플레이어의 손은 기계가 아니다.
패드의 원점은 정확히 평행한 0도선이다. 하지만 플레이해본결과 0도의 위치는 자연스런 기본자세라기보다 약간 무리가 가는 자세라서, 나도 모르게 원점을 벗어나 오작동하는 경우가 많았다. 또한, 최대값의 경우도 인간의 손목으로 나올 수 있는 각도가 아니다;; Constraint을 좀더 작게 잡고 세밀한 움직임을 줬으면 어떘을까 하는 아쉬움이 생긴다.
- H,V 센서의 부정확성
H축에 수직으로 기울인 상태에서 V축 수직으로 이동해보면 값이 일직선을 그리지 못하고 계단의 형태를 띄는 것을 볼 수 있다. 수평/수직 2개의 센서의 정확도가 떨어져 나오는 결과로 보인다.
- 게임에서의 지원미비
Activison에서 제공한 PRO BMX게임의 경우 플레이가 불가능할 정도로 컨트롤이 어렵다. 이 패드는 앞으로만 전진하는 레이싱 게임이나 균형을 맞추는 게임에는 적합해도 앞뒤로 돌아다니며 재주를 부리는 게임에는 전혀 맞질 않는다.

동봉된 게임이 너무 재미없어서 현재 진행중인 게임 프로젝트의 일부에 적용해 보았는데, 반응이 괜찮다. 다만, 입력되는 값을 상대적 좌표로 써야만 느낌이 좋다. 사람마다 쥐는 자세는 다 틀리지만 화면에 피드백하여 움직이는 상대값은 대체로 비슷하였다. PS3의 6-Axis의 경우도 이같은 점을 주의하지 않으면 비슷한 결과가 나오지 싶다.
AND

이번에도 한참 늦은 정보지만, 흥미로와 올려본다.
cell.scei.co.jp에서는 CBE(Cell Broadband Engine™)에 대한 자료를 공개하고 있는데,
게임기 외에 다른 용도를 쓰이길 원하는 Open Architecture라서 Cell 칩의 구동원리에 대한
구체적인 자료들이 많다. (일어 영어 문서 지원)

Cell Broadband Engine™ Architure

사이트를 살펴보다가, CBE(Cell Broadband Engine™) Architure ver. 1.00 문서의
CBEA-Compliant Processor(CBEA규약에 적합한 프로세서)를 정의하는 부분이 눈에 띄었는데,
여기보면 참으로 광대한 상상화가 등장한다.

우주와 같은 이 상상도는...?

이걸 보면 '향후 10년동안 나올 프로세서는 이정도 범위 안에서 소화되겠지'라고 예상하고 그려둔
Hyper-tech document 가 아닌가라는 생각이 든다. 왜 인지는 PS3에 쓰인 최초 Cell Chip의
구조를 보면 알게된다.

PS3 Cell Chip의 구조

PPE 1개에 SPE 8개. 이것이 우리가 아는 Cell 칩이다.

PS3는 7개의 SPE를, 그리고 차후에 발표될 Consumer Electronics는 6개의 SPE를 가질 예정이라고 한다. 이 칩을 위의 그림대로 분류해보자면,

- 1개의 SG(SPE Group) with 8 SPEs
- 1개의 PG(PPE Group) with 1 PPU

SPE Group이 몇개인가는 Chip Specification에 나와있질 않아서 모르겠지만, IBM에서 정리한
SPE group의 정의를 보면,

– a collection of SPE threads that share scheduling attributes
– there is a default group with default attributes
– each SPE thread belongs to exactly one SPE group

때문에, PS3에 쓰일 Chip은 1개의 그룹일 가능성이 높다.
(아니라면 개개의 Thread에 대한 관리를 PPE에서 매개전달해야 함)

PS3 Chip의 철학

그렇다면, 왜 PS3의 Chip에는 복수개의 PPE가 아닌 복수개의 SPE가 들어갔을까?

이 부분은 PS3가 지향하는 목표가 "가정용 종합 엔터테인먼트"라는 것을 생각하면 알 수 있다.
가정에서 일어나는 대부분의 멀티미디어(게임포함) 행위는 스트리밍의 형태로 이해할 수 있다.
3D게임의 방대한 폴리곤, 텍스쳐의 스트리밍, 물리엔진에 연산되는 방대한 양의 물리적 변수의
스트리밍, HD로 출력되는 HDMI신호의 스트리밍, 그리고 HDTV의 방대한 양의 영상 스트리밍

미래의 모든 멀티미디어 기술은 복잡하다기보단 단순하고, 방대한 양의 신호와 이를 일괄적으로
해석하는 일에 포커스한다. PS3는 머리가 많은 천재형이라기보단 다리가 많은 일벌레형에 가깝다.

미래 Cell 칩에 대한 상상

그럼 다시 본론으로 돌아와서,
CBEA문서에서는 "n의 PPU를 가진 n개의 PG"와 "n개의 SPE를 가진 n개의 SG"를 정의하고 있다.
그리고 PS3의 Cell Chip은 레퍼런스 구조에 비하면 PG, SG가 필요없을 정도로 작은 스케일임을
알 수 있다. 그렇다면, 대략 예상해볼 수 있는 "현실적인" Cell 칩의 구조도는...

- 8개의 SG (각각의 SG는 8개의 SPE로 구성);;;
- 2개의 PG (각각의 PG는 4개의 PPU로 구성);;;

현존하는 4Ghz의 속도와 SPE당 2개의 Instruction, 4번의 Float/Integer 계산능력으로만 환산해도
4Ghz x 4(계산능력) x 2(Instruction) x 8(SPEs) x 8(SGs) = 2048 GFlops = 2 TFlops;;;
물론, 현존하는 최고의 슈퍼컴퓨터인 eServer Blue Gene의 280600 GFlops에는 택도 없이 모자라지만
하나의 칩으로 나올 수 있는 성능으로는 상당하다고 할 수 있겠다.

물론 게임기로 이러한 성능을 사용할 일은 거의 없겠지만, IBM에서 PowerPC군을 Cell로 대체한다면,
앞으로 이러한 프로세서를 볼날이 머지 않았을 것이다.

Cell Broadband Engine™ 사이트 바로가기

Cell Chip Programming Guide 다운받기

Cell Processor 한글 공식 설명 자료 by IBM

AND

세계 메이저 게임쇼 중 하나인 GC의 최신영상이 HD로 포스팅됐다. 내용을 보니 기대했던 PS3 실기기는 없는듯하다. 몇일 전에 포스팅된 Eurogamer의 글을 보면,

We walked around the PS3 section of Sony'stand at Games Convention in Leipzig, Germany today and saw logos, screens and seats, but nary a controller (or PS3 hardware) in sight.
결국 GC 2006은 E3만도 못한 반쪽짜리 쇼가 되어버렸다. 덧붙이자면, Sony는 다음달에 있을 동경게임쇼에 총력을 기울이고 있는 듯하다. Gamasutra에 올라온 글을 보면, 소니는 동경게임쇼에 27개의 플레이 가능한 게임을 출전한다고 하였다. 하지만, 걱정되는 것은 E3와 같이 개발용 렉타잎으로 게임을 플레이한다면, 11월로 예정된 PS3의 출시가 불투명하다는 것을 의미한다는 것이다. 루리웹에서 봤던 1UP의 뉴스-PS3의 생산이 아직까지 이루어지지 않고 있다는 기사와 해명기사-를 비추어보건데, PS3가 제때 나오건 안 나오건 구하는 일은 하늘의 별따기에 가깝다. (400만대가 안되는 물량으로 전세계가 소비;)

동영상 보기(새창으로)..

AND