아이폰 해커로 유명한 George Hotz군이 플레이스테이션 3 exploit을 공개한지도 어언 3개월이 흘렀다. 소니는 그들의 남은 자존심 PS3의 잠재적 해킹을 막기위하여 OtherOS를 완전히 봉쇄하는 3.21 펌웨어 업데이트를 강행했고, Hotz군은 소비자의 권익을 보호한다는 주장하에 7일자로 OtherOS를 작동하는 3.21 커펌을 선보였다.

블로그에 적어놓은 글을 인용해보면,
Note to the people who removed OtherOS, you are potentially turning 100000+ legit users into "hackers." There was a huge(20x) traffic spike to this blog after the announcement of 3.21. If I had ads on this site I guess I'd be thanking you.

사실 이말이 틀린 건 아닌것이, 나 마저도 해킹된걸 알아도 그다지 관심이 없다가 우리집의 플스에 들어있는 리눅스가 날라간다는 소식에 솔깃해서 서칭하다가 알게된 것이기 때문이다.

현재는 아직 비디오 샷만을 보여주고 있는것이, 기존 PSP 커펌에서처럼 PSN에 접속시에 버전체크에 문제가 있다고 한다. 아마 프록시등으로 우회하는 루틴을 넣고서 공개할 듯.

AND

Engadget에서 실린 이 동영상은 일전에 소개되었던 위모트를 이용한 해드트랙킹 데모와 매우 유사하다. 다만, 별도의 IR Emitter를 머리에 부착할 필요없이 카메라를 이용한 Vision방식의 해드트랙킹이라 보다 발전된 형태라고 볼 수 있다. 코와 눈썹 부위를 인식하여 3차원적인 움직임을 감지할 수 있으며, 여러명도 인식이 가능하다는 점이 특징이다.

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

플레이스테이션 3의 구세주(?)로 불리는 차기 Social Network Platform인 HOME의 초기 모습은 다소 Flexible하지 않은 모습의 세컨드라이프로서 자유로운 커뮤니티와 개인공간을 제공하지만, 내부 컨텐츠는 미리 정해진 것들을 사용하는 방식이었다. 스크린샷에서는 함께 즐겁게 춤추는 노는 파티의 향연같지만, 그러한 Interactivity가 겉만 번지르르한 외향적 친밀감만을 제공한다는 것은 90년대말 VR의 환상이 깨지고 싸이질과 페이스북세대가 대세인 지금은 말해봐야 입만 아프다.

모두가 즐겁게 춤추는 이 장면의 내막에는 멀뚱거리며 패드로 춤추기를 명령하는 유저들이 있을 뿐이다. No social interaction! Yay를 외치는 단 한명의 유저(사실은 개발자)가 적막함을 배가시켜준다.


GDC 2008에서 발표한 HOME의 내용에 인상적인 부분이 있어 짚고 넘어가겠다. 이번 발표에서 인상적인 부분은 바로, UGG ( User Generated Game ), 즉 유저가 만든 게임을 공유하는 것이 가능하다는 말이다. 발표 내용을 보자.

HDK contents includes...
3D export pipeline tools
Scene & Object Editors
Latest developers build of Home included for both online & offline viewing and testing
Online build access with scene key validation


HDK는 Home Development Kit의 약자로 HOME 플렛폼 위에서 새로운 컨텐츠를 개발하기 위한 API와 Toolkit을 지칭하는 것이다. 또한 만들어진 패키지는 ActiveX나 Java처럼 일종의 인증서를 가지게 될 것 같다. 높은 자유도 때문에 유저에게 해를 주는 컨텐츠 제작이 가능해지므로...

HDK documents includes...
Maya & 3ds Max user guides with tutorials
Scene Editor user guide
Lua Arcade Games, Mini-games and Scripting Reference, tutorials & samples
Character Components Authoring and Furniture Creation with samples
Particle System Tool user guide with samples
All released in English, Japanese and Korean


HDK는 전문가가 아니라 일반유저가 활용할 수 있도록 최대한 다양한 도움말을 제공한다는 뜻이다. 한국어가 제3언어도 있다는 것이 특이하다. 한국의 게임제작에 대한 관심과 인디개발력을 높이 평가한 것이 아닐까.

Scene Editor

Use the Scene Editor to add:
Collisions and Graphics
Triggers (Areas & Events)
Game Elements (Seats, Picture Hooks, Furniture Points etc.)
Screens
Particle Effects
2D Arcade games
3D Mini-Games
Sound Objects (Ambient, Point Emitters, Sound Zones)


Scene Editor는 쉽게 말하면 워크레프트3나 스타크레프트에 포함된 맵에디터와 유사한 것이라고 보면 된다. 마야나 맥스를 통해 Import된 3D 오브젝트들을 배열하고, 게임에서 사용할 수 있도록 충돌조건을 설정하거나, 트리거(일종의 이벤트)를 설정할 수 있다. 또한, 게임내의 아이템(가구, 악세사리)을 위한 여러 조건들(어디에 앉을 수 있는지, 벽에 걸린다면 어떤 방향으로 걸리는지 등등)을 조절할 수 있다.

SceneEditor 스크린샷. 윈도우 기반에서 돌아가는 것을 알 수 있다. End-user를 위한 툴이라면 보다 상큼한 이름으로 지었으면 좋았을 것 같은데..


Lua Home API Overview

Functions & Events:
General
- OnInitialise, OnRender, OnLocalPlayerJoin
Network
- OutboundMessage, ReceivedMessage, NetPropertyBag
Camera Controls
- IsCameraActivated, SetCameraViewPortFOV
Other Library Interfaces:
OSD, Input Handlers, Local Player, Persons, SoundBanks

싸이의 미니홈피꾸미기와 차별되는 대표적인 부분으로, 자신만의 프로그램을 짤 수 있으며, 이 프로그램은 자신의 3D 오브젝트, 맵, 캐릭터를 통하여 다양한 컨텐츠를 제작할 수 있게 된다. 더우기 그 프로그램은 유저는 다른 유저들이 함께 즐길 수 있도록 연결해준다. (다만 게임에 참여하는 로비의 역할은 HOME플렛폼이 처리)

2D Arcade Games
Walk up to an arcade game console, choose to player and the screen apperars
Attached to screens
Scripted in Lua
Use Scene Editor to place the screen on top of your pre-created arcade game console

3D Mini-Games
Walk up to an area and choose to interact. You are moved within the mini-game but still can view those around you
Based in environment
Scripted in Lua


HDK를 통해서 만들 수 있는 컨텐츠는 무궁무진하다. 2D/3D 미니게임도 있지만, 자신의 얘기를 3D 영화로 보여줄 수도 있고, 교육용 컨텐츠 역시 작성이 가능하다. 일전에도 소개됐던 Sony의 UGG전략에서 짐작할 수 있었지만, Unreal에 이어 HOME과 Little Big Planet으로 이어지는 소니의 횡보가 과연 플레이스테이션3를 살릴 수 있을지 기대된다.

HOME에서 UGG를 즐기게 되는 시나리오. 개인홈으로 초대한 유저에게 부탁한다. "내 게임 좀 테스트 해줄래?"

LUA 스크립트를 실행하겠냐는 물음에 Yes하면, 바로 게임에 들어간다.

나오기도 전에 드는 걱정아닌 걱정이 있는데, UCC던 UGG던 유저끼리의 공유 컨텐츠는 강한 트래픽을 유발하는 플렛폼 상에 있어야 한다는 것. YOUTUBE가 플레이스테이션3에서만 돌아갔다면 과연 인기를 끌 수 있었을까? 또한, 세컨드라이프에서도 문제시되는 성인컨텐츠의 난무와 폭력적인 내용의 필터링을 어떻게 할 것인지?

AND

PS3 개발툴 유출!!

ET News 2007. 6. 8. 01:53
간만의 포스팅입니다. PS3의 개발툴(SDK)가 유출됐다는 슬픈(기쁜?)소식입니다.
PS3Hax에 익명으로 포스팅된 스레드에는 개발툴 파일로 추정되는 스샷과 함께 디테일한 파일 목록이 첨부되어 있습니다.

유출됐다는 파일 리스트입니다.

PS3_CP_Update-150_004.zip Reference Tool CP update file
PS3_SDK_SampleData-160_008.zip Sample Data
PS3_Toolchain-Win_160_008.zip gcc/gdb Windows
PS3_Toolchain-Linux_160_008.zip gcc/gdb Linux
PS3_SDKDoc-160_01-Latest-x.zip Documents
PS3_Generator-115.zip Disc Image Generator
PS3_Eclipse_Plugins-150_004.zip Eclipse Plugins
PS3_PA_150_004.zip Performance Analyzer Tools
PS3_at3tool-2000.zip at3tool
PAMF_Tools-100.zip PAMF Tools
MultiStream_Tools-135.zip MultiStream Tools
SEdit-1200.zip SEdit
VAGconverter-1.0.zip VAG Converter

세부 파일 목록 다운로드

진위 여부를 가리기는 힘들지만 만일 사실일 경우라도 아직은 PS3용 홈브루의 탄생을 속단하긴 어렵습니다. 왜냐하면 개발툴은 다양한 개발사에 이미 배포되어 있고, 그들이 원한 경우 백업이 가능하기 때문에 유출이 가지는 의미가 획기적이라고 보기 어렵고, 더불어 이러한 유출 시 악용되는 것을 방지하는 여러가지 장치를 SCE에서 마련했을 것이기 때문입니다. 하지만, 유출이 사실이고 해당 파일 내부에서 PS3의 약점을 조금이라도 알아낸다면 PS3의 보안장벽이 허물어질 가능성 역시 높습니다. (리눅스에서 RSX 엑세스 권한만이라도 얻는다면 큰 소득이겠죠.)

인원감축 소식과 더불어 악재가 겹치는 암울한 소니군요..
AND

Youtube에 올라온 이 영상은 IBM에서 발표한 iRT를 이용하여 3대의 PS3를 이용하여 실시간 Ray-tracing랜더링을 보여주고 있다. 이 영상을 보기 전에 알아야할 부분은 영상의 퀄리티나 해상도가 그리 좋지 않은데 왜 이것이 대단하냐고 반문하실 수 있는데, Ray-tracing은 자연에서 발생하는 빛의 움직임을 재현하는 랜더링 기법으로 마야나 MAX같은 3D 이미지 랜더링에서나 쓰이며(물론 요즘은 GI를 쓰겠지만), 실시간으로 구현되는 것은 거의 불가능하다. 그란투리스모나 기타 자동차 게임의 차체에 비치는 매끈한 광원효과는 환경맵핑이라는 기법을 이용한 것이며, 자세히 살펴보면 반사되는 이미지는 미리 만들어진 것이거나 디테일이 떨어지고, 자신이 반사되는 경우도 없다.

동영상 내용

  • Ray-tracing은 720p이며 4x super sampling이 적용되어 있음.
  • 3대의 PS3를 리눅스 환경에서 기가빗이더넷으로 연결하였다.
  • 각 PS3는 7개의 SPE중 6개를 iRT에 할당하고 있다. (나머지 1개는 OS용이거나 I/O 용도인듯)
  • 3대중 한대는 최종 이미지를 만드는 역할을 수행하며 1개의 SPE를 최종 이미지 압축용으로 사용한다.
  • 각각은 1개의 SPE를 이미지 전송 압축용으로 사용한다.
  • 따라서, 이미지 전송용 1대는 4개의 SPE를 나머지 2대는 5개의 SPE를 랜더링에 활용한다.
  • 랜더링 영상은 100% Ray-casting이며 유리와 차 표면에 Reflection과 Refraction이 구현되어 있다.
  • 실시간이기에 다양한 Light source를 부여할 수 있다.
  • 뒷부분에 보이는 네모들은 각각 어떤 하드에서 랜더링되고 있는지를 보여주며, 맨 아래쪽은 4개의 블럭이 있는데 이유는 클라이언트라서 4개의 SPE만을 사용하기 때문이다. 나머지는 5개의 블럭이 보인다.

영상을 보면서 느끼는건, 대단하긴한데 이거 PS3용 게임을 만들 수도 없고, 그렇다고 Real-time Global Illumination처럼 Wow Factor가 있는것도 아닌 게 일반 유저들이 봐서는 그닥 관심이 대상이 되긴 어렵겠다는 생각이었다. 하지만, 대단한건 인정!!

AND

YDL의 PS3버전 출시로 게이머들에게 알려진 Terra Soft에서 PS3를 이용한 클러스터링 솔루션을 판매한다. 6 node와 36 node를 판매중이며, 각각 1TFlops와 5TFlops의 성능을 제공한다고 한다. Head node로는 IBM p5 185을 사용하며, 기가빗이더넷으로 연결된다. 궁금한 점은 분명 같은 Market Segmentation에 IBM의 셀 블레이드 서버군이 존재하는데, Sony와 IBM은 PS3의 서버 시장판매에 대해 어떻게 얘기되었는지 모르겠다. 다만, 이 제품의 가격은 만만치 않은데, 6 node가 $18,325, 36 node가 $40,000에 판매된다. 회사에 놔두면 노드 1개 클러스터링에서 풀어서 몰래 게임할 개발자들 많을 꺼 같은데?

사이트 바로가기
AND

플스3 펌웨어가 1.6으로 업데이트 되면서 Folding@Home이라는 메뉴가 생겼다. SETI@Home의 아류격으로 느껴질만하지만,(SETI@Home은 1999에 Folding@Home은 2000년에 시작했으니 아류가 맞다고 볼수도 있다.) Folding@Home은 난치병 치료제 개발에 도움이 되는 단백질의 접힘(Folding) 연구를 위한 것이기 때문에 보다 공익(?)적인 작업인 셈이다. 처음 뉴스를 접하고 '소니가 PS3의 실추된 이미지를 사회공익적인 이미지로서 개선해보고자 하는군'이라는 선입견이 생겼지만, 실제로 사용을 해보니 몇가지 실익(?)적인 부분-말로만이 아니라 실제 도움이 된다는-이 있었다.

PS3에서의 구동

Folding@Home의 구조를 간단히 보자면,

- 처음 시뮬레이션할 작업량을 네트워크를 통하여 받아온다.
- 내부 컴퓨팅파워(CPU+GPU)를 이용하여 시뮬레이션을 수행한다.
- 시뮬레이션이 끝나면 자료를 전송한다.
- 이를 반복한다.

보고있자면 단백질 구조가 무섭도록(!) 덜덜 떨면서 각 상황의 접힘을 시뮬레이션하는데, 자꾸 보고 있으노라면 세뇌가 되는지 오랫동안 쳐다보게 된다. 배경에는 지구상에서 Folding@Home 프로그램이 가동중인 지역이 밝게 표시되어 나타난다. (클라이언트 수가 많을수록 밝은 곳으로 표시된다.)

PC버전과 PS3버전과의 비교

혹시나 해서 필자의 PC에서 Folding@Home PC버전을 돌려보았는데, 결과가 의외여서 놀랐다. 본인의 PC사양은,

AMD X2 3800+ / 1.5GB RAM / GeForce 6100 통합칩셋 / 500GB HDD

정도인데, 아래 실행화면을 보면,

내부에서 수행되는 작업의 내용을 정확히 알지 못하기 때문에 단정짓기 어렵지만, Folding@Home에서 작업의 최소단위는 frame으로 정의하고, 여러개의 프레임이 모여서 하나의 시뮬레이션을 이룬다. 참고로 PC버전과 PS3버전의 시뮬레이션 분량이 다른데, PC버전은 20000개의 프레임이 하나의 시뮬레이션이고, PS3버전은 40000프레임이 하나의 시뮬레이션을 이룬다.(왜인지는 나중에 나온다.) 결국 한 프레임을 계산하는 작업시간은 해당 머신의 성능과 거의 직결된다고 볼 수 있다. 위 사진에서 보면 16s/frame으로 나타나 있는데 이것은 한프레임을 계산하는데 드는 시간이 16초라는 것이다.  그럼, PS3버전의 한 프레임당 작업시간은 얼마인지 살펴보자.
16초 대 0.07초...이거이거 같은 작업분량으로 보기가 어려운 값인데, 일단 PC버전은 다중코어지원이 안되기 때문에(Linux나 Mac버전에서만 가능) 싱글코어 100%사용량으로 설정했을때의 성능이다. 그렇다고 하더라도 너무 차이가 난다. PS3 버전의 구동원리도 묘연하다. 셀만을 이용하는 것인지 RSX(GPU)도 연산에 이용하는 것인지를 알 수 없다. 하지만, Wikipedia에 따르면 PS3용 Folding@Home이 배포된 이후, 최고의 연산 피크를 기록했다고 한다. (990 teraFLOPS in 3/25/2007) PS3의 참여로 인하여 가시적인 퍼포먼스 향상이 있다는 것이다. 곧 있으면 petaFLOPS(페다플롭스)에 도달할 예정이라니, 소니의 Folding@Home 홍보가 단지 Eyecandy만은 아니라는 것은 인정해줘야 하겠다.

Folding@Home 사이트 바로가기
AND

좀 지난 얘긴데, 막간을 이용해 올려본다. Tsukuba 대학 CS의 한 학생이 SIXAXIS(Playstation3의 컨트롤러)를 PC에서 구동가능하게 하는 프로그램을 만들었다. 원래 SIXAXIS는 USB HID기기로 등록이 되지만(블루투스에선 아직 등록이 안된다), 실제 작동은 하지 않고 있었다.(RAW Data조차 뿌려주지 않았었다.) 이 학생은 SCE에서 "it requires special USB request to enable sending HID data"(HID로 작동을 위해선 특별한 USB신호를 보내야한다)라는 발표를 보고 그 신호를 찾아서 SIXAXIS의 PS버튼을 누를 경우를 캐치해 응답신호를 보내주는 프로그램을 만들었다. 이로서 컨트롤러의 십자패드, ○X□△버튼, L1-3, R1-3, 2개의 아날로그 스틱을 읽을 수 있다. 다만, 현재까지 모션센싱데이터(6축 모두)를 읽을 수 없다.

사이트바로가기

일한사이트 번역 구글 툴바버튼
AND


처음 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