2009년 9월 28일 월요일

GDC Austin에서 발표한 WOW 개발팀 조직도

 

GDC Austin: An Inside Look At The Universe Of Warcraft

 

요약 정리 글 : 박PD 게임 아키텍트 블로그

 

구체적인 설명은 위의 글을 보시면 될 것입니다.

 

글을 보고 든 생각을 간략히 적으면

 

1. 현재 Live 팀의 구성이지 처음부터 저런 구성은 아니다.

2. 생각보다 기획팀이 적어서 놀랬다.

3. 월드당 서버가 몇 대인지 궁금. 13250대의 서버라고 하는데 월드당 30대 이상 되는 것처럼 추측됨

4. Creative development team은 팀의 역사를 기록한다고 한다. 팀 내의 작업 history를 관리한다고 하는데 무척 참신함

5. 프로덕션 팀의 중요한 역할이 'succession planning'이란다. 다음 리더가 누가 될 것인지를 명확하게 해준다고 하는데 감동.

6. 한국에서는 저런 구조는 불가능 할 듯

 

저런 방식의 개발팀은 전세계적으로 WOW 한 개의 팀만 있는 것이 아닐까 생각해봅니다

 

@모루

 

2009년 9월 16일 수요일

아이폰 프로그래밍 10계명

 

아이폰/아이팟 터치 프로그래밍은 PC나 맥에 비하면 많은 제약이 있습니다만 휴대폰에서의 프로그래밍에 비

하면 개발 환경은 비교할 수 없을 만큼 편리합니다. 프로그래밍 환경이 맥 용 프로그래밍을 개발하는 것과 유사하고 실제 개발환경도 통합되어 있기 때문에 차이가 없는 것처럼 느껴집니다.

 

하지만 실제로 개발해보면 차이가 많아서 공부해야 할 것이 많다는 것을 금방 알게됩니다. 그리고 시뮬레이터에서 테스트하는 것과 실제 디바이스에서 동작하는 것이 다르다는 것도 알게되고 마우스로 터치를 시뮬레이션 하는 것도 차이가 있다는 것을 깨닫게 됩니다.

 
휴대 기기에서 개발하는 것은 PC에서 개발하는 것과는 큰 차이가 있다는 것을 인정하고 개발 방법을 다르게 해야겠지요. 그러면 어떻게 해야 할까요? 예전에 스마트 폰을 개발하면서 중요하다고 생각한 것에 최근에 아이폰 용 프로그램을 개발하면서 정리한 원칙 10가지를 나열해 봤습니다.
 
1. 만들고자 하는 프로그램의 기능을 명확히 하라
 
2. 이미지 디자인이 아니라 기능 디자인에 집중하라
 
3. 자신의 아이디어와 비슷한 앱은 반드시 있다. 사전 조사하고 비교하여라.
 
4. 가장 중요한 핵심 기능에 개발을 집중하라
 
5. 기능 스펙을 개발 초기에 결정하지 말고 개발 하면서 스펙을 완성 하라
 
6. 첫 번째 릴리즈 이후에도 사용자의 피드백을 받아 끊임 없이 개선하라
 
7. 공들여 개발한 기능이라도 중요 기능을 방해하면 과감히 제거하거나 숨겨라
 
8. 개발자 관점이 아니라 사용자 관점에서 불편한 것은 최대한 제거하라
 
9. 개발 중에 실제 아이팟/아이폰에서 테스트를 할 수 있게 실행이 되는 버전을 만들고 실행 시켜보라
 
10. 개발 중인 버전을 항상 들고 다니면서 실제 사용하는 상황을 만들어 테스트를 하라

긴 설명을 덧붙일까 싶었지만 짧은 것 나름의 매력도 있어서 설명을 덧붙이지 않았습니다. 궁금하신 것이 있으면 덧글을 달아주세요.

@모루

2009년 9월 11일 금요일

새로나온 아이팟 터치, 카메라는 왜 빠졌을까?


  • 높이 : 110 mm
  • 폭    : 61.8 mm
  • 두께 : 8.5 mm
  • 무게 : 115 g

위의 숫자는 10 새벽에 발표한 iPod touch 3세대의 크기입니다.

어제 발표에서 아이팟 나노 신제품과 아이튠즈9 발표가 되었습니다만 저의 가장 관심은 아이팟 터치 3세대였습니다. 계속 카메라가 달린 아이팟 터치가 나올 것이라는 루머가 있었기 때문이죠. 하지만 하루 전날에는 카메라 문제로 나오지 못한다는 루머가 돌았습니다. 역시나 발표에서도 카메라가 빠진 공개가 되었습니다. 아파서 공개석상에 나오지 못했던 잡스도 카메라가 없는 제품 홍보에 열을 내셨지만 단팥 없는 찐빵 같은 느낌이 들었습니다.


어떤 카메라 스펙을 기대했던 것일까요? 사람들이 기대한 카메라 스펙은 iPhone 3Gs 포함된 것이었습니다. 잠깐 살펴보죠.


  • 3백만 화소
  • 오토 포커스
  • 동영상 녹화 (VGA 30 fps)
  • 사진과 영상에 위치 정보 기록



정도의 스펙이라면 따로 사진기를 들고 다닐 필요도 없겠죠? 이미 아이폰의 카메라의 퀄리티는 충분히 만족스럽다고 알려졌으니까요.


잠깐, 그런데 중요한 차이점이 있는 것을 놓쳤습니다. 시작 부분에 나온 아이팟 터치의 크기를 보면 아이폰과 거의 차이가 없지만 두께에서는 많은 차이를 보입니다.


iPhone 3 Gs HW spec


높이 : 115.5mm

   :   62.1mm

두께 :   12.3mm

무게 : 135 g


터치는 8.5mm 아이폰은 12.3mm 입니다. 생각보다 차이가 많이 납니다. 아이폰이 두꺼운 것이 아니라 아이팟 터치가 얇은 것이겠죠? 하지만 거의 45% 정도 두껍다는 것은 아이폰에 적용된 카메라가 터치에 사용될 없다는 것을 의미합니다.


애플은 디자인에 기능을 맞추는 것으로 유명한 회사입니다. 카메라 높이 때문에 디자인을 변형하지는 않습니다. 아이팟을 두껍게 만들거나 원래의 디자인을 포기하고 카메라 부분만 튀어나오게 하지는 않습니다.


그럼 애플은 어떻게 했을까요? 당연히 현재 아이팟의 크기에 맞는 카메라를 만들도록 했겠지요. 하지만 같은 스펙의 부품의 높이를 30% 줄여야 합니다.  




오래된 이야기지만 제가 회사의 스마트 폰을 개발할 겪었던 일을 이야기를 해야겠습니다. 당시에 나온 대부분의 핸드폰들은 30 화소의 카메라를 가지고 있었고 100 화소를 가진 카메라가 언제 나오는지가 궁금하던 시절입니다. 당시 핸드폰은 20~25mm 정도로 모토롤라의 레이저가 유행하기 전이니 얇은 휴대폰이 유행하기 전이었습니다.


한창 개발하던 폰도 30 화소였는데 갑자기 새로운 보드가 나왔으니 새로 드라이버를 올리라는 것입니다. 높이가 10mm 안되는 100 화소의 카메라를 달기로 했다는 군요. 처음부터 그럴 계획이 있었지만 외주 업체인 우리에게는 계약할 그런 이야기는 꺼내지도 않았었습니다. 문제는 새로 시작하는 것에 있지 않았습니다. 100 화소 카메라 모듈이 공장에서 나온 시제품이었다는 것이죠. 더구나 붙여야 하는 컨트롤러도 아직 완성이 안되어서 현재 나온 컨트롤러에 붙였다가 나중에 성능을 가진 카메라 컨트롤러가 나오면 거기에 붙여야 하는 것이었습니다.


나온 시제품이 제대로 동작할리는 만무하죠. 화질은 나쁘죠. 스펙 대로 만들어지지도 않아서 보드가 새로 나올 때마다 새롭게 버전업 모듈이 붙었습니다만 마지막까지도 안정이 안되었습니다. 화질은 여전히 좋지 않았고요. 품질이 나빴던 것은 카메라 모듈의 크기에 있었습니다.


카메라 모듈은 광학 제품입니다. 카메라 렌즈를 통과한 빛이 센서에 상을 맺기 위해서는 최소한의 높이가 필요합니다. 고해상도의 카메라는 센서가 커지게 되고 만족스러운 상을 맺기 위해서는 렌즈도 커집니다. 보통 작은 카메라 모듈의 렌즈는 플라스틱 재질로 만들게 되는데 굴절률을 높이기 어려워 모듈의 높이가 어느 정도 이상 작게 만들기는 어려웠습니다.


디자인된 높이는 7mm 였는데 처음 시제품은 8mm 였습니다. 중간에 폰의 디자인도 변형하여서 현실 상황과 타협을 해보려고도 했었지만 결국 원래 디자인 컨셉을 유지 하기 위해 7mm 맞추어서 나오게 되더군요. 하지만 그만큼의 시간과 노력 (돈을 주진 않았습니다) 들어갔습니다. 카메라 뿐만 아니라 다른 핵심 부품들도 그런 상황이었기 때문에 고생은 말로 없었죠. 중요한 것은 출시 타이밍을 놓쳤다는 것인데 그 이야기는 나중으로 미루지요.


다시 아이팟 터치로 돌아가보죠. 제일 두꺼운 부분이 8.5mm입니다. 아이폰과 같은 위치에 설치하려면 두께보다 작아지겠지만 최대 높이인 8.5mm 부분에 설치한다고 하고 케이스의 두께를 고려하면 해야 7mm 정도가 한계입니다. 높이에 맞춘다고 해보죠.


300 화소에 오토포커싱 (광학인지는 확인하지 못하였습니다만 광학 오토포커싱이면 두꺼울겁니다) 카메라 모듈의 높이로는 구현하기에 무척 힘든 높이 입니다. iPhone 3Gs 카메라의 렌즈의 직경이 무척 작은 것을 보니 실은  낮은 높이인지도 모르겠습니다만 아이폰에 비해 30% 작아진 높이에 맞추기 위해 작게 만드는 것은 - 단 1mm 라도 -  쉬운 일이 아닙니다.  


iPhone 3Gs 달린 카메라 모듈 대신 새롭게 만든 카메라 모듈을 달기 위해 고생했을 개발자들이 눈에 선합니다. 분명 카메라가 포함된 것이 처음 스펙이었겠지요. 하지만 정해진 시간까지 카메라 모듈의 개발이 완료되지 못하였던 것입니다. 날을 새고 주말에 나와도 하드웨어가 원하는 퀄리티가 나오지 못하는데 무슨 소용이겠습니까.


애플 입장에선 불확실한 모듈을 위해 기다릴 없으니 Plan B 선택을 했겠지요. 카메라 모듈이 빠진다고 가격 낮출 것도 아니었을 것이고 - 단가는 달러 합니다만 - 기본 시스템을 iPhone 3Gs 같은 기능으로 업그레이드를 했으니 다음 제품 발표 - 타블렛 제품 발표 일까요 - 같이 터뜨리기로 했는지도 모릅니다. 다행이라고 스스로 위안을 했을지도 모릅니다.


하지만 애플 입장에선 - 실은 개발자 입장에서나 소비자 입장에서 - 아이폰과 차이가 전화기 뿐인 iPod touch 제품을 제공하지 못한 것은 무척 안타까운 일입니다. 애플의 동영상 컨텐츠 정책이 차질을 빚게 되었으니까요. 그나마 게임 전략은 그대로 유지하게 되어서 다행인 같습니다. 난데 없이 게임이라고요?


별로 크게 선전이 되지 않아서 중요함이 강조되지 않지만 50% 나아진 성능, OpenGL ES 2.0 제대로 지원하는 프로세서는 게임 개발 입장에서는 무척 중요한 기능 개선 사항입니다. 앱스토어의 주요 매출원인 게임을 단계 업그레이드 있는 발판을 마련했으니까요. 이제  OpenGL ES 2.0 제대로 지원하게 되는 게임들이 나오면 기존의 모바일 게임과는 비교가 안될 정도의 퀄리티 향상을 가져올 것입니다.


그렇습니다. 애플의 경영진들은 게임에 집중하기로 것입니다. iTunes 정말 훌륭합니다. 하지만 게임 앱의 성장은 눈부십니다. 닌텐도 DS 부진이 아이폰이나 아이팟 터치 때문이라는 이야기가 나올 정도니까요. 카메라를 넣기 위해 제품 시기를 늦추는 것보다 게임기 성능을 높여서 게임 시장을 앞당기는 것이 급했던 것이죠. 3천만 대의 아이폰과 2천만 대의 아이팟 터치는 엄청난 플랫폼이 되어버렸습니다.


제품 마다의 성능이 다르다면 제일 낮은 성능의 제품에 맞추어 게임이 개발됩니다. 아이팟 터치 1세대에서는 실행 안됨이라고 붙일 수는 없으니까요.  3세대가 장착한 새로운 프로세서인 ARM A8 RISC 프로세서는 실수 벡터 연산이 가능한 모듈도 가지고 있습니다. 월등한 성능을 가지고 있으면서도 기능을 밖에 쓰고 있으니 얼마나 안타깝습니까.


멋진 아이팟 터치는 카메라 모듈이 빠짐으로써 한국에서 새롭게 인기 몰이를 기회를 놓치긴 했습니다만 아이폰 출시가 건너간 같은 상황이 되다 보니 아이폰을 사려고 기다려온 사람들에게는 여전히 매력적인 대안이 있을 같습니다.

 

이러나 저러나 소비자 입장에서는 안타까운 상황입니다.


@모루