ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 존 카맥 [john carmack] - 현 id 소프트 프로그래머 :: 자료모음
    세상 2007. 9. 10. 00:12


    한글과 컴퓨터의 창립맴버였고 ncsoft에서 리니지를 만들었던 한국의 천재프로그래머 우원식님의 꿈은 한국산 MMORPG엔진을 개발하는 거라고 했다. 실제로 리니지1을 제외한 리니지 2는 언리얼, 현재 개발중이 아이온은 크라이엔진을 쓴다고 했다.

    우원식님의 기사를 읽다가 퀘이크의 게임엔진을 만든 세계적인 게임프로그래머 중에 한명인'카맥'이 어떤 사람인지 대충 알아보았다. (라이벌인 언리얼 엔진만든사람은 다음에..) 그가 만든 게임엔진은 30억대이며, 그가 만든 엔진으로 무수한 게임들이 돌아가고있다.





    존 카맥, 신규 3D엔진으로 신작 개발중

    id 소프트의 신작, 새로운 게임엔진으로 개발된다

    사용자 삽입 이미지
    젊었을 때, 옜날 사진 ㅡㅡ;
    요즘은 로케트 만든다는데..


    '천재 프로그래머', '<둠>과 <퀘이크>의 아버지' 등 여러가지 수식어가 따라다니는 존 카맥이 새로운 게임을 개발중이라는 사실이 밝혀졌다.

    id 소프트웨어의 토드 홀렌쉐드 대표는 지난5월 31일 해외 게임매체 '게임 인더스트리'와의 인터뷰를 통해 새로운 엔진으로 신작을 개발중이라고 밝혔다.

    인터뷰 내용에 따르면 개발중인 신작은 기존의 프랜차이즈와는 전혀 다른 새로운 게임이 될 것이며, 존 카맥이 직접 개발하고 있는 새로운 게임엔진이 사용될 예정이다.

    토드 홀렌쉐드 대표는 "우리가 신작을 공개하면 사람들은 마치 <둠3>를 처음 보았을 때처럼 존 카맥의 마법이 아직도 많이 남았다는 사실을 알게 될 것"이라고 말하며 개발중인 게임에 대한 자신감을 드러냈다. 이어서 그는 "개발중인 신작에 사용한 게임엔진은 현재 실제로 구동이 가능한 상황"이라고 덧붙였다.

    한편, 존 카맥이 개발한 '퀘이크 엔진'은 <하프라이프>, <리턴 투 울펜슈타인> 등의 게임에 사용되었으며 FPS 게임에 최적화되었다는 평가를 받고 있다.









     

    사용자 삽입 이미지
    (역시 젊었을때ㅋ 요즘은 사진 안찍나요...)


    [영어: John D. Carmack II, 1970년 8월 20일 ~ ]

    http://www.armadilloaerospace.com/n.x/johnc/ 
    <- 카맥의 블로그

    대표작 : 울펜슈타인3D, 둠, 퀘이크






    1. 세계3대 개발자중 한명이고 FPS의 아버지라 불리웁니다.
    2. 존카멕은 3D그래픽의 혁신을 일으킨 최고의 권위자이며,
    또한 로켓공학의 연구자이자 Armadillo Aerospace의 설립자이기도 합니다
    3. 1999년 존카멕은 타임지에 의해 기술적으로 가장 영향력있는 인물 50인에
    10위를 차지했으며 2001년 3월 22일엔 명예의 전당의 4번째 인물로 선정
    되었습니다.
    4. 존카멕이 개발자들에게 존경받는 또다른이유는 자신이 개발한 3D기술을
    특허로 내지않고 기술을 모두 공개하고 다른개발자들에게 제약없이 기술을
    이전해주었으며 이러한 기술을 이용해 현재 수많은 3D게임에 존카멕이
    개발한 3D기술들이 쓰여지고 있습니다.
    5. 존카멕이 천재개발자이고 인정받는이유는 늘 3D그래픽의 표준을 제시하고
    혁신적이었으며 좀더 나은 개발환경을 추구한 엔진개발을 해왔습니다.
    그리고 해가 바뀔때마다 존카멕은 미래의 3D그래픽에 대해 또 하드웨어의
    발전방향에 대해 예측하고 예시했으며 존카멕이 예언한대로 미래는 흘러
    갔었죠.

    성실한 프로그래머

    자기 스스로도 하루일과중에 먹고자는 시간과 애마(페라리)를 타는 약간의 시간을 제외하고는 나머지 모든 시간을 코딩과 테스트에 열중한다고 합니다. (그는 게임 프로그래밍에 하루 10시간이상을 소비한다고 합니다.)


    넘치는 천재성

    존카맥이 천재라는 소릴를 듣는 이유는 여러가지가 있을수있는데.. 일단 아주 젊은 나이에 제가 알기론 19세무렵 FPS타입의 슈팅액션게임을 개척하고 만들었습니다. 바로 울펜슈타인입니다.
    여기서 부터 적용된 BSP기법은 그후로 인도어 게임에 있어서 교과서적인 공간 분할기법으로 자리 잡았습니다.(퀘이크에서 사용한 BSP트리(Binary Space Partitioning Tree), PVS(Potential Visiblity Set), Light Map 기술은 현재 모든 FPS게임의 기초가 되는 개념입니다.)


    그가 천재라 불리는 이유는 그 이론을 창시한 사람으로 부터 몇가지의 대답을 듣고는 자신의 게임에 가장 어울리는 형태로 그 이론을 구현했다는 점입니다.

    19세정도의 나이에 논문을 읽고 자기의 스타일대로 이론을 재구성하고 구현할수있다면 천재라고 봐도 무방하겠습니다.

    그리고 그는 그이후로도 존 카맥식의 그래픽 엔진을 만들고 자기 스타일대로 많은 이론들을 각색했습니다.(인공지능을 위해 퀘이크C를 만들었다던가..최근에는 그림자 볼륨을 자기식으로 구현한다든가하는…) 이론이 아닌 구현에 있어서 그는 분명히 독창적이고 뛰어난 천재라는 점은 많은 사람들이 인정하는 점입니다.

    노력과 재능이 겸비된 사람만이 최고일 수 있다는 것을 분명히 보여준 사람입니다.


    뛰어난 게임 프로그래머.

    통상적으로 게임은 사실 신기술의 장이 아닙니다.

    그리고 기술이 뛰어나다고 해서 그 게임이 재미있고 많이 팔리고 사람들의 입에 오르내리는 것은 아닙니다.

    사실 이론이나 알고리즘이 이미 공개된 컴퓨터 기술을 잘 조합해 놓은 결과물이 게임 소프트라해도 틀린애기는 아닙니다.(약간의 비약이 있습니다.)

    더 큰 문제는 게임은 많은 인력이 들고, 돈도 많이 드는데다가, 오히려 수익률은 현저히 떨어지는 산업이라는 점입니다.

    그래서 보통은 기술보다는 그래픽이나 사운드가 아님 기획이 더욱 중요해 지는 것이 보통의 게임 개발입니다.

    물론 둠이나 퀘이크가 기획이나 그래픽 사운드가 떨어진다는 것은 절대 아닙니다.

    하지만 존 카맥은 기술이 게임자체의 재미를 이끌어 낼수있다는 점을 보여주었다는 점에서 많은 프로그래머들이 선망의 눈길을 주는것이 아닌가 합니다.

    퀘이크나 둠은 카맥의 빠른 엔진이 아니었다면 과연 재미가 있었을까라는 생각이 든다는 점이 보통의 게임과는 다르다는 것입니다.

    즉 기술적으로도 뛰어나면서도 재미가 있는 게임을 그는 만들었다는 것이점..(역시 최초라는 점이 대단한 것입니다.) 즉 기술이 게임의 재미에 큰영향을 준다라는 점을 많은 게임 개발자들에게 인식시켜 주었다는 점에서 많은 프로그래머들이 그를 선망합니다.


    뛰어난 사업가


    사실 앞에서 언급한대로 게임은 많은 노동력과 기술이 집약된 산업이면서 동시에 문화산업이면서 동시에 수익률이 떨어지는 사업입니다.

    그래서 대부분의 메이져급 개발사들은 많은 인원을 들여서 많은 팀을 가동시키고 많은 게임을 만듬으로해서 그 떨어지는 수익률을 매꾸었습니다.

    10개의 게임을 만들어서 하나가 성공한다면 한번에 10개를 만들면 적어도 하나는 성공한다는 간단한 원칙에 기초한 정책입니다. 그러나 그는 대부분의 회사들이 그런식으로 경영을 하고 스튜디오들을 가동시킬때...

    10명남짓의 소수의 인원을 회사구성원으로 하고 그래픽등은 외주를 주는 방식으로 회사를 운영했습니다.

    그 결과 10명의 회사원은 모두 부자가 되었습니다.

    그리고 최초로 엔진을 판매하여 상당한 수익을 창출하였습니다. 3D게임엔진이라는 말조차 없던 시절인 당시를 생각하면 게임업계에 있어서는 정말 흥미로운 기술이었을 것입니다.


    개발자로서의 소신.


    그는 뭔가 고집이 있습니다.

    즉 대외적인 압력에 굴하지 않는 소신이 있다는 점이 역시 묘하게 매력이 있지 않나 싶습니다.

    다이렉트 엑스가 지금처럼 좋은 성능과 편리함을 지니지 못하고 있을 시절.. 마이크로 소프트의 압박에도 불구하고 그는 그때 당시 더 뛰어났던 오픈지엘을 선택했습니다.

    그리고 많은 사람들이 비쥬얼 스튜디오의 편함에 물들고 상업적인 이유로 MS윈도우를 플랫폼으로 채택하고 게임 만들때 그는 멀티 플랫폼으로 게임을 만들고 리눅스로 게임을 출시했었습니다.

    유례없이 그는 자신의 게임소스를 크리스마스때마다 선물로 공개하였습니다.

    그리고 언리얼 엔진이 출시되어 퀘이크 엔진의 뒤를 쫓아올때 언리얼 엔진을 보고.. 엔진을 만들때 그리 오랜 시간을 들일필요없다고 말한 것은 이슈가 되기도 하였습니다.

    게다가 그는 GeForce3가 나올때는 엔비디아의 제품 발표회에서 그리고 ATI Radeon 9700이 발표될때는 ATI의 제품 발표회에서도 그는 모습을 드러냈었습니다. 돈이나 실리보다는 맞다고 생각되는 것에 손을 들어주는 그의 모습에 역시 많은 개발자들은 참 대단한 사람이다라고 생각하지 않았나 싶습니다.(사실 그가 이미 충분히 돈이 많아서이거나 계약관계의 이유일 확률이 더 높다고 봅니다.)


     
    독특한 취미와 개성.


    존 카맥의 취미는 패라리 모으기입니다. 돈이 많으니 가능한 애기겠지만.. 확실히 좀 특이한 면이 있습니다. 더 재미있는 사실은 매년 퀘이크 대회에서 우승한 사람에게 자신의 페러리중 한대를 선물로 준다는 점입니다. 뭔가 모으기를 좋아하는 사람이 자신의 콜랙션중에 하나를 남한테 준다는 것도 특이한 그의 면모입니다. 그리고 요새는 개인 우주여행사업에 돈을 들이고 있다고 합니다.(대단한 부자군요.)

    헤어스타일도 꽁지머리아님 바람머리 비스무리한데.. 꼭 강연회나 제품발표회같은 자리에서.. 헐렁한 면티하나에 청바지 딸랑 입고 나옵니다.



    존카맥의 QUAKECON2005 기조 연설문


    회고(Reflections)

    먼저, 우리 산업이 얼마나 멋지게 변해왔는가와 우리가 경험한 진보의 종류에 대해서 다시 생각해 보는 것이 좋겠습니다.

    아주 오래 전, 그래픽스 선구자들은 현실세계는 초당 8천만폴리곤이다라고 깝죽댔습니다. 우리는 지금 값싼 콘솔로도 이 수치를 넘어섰죠. 후에, 이 수치는 프레임당 8천만으로 조정되었습니다. 왜냐하면 우리는 이미 초당 80만 폴리곤을 갖고 있음에도 불구하고 현실세계에 아직 도달하지 못했기 때문입니다.

    그러나 여전히, 그 숫자 또한 터무니없다는 것이 사실입니다. 그 숫자는 예전에 사람들이 이정도면 무한대나 마찬가지다라고 상상했던 숫자였습니다. 그리고 지금 우리는 수백달러 정도로 그 정도 성능을 내는 값싼 콘솔, PC과 함께하고 있으며 예전의 그래픽스 선구자들의 상상력을 가뿐하게 뛰어넘고 있습니다.

    그리고 우리는 그런 쌩파워(raw performance -_-)뿐만 아니라 사람들이 기대하던 예전의 시스템보다도 더 나은 기능들을 갖고 있습니다. 우리는 그리 오래되지 않은 수백달러의 이미지처리 시스템보다 모든 면에서 더 뛰어난 시스템을 생각할 수 있고 그것이 더 났다고 말할 수 있습니다.

    그리고 단순히 대역폭을 무시한 채 이 칩이 슈퍼컴퓨터보다 빠르다고 설쳐대는 광고문구들과는 달리 우리가 실제로 얻게 된 능력은 단지 생폴리곤(raw polygon -_-) 출력뿐만 아니라 이전세대 그래픽스 시스템은 전혀 갖추지 못했던 프로그래밍 가능성(programmabliity)입니다. 우리는 더 나은 이미지 충실도(역주 : image fdelity - 대상 이미지에 얼마나 근접한 결과를 얻었나를 따지는 것 같은데, 가방끈이 짧아서... -_-)와 높은 다중 scan-out rate(역주 : 번역 불가. fill rate말하는 건가?)에 도달했고 단돈 수백 달러의 차세대 콘솔에서 이것들을 가질 수 있습니다. 그리고 PC는 여전히 놀랄만한 속도로 발전중입니다.

    그러나 우리에게 허락된 이 똥파워 그래픽스, 이것은 이어지는 퀘이크4 데모에서 볼 수 있는 것처럼 너무나 멋집니다. 그리고 이건 기술력으로 인해 우리가 할 수 있는 직접적인 결과물이죠. id는 종종 게임디자인도 모르고 뽐내는 기술에만 초점을 맞춘 회사로 욕먹곤 하는데요, 사실은, 우리가 직접 공급하는 기술, 업계로부터 이용할 수 있는 기술(역주 : 즉, id가 직접 안만든 기술을 의미하는 듯), 이것이 바로 우리가 기억에 남을 만한 게임을 경험할 수 있게 하는 것입니다.

    여러분은 여러분 자신이 하고 있는 것과 여러분의 캐릭터가 성취하는 것과 같은 요소로 게임을 분해할 수 있는 반면에, 여러분은 표현(presentation)과 경험을 분리시킬 수 없습니다. 그래서 표현은 정말 결정적으로 중요한 요소입니다.

    어느 정도는 id software가 그 한계선을 끌어올려서 업계에 문제를 야기시키고 있는 것은 사실이며 저 또한 공감하고 있습니다.

    소프트웨어 개발에서 예산이 점점 커져가는 것은 중요한 문제입니다. 천만달러 이상이지요. 둠3 혹은 퀘이크4가 발매되지 않기를 원한다고 직접적으로 말하는 사람들이 있습니다. 사람들이 지금의 모든 게임들이 그 정도로 좋아 보일 것이라고 기대하기 때문입니다. 기대치가 높아졌기 때문에 모든 게임들이 그 정도 수준이 되기를 기대합니다. 이와 같은 현상은 다른 분야에서도 나타납니다. 그래픽스 뿐만 아니라 물리도 그렇게 가고 있으며 모든 게임이 물리엔진을 갖추기를 기대받고 있습니다. 슬프네요.


    저는 요즘에 게임을 만들기 위해서 우리는 실제로 B급 영화를 만들어야 한다는 불운한 사실에 대해서 가끔 생각하곤 합니다. 반면에, 가끔은 게임이 게임이기 위한 것들에만 집중할 수 있으면 얼마나 멋질까 하고 상상합니다.

    그러나 기술은 게임 플레이 사회와 이 게임들을 플레이하는 사람들에게 절대적인 이득을 가져왔습니다. 가끔 사람들은 추억의 안경을 통해서 게임이 좀더 비상업적이고 주류가 아닌 뭐 그런, 이른바 황금시대에 대해서 생각합니다.

    그러나 진실은 황금시대는 지금이라는 것입니다. 이제까지 즐겨온 게임들보다 여러분이 지금 즐기고 있는 게임들이 모든 면에서 더 뛰어납니다. 여기서 퀘이크4 무비같은 것을 보시고 나면 납득됩니다.


    여기 대부분은 퀘이크1에 대한 좋은 기억들을 가지고 있을 것입니다. 저는 여러분이 그 게임을 즐겼던 그 많은 시간들과 기억속에 자리잡고 있는 것들에 대해서 알고 있습니다. 그러나 여러분은 계속 그 게임 내에서 재미를 찾을 수도 있고 새로운 것을 알게되는 흥미로운 순간들도 있을 것입니다. 하지만 최신 게임에서 우리가 얻을 수 있는 현실감과 충격은 얻지 못할 것입니다.

    그래서, 저는 아티스트와 디자이너들이 좀 더 끌리는 세계를 표현할 수 있게 하는, 그래서 게임을 즐기는 사람들이 좀 더 강렬한 느낌을 받도록 만들어 주는 기술을 게임에 넣는 것에 모든 노력을 다하는 것에 대해서 조금도 미안하게 생각하지 않습니다.

    그리고, 이 유행들은 여전히 강해 보입니다. 우리가 그래픽적인 면에서 할 수 있는 것들을 가늠해볼 아직 오지 않는 미래를 예측하게 하는 눈앞의 수평선은 보이지 않네요.  


    콘솔 개발

    그래서 콘솔 플랫폼은 미래에 우리에게 있어서 좀더 중요하게 될 것입니다. 우리가 xbox360과 PS3 그리고 PC 플랫폼을 조사했을 때 우리는 어느 정도 공통의 코드베이스와 어느정도의 공통된 개발 전략을 목표로 할 수 있다는 것이 매우 흥미로웠습니다. 그리고 아마 처음으로 공개 발표하는 것 같은데 동시 발매를 위해서 콘솔 플랫폼과 함께 내부 개발을 진행하는 최초의 개발 사이클이 될 것 같네요.

    과거 몇 주 동안 저는 실제로 xbox360에 대한 작업을 시작했습니다. 앞으로의 그래픽스 개발 작업의 대부분은 저곳에서 시작하게 될 것 같습니다. 이 결정에 대한 이유를 밝히는 것이 좋겠네요. 확실히, PC플랫폼은 다른 콘솔보다 먼저 발매되지 않는다면 적어도 동시에는 발매될 것입나다. 우리는 개발 과정이 잘 흘러가도록 많은 노력을 퍼붓고 있습니다.

    xbox용 둠3는 훌륭한 제품이었음에도 불구하고 -- 우리는 매우 기쁘게 생각하고 있습니다, 매우 성공적이었죠 -- 후에 시작하는 것은(역주 : pc버전을 먼저 만들고 xbox용을 만드는 것)은 매우 힘들었습니다. 우리는 이 과정을 좀 더 부드럽게 하기 위해서 몇 가지 변화를 주기로 했습니다.

    우리는 오랜 기간 동안 콘솔게임을 띄엄띄엄(on-again off-again) 개발해 왔습니다. 저는 과거 오리지널 슈퍼닌텐도부터 요즘것까지 몇 개의 플랫폼에서 콘솔 개발을 해왔습니다. 그리고 PC의 유연함과 빠른 발전 속도, 그리고 콘솔의 하드웨어를 쥐어짤 수 있는 가능성 사이의 트레이드오프가 항상 있었습니다.

    PC와 콘솔의 진화에 대해서 간단하게 살펴봅시다.

    우리 제품들 중에서 오리지널 둠 시절까지 되돌아갔을 때, 우리는 PC 비디오 카드의 대부분의 영역에 대해서 레지스터 수준의 접근방식을 사용했었습니다. 우리는 몇 개의 추가 기능을 얻기 위해서 mode X(역주 : 모드X! 아 아련한 추억이여...)같은 것들을 사용하곤 했지요.

    우리가 한 번 그 시점을 넘어서자, 특히 윈도우로 옮겨갔을 때, 퀘이크후반 개발작업에서, 개발작업은 점점 더 추상화되어 갔습니다. 우리는 그래픽스API로 프로그램했고 시스템 소프트웨어 인터페이스를 사용했으며, 이것들은 게임이 많은 다양한 하드웨어에서 잘 돌아가는 것에는 확실히 도움이 되었습니다. 아마 여러분께서 오리지널 둠 시절에 우리가 Pro Audio Spectrum과 Ad-Libs(역주 : 애들립!!) 등등에 대한 다른 오디오 드라이버를 가지고 있었지만 후에는 모두 두고 올 수 있었던 것을 기억하실지 모르겠네요.

    결국 3D 세계에서는 20여개의 서로 다른 그래픽 카드들 사이의 API전쟁이 있었습니다. 지금 ATI와 nVidia로 줄어든 것은 아주 좋습니다. 두 회사 모두 잘해주고 있지요.


    특히 최근 개발 기간 동안, 작년이죠, 저는 몇 개의 고급 기능을 작업하고 있었는데 드라이버 때문에 문제가 좀 있었습니다. 제가 원하는새 기능, 새 하드웨어, 새 기술, 이것들은 드라이버 세계에서는 매우 많은 작업들을 필요로 하는 것인데, 프레임버퍼 오브젝트나 픽셀 버퍼 렌더링과 같은 것들을 가져오기 위해서는 드라이버 안정성이라는 매우 중요한 이슈가 있습니다.

    우리 툴이 제대로 작동하게 해주는 새 드라이버를 받았을 때가 아주 골치아픕니다. 버퍼 할당과 관련된 몇가지 휴리스틱한 것들 때문에 게임이 느려지는 일이 발생하기 때문이죠(역주 : 맞다. 특히 다이나믹 버텍스 버퍼에 관련된 비밀들이 꽤 있다). 우리들은 하드웨어로부터 꽤나 멀리 떨어져있기 때문에 PC에서 그래픽 카드의 제 성능을 뽑아내기는 정말 힘들었습니다.

    우리가 사용하는 인터페이스들, 그것들에 대한 '이걸 호출하면 이걸 렌더링하려는 하드웨어 버퍼 안에서 멈춥니다'와 같은 1:1 맵은 없습니다. 드라이버에 의해서 휴리스틱하게 행해지는 것들이 많이 있기 때문에 이건 내 잘못, 이건 드라이버 잘못, 이건 하드웨어 잘못이라고 콕 찝어내는 것은 조금 좌절스러웠죠.

    그래서 xbox360 플랫폼에서 작업하는 건 아주 신선했습니다, 거기서 여러분은 아주, 아주 얇은 API레이어, 즉 하드웨어에게 바로 얘기할 수 있는 레이어를 가지게 됩니다. 여러분은 "이건 메모리 레이아웃", "이 호출은 이 토큰들이 커맨드 버퍼로 들어가게 한다",등등을 알 수 있습니다. 중요한 것은, 제가 하기를 원하는 그대로, 제가 원하는 성능까지 저와 하드웨어 사이의 최소화된 인터페이스를 갖는 이 플랫폼에서 그래픽스 기술을 얻어낸 다음에 모든 PC벤더들이 그들의 드라이버가 적어도 콘솔 플랫폼 만큼 잘 동작하도록 요구할 수 있다라는 것입니다(역주 : 완전 깡패다-_-).

    우리는 또한 PS3키트도 갖고 있습니다. 모든 플랫폼에 대해서 기본적인 것들을 진행하고 있지요.

    많은 사름들은 다양한 이유로 openGL vs D3D 구도 때문에 제가 안티 마이크로소프트라고 가정합니다. 저는 사실 그들이 콘솔 플랫폼에서 해온 일 때문에 마이크로소프트을 칭찬하고 싶군요. xbox와 지금의 360은 제가 이제까지 보아온 콘솔중에서 가장 뛰어낸 개발환경입니다. 저는 이제까지 여러 다른 콘솔에서 일해왔는데 마이크로소프트는 정말 잘해내고 있어요, 왜냐하면 그들은 소프트웨어 회사이고 소프트웨어 개발에서 이것(역주 : 개발환경)은 가장 결정적인 부분이라는 것을 이해하고 있습니다. 닌텐도와 소니, 그리고 이전의 세가는 말하자면 하드웨어 회사였고 타이틀을 만들려고 할 때 개발자에게 가장 필요한 것 보다는 하드웨어에 좋은 아이디어들에 기초해서 결정을 내리기 때문에 마이크로소프트와는 대조적입니다.

    콘솔의 역사를 살펴보면 저수준 하드웨어 접근 권한을 주거나, 아니면 그 대신에 좋은 인터페이스와 툴을 주거나 하는 왔다리갔다리 하는 일이 있습니다.

    아주오래된 사이드스크롤 타일기반 콘솔 시절, 우리들은 레지스터 접근 권한이 있었습니다. 꽤 많았죠. 우리는 모든걸 혼자 다 해야했고 하드웨어는 대부분 조잡했으며 특정한 게임을 위해서 디자인되곤 했습니다. 프로그램하는게 그 나름대로는 즐거웠지요.

    그러나 첫번째 가장 큰 변화를 가져온 것은 오리지널 PlayStation1이었습니다. 이것은 가장 저수준의 그래픽스 코드를 얻을 수 없었던 하드웨어 완경이었습니다. 그러나 그들은 프로그램하기 쉬운 빠른 하드웨어를 디자인했지요. 하나의 빠른 프로세서, 하나의 빠른 그래픽 가속기, 그리고 고수준 언어로 그 위에서 돌아가는 프로그램을 만들 수 있었습니다.

    그 당시, Sega Saturn은 이와는 반대로 다섯개의 서로 다른 프로세잉 유니트를 가지고 있었고 정말 복잡했습니다. 저수준 하드웨어에 대한 문서화가 모두 되어 있었지만 작업 환경이 좋지 않았습니다.

    그래서 다음 세대에서는 어떻게 되었는지 보는게 재미있죠. 소니는 PlayStation2에서 정책을 뒤집었는데, 이제는 저수준 하드웨어 세부사항 문서를 주고선 명확치 않은 하드웨어 구조를 가진 멀티코어로 돌아가 버렸습니다.

    그리고나서 마이크로소프트는 아주 깔끔한 개발 환경을 가진 xbox를 내놓았고 그 당시 우리가 본 콘솔중에 제일 좋았습니다. 그러나 3D 시스템에 대한 저수준 접근을 허용치 않았습니다. '이것이 nVidia잘못이냐 Microsoft 잘못이냐'하는 논쟁이 있다는 것은 알고 있습니다만, 개발자들에게는 분명한 한가지 장점이 있습니다. 만약 여러분이 xbox와 PS2에서 작업해본 개발자들에게 묻는다면 xbox가 개발하기 훨씬 멋지다는 것입니다.

    그래서 Microsoft가 크게 성공할 줄 알았습니다만 그들은 끝내 Sony의 PS2 초반 시장점유율을 따라잡지 못했습니다.

    그래서 좀 더 개발자 친화적으로 변한 xbox360이 먼저 발표되었고 , 제 사견으로는, 조금 후에 PS3가 발표되는 상황에서 이 다음세대가 어떻게 될 것인지 보는 것도 아주 재미있을 것입니다.

    콘솔에 대한 아주 많은 많은 마케팅 구라들이 있습니다. 그리고 대부분의 것들은 실제로 그것들이 얼마나 쎌 지 잘 가감해서 들어야 할 것입니다. 여러분 모두는 PS2 발표와 이모션 엔진에 대한 구라, 그리고 그것이 모든 것을 바꿀 것이라는 환상에 대해서 기억할 수 있으실 것입니다. 그리고 알다시피 PS2는 그러지 못했습니다. 프로세싱 능력은 오히려 그 플랫폼에서 꽤 귀찮은 문제였죠(역주 : 오히려 더 딸려서 문제됐다라는 뜻).

    그러나 요즘 플랫폼들을 살펴보면, 여러가지 면에서 실제로 듣던 것 만큼 강력하지 않습니다. 펜티엄이나 애슬론 같은 x86머신에서 돌려보면 요즘 최신 하드웨어의 반 정도 스피드를 낼 것 입니다. 그 이유는 그 플랫폼들이 순차방식 프로세서(in-order processor)이기 때문인데, 현대의 하이엔드 PC플랫폼에서는 가능한 비순차 실행(out-of-order execution)이 가능하지 않습니다. 기가헤르츠가 참 좋게 들리기는 하지만 실제로는 '반으로 나눈' 효과를 고려해야 하겠습니다.

    저 손실을 메꾸기 위해서 그들이 선택한 것은 멀티프로세싱 접근방법이었습니다. 이건 멀티코어 CPU들이 선보이고 있는 PC 세계에서도 벌어지고 있군요.

    우리 모두는 이걸 강요받고 있습니다. 그 이유는 싱글 프로세서, 싱글 스레드 시스템을 더 빠르게 만들게 하기 위해서 우리가 할 수 있는 모든걸 이미 다 써버렸기 때문입니다. 그리고 우린 여전히 무어의 법칙을 따라잡으라는 마케팅 압박을 느끼고 있습니다 -- 빨리, 좀더 빨리, 우리 모두는 항상 좀더 좋은 시스템을 갖추기를 원하죠. 그러나 싱글 프로세서를 더 빠르게 만들기 위한 방법들은 바닥났습니다.

    여전히 트랜지스터 수는 증가하고 있습니다. 이것이 사실, 무어의 법칙의 실체죠. 그건 결국 트랜지스터 집약도일 뿐입니다. 여러 해 동안 우리는 보다 빨라질 것이라고 생각했지만, 사실은 보다 더 많아졌을 뿐입니다. 역사적인 관점에서 보다 더 빨리로 여겨졌을 뿐, 사실 (속도와 집약도의) 직접적인 상관관계를 만들기는 점점 더 어려워지고 있습니다.

    그래서 우리 모두가 해야만 하는 것은 병렬화입니다. 그리고 지금까지 병렬화에 대한 가장 뛰어난 예는 그래픽 프로세서였습니다. 그건 전산학 분야에서 가장 뛰어난 병렬화 형태입니다. 우리는 실제로 그래픽 가속기를 사용하고, 모든 트랜지스터를 작동시켜서 실제로 제품을 사용하는 사람들에게 이득을 주는 좋은 성능을 경험할 수 있습니다.

    CPU에 대한 멀티프로세싱은 좀더 도전거리가 많습니다. 최근 수십년간 이건 꽤 활발한 연구 주제중 하나였습니다. 어떻게 여러분의 프로그램을 병렬화시킬 수 있는가에 대한 많은 학계의 연구결과들이 있습니다. 그리고 언젠가 누군가가 병렬화해주는 컴파일러를 발명해서 그냥 단지 멀티코어 프로세서를 사서 코드를 컴파일만 하면 빨라질 것이라고 말하곤 합니다만 아직까지는 아닙니다.

    그런식으로 아주 잘 작동할 수 있는 응용프로그램이 몇 가지 있기는 합니다. 기술적인 면에서 레이트레이싱이나 벡터연산처리 등에서 사용되는 덩치큰 수학 라이브러리와 같은 "당황스러울 정도로 병렬적인" 것들이 있습니다.

    제가 하드웨어 디자이너들에게 말하고 싶은 것은 게임 코드는 그렇지 않다라는 것입니다; 게임 코드는 float가 있는 GCC - C 컴파일러 - 와 같습니다. 반복과 분기 그리고 포인터가 여기저기 흩어져 있는 복잡한 코드이며 병렬 환경은 말할 것도 없고 일반적인 경우에도 좋은 성능을 얻기 힘듭니다.

    그래서 개발자 혹은 그걸 산 사람들에게 멀티코어가 돌려주는 것은 처음에는 실망뿐입니다. 이 시점에서, 상황을 좀더 잘 풀어나가거나 아니면 더 어렵게 만들게 하는 결정들을 하드웨어 개발자들이 내릴 수 있습니다. xbox 360과 PC, 그리고 PS3에 대한 하드웨어 메이커들의 결정을 비교해보는 것이 좋을 것입니다.

    xbox 360은 세 개의 프로세서와 하나의 공유메모리 아키텍쳐를 가지고 있으며 그것들은 동기화되고 캐시응집성이 있습니다. 그리고 또다른 스레드 하나를 바로 시작해서 이런저런 일을 할 수 있습니다(역주 : 프로세서3개, 스레드6개 해서 엑박360이라고 부르는 것일지도...)

    하드웨어 상황은 최고이지만 게임 타이틀에서 더 빠른 성능을 내거나 좀 더 많은 것들을 뽑아내는 것은 여전히 어렵습니다.

    뻔해보이는 해결책으로는, 렌더러를 다른 스레드로 분리해보는 것입니다. Quake3는 이런 식으로 여러 버젼에 걸쳐서 듀얼 프로세서를 지원했습니다.

    우리가 Quake3를 출시했던 그 당시에는 꽤 성능이 좋았습니다. 적어도 제 테스트머신에서는 좋았죠. 어떤 경우에는 40%정도의 성능 향상이 있었습니다. 그런데, 코드는 전혀 바꾸지 않고 단지 비디오카드 드라이버를 바꾸거나 시스템이 바뀌거나 os가 바뀌거나하면 듀얼 프로세서 가속 성능이 왔다갔다 했습니다.

    이것저것 해봤지만 결국은 오직 한 시스템에서만 잘 동작하게 만들 수 있을 뿐이었습니다. 두 시스템 간에 차이점이 있을 경우 아무런 방법이 없었습니다. 한 곳에서는 동작하는데 다른 곳에서는 그렇지 않았습니다. 많은 경우 운영체제와 드라이버가 문제되었습니다. 콘솔 쪽은 상황이 좀더 좋지만, 여전히 병렬 프로그레밍을 더 어렵게 만드는 원인임은 분명합니다.

    게임 개발과정을 어렵게 만드는 어떤 것도 바람직한 것이 아닙니다.

    "우리가 이런 부가적인 개발 시간을 투자해서 얻는 성능상의 이익은 무엇인가"에 대한 결정을 내려야 합니다.

    낙관적으로 생각하는 사람들이 있습니다 -- 소니가 그렇죠 -- "네, 어렵습니다, 아마 꽤 고생하실 겁니다. 그러나 정말로 뛰어난 게임 개발자라면 고생좀 하시다가 결국 해낼 수 있을 겁니다".

    계속 앞으로 전진해서 엄청난 시간을 쏟아 부어서 결국 이런 멀티코어 접근방식으로부터 좋은 성능을 얻는 개발자들이 있을 지도 모르겠습니다만 CELL은 이런 몇 가지 면에서 다른 것들보다 좋지 않을 것입니다.

    그러나 저는 이런 멀티프로세서 시스템으로 모든 것을 분리시키는 것 보다비순차 메인 프로세서 하나를 갖는 지금 세대가 더 좋지 않을까하는 의문을 갖고 있습니다.

    멀티코어 프로그램과 친해지는 것이 아마 좋을 것입니다. 양 플랫폼으로 출시되는 첫세대 타이틀들은 아마 이런 추가 능력들을 충분히 살리지 못하겠지만 다음 세대 콘솔이 나올 때 쯤이 되면 개발자들은 이런 종류에 좀 더 익숙해졌을 테고 좀 더 많은 것들을 끌어낼 수 있을 것입니다.

    그렇지만 저는 이것을 해답이라고 생각하고 있지 않습니다. 여전히 그건 어려운 문제로 남을 것입니다. 병렬 프로그래밍에 대한 마법의 총알이 있다고는 생각하지 않습니다. 20년 넘게 이 문제에 대해서 일하고 있는 아주 똑똑한 사람들과 연구기관들이 있었지만 아직 뭔가 그럴싸한 건 보이지 않네요.


    물리와 AI

    CELL 프로세서를 만들고 있는 IBM개발자들과 이야기하다가 꽤 놀란 것 중 하나가, 높은 성능을 어디다 투자해야 할 지에 대한 그들의 분석이 잘못된 방향으로 흘러가고 있다라는 것입니다. 실제로 그들중 한 명은 이렇게 말했습니다. "지금 그래픽스는 본질적으로 끝났고, 우린 이제 물리와 AI에 이걸 써야 하지 않을까?"

    사람들이 CPU파워를 얻으면 생각하는 두 가지 것들이 있습니다 -- 물리와 AI. 그러나 저는 그래픽스가 본질적으로 끝났다라는 주장은 완전히 헛다리짚었다라고 생각합니다.

    먼저, "우리는 디자이너가 원할 수 있는 가장 높은 정도의 퀄터리를 게임 안에 집어넣을 수 있느냐"라는 질문에 대해서 생각해 볼 수 있습니다. 대답은 'no' 입니다. 우리는 반지의 제왕 정도의 렌더링을 실시간으로 하고 싶습니다. 우리는 실제로 이러한 것들에 매달려볼 수 있을 정도의 성능 자리수를 얻었습니다.

    개인적으로 요즘 개발 도중에 발견하는 것은 우리가 얻은 프로그래밍 가능성 수준으로 하드웨어에 접근할 수 있는 인터페이스를 얻었다는 사실입니다(역주 : 일반 프로그래링처럼 하드웨어에 프로그래밍할 수 있다는 뜻). 여러분은 그래픽 프로그래머로서 원하는 것에 거의 근접하게 표현할 수 있습니다.

    그러나 여러분은 전보다 더 좀더 멋져보이고 쿨한 피쳐들을 게임에 넣을 수 있게 하는 뛰어난 아이디어들을 점점 더 많이 발견하게 됩니다. 여러분은 당장 뛰어가서 코딩하고 그래픽스 하드웨어에서 돌려볼 수 있지요.

    그러나 너무 자주, 아주 잘 작동하지만 필요로 하는 것보다 반 정도 아니면 반의 반 정도의 속도로 동작하는걸 저는 발견하게 됩니다. 그리고 이렇게 생각하기 시작하죠 " 이건 정말 멋지지만 필요로 하는 것보다 1/10정도의 속도로 동작하겠군".

    그래서 저는 그래픽스 성능의 자리수가 하나나 두개 정도 더 올라가기를 학수고대합니다. 왜냐하면 우리는 그걸 사용할 수 있다고 자신하기 때문이죠(역주 : 나는 6600gt도 벅차던데-_-). 우리는 그 정도의 성능을 흡수하여 사람들에게 좀 더 나은 경험을 줄 수 있는 뭔가를 만들 수 있습니다.

    그러나 여러분이 "오케, 여기 8코어 있다", 아니면 후에 64코어라든지, "이걸로 게임을 더 멋지게 만들어주는 물리를 해보자", 아니면 더 나쁜, "이걸로 게임을 더 멋지게 만들어주는 AI를 해보자"라고 라고 말한다면, 문제는 AI와 물리 모두 그래픽스보다 더 최신기법이라는 것입니다.

    어느정도 그것들은 매우 활기찹니다. 게임업계안의 사람들은 많은 최신 기법의 작품들을 내놓고 있습니다. 많은 연구자들이 활동하고 있는 산업수준의 응용프로그램이지요(역주 : 논문으로만 떠도는 아이디어가 아니라 실제로 구현된 연구결과라는 뜻인거 같다...).

    그러나 가만히 앉아서 이렇게 생각해봅시다 "좋아, 이게 게임에 정말 도움이 될거라고 가정하고, 어디 똑똑한 AI를 만드려면 얼마나 많은 처리능력이 필요할까", 그리고 특히 AI에서, 싱글 플레이어 게임에서 가장 자주 벌어지는 것들중 하나인데, 그건 일종의 디렉터의 관점입니다. 사물이 스스로 생각하는 종류의 문제가 아니죠. 디렉터가 원하는 것을 하도록, 게임에서 플레이어를 당신이 그리는 상황으로 몰고 가도록 하는 문제입니다.

    멀티플레이어에 촛점을 맞춘 게임들은 좀 더 뛰어난 봇 지능을 요구합니다. 거기엔 전통적인 AI문제들이 많이 있습니다만, 대부분의 게임은 여전히 싱글플레이어이며 캐릭터들이 게임플레이 경험을 좀더 좋게 만들어주는 것들을 하기 위해서 얼마나 많은 양의 계산력을 사용해야 할 지는 명확치 않습니다.

    저는 아주 오랜 시절 오리지널 둠으로부터의 예를 계속 간직하고 있습니다. 둠에서 우리는 몇 페이지 정도의 c코드 같은 아주 조잡한 로직으로 동작하는 캐릭터들을 갖고 있었습니다. 그리고 캐릭터들은 단지 대상 주위로 재빠르게 움직이기만 했습니다.

    게임 캐릭터들이 아주 사악한 계획을 가지고 살금살금 다가오고 잠복해있다고 믿으면서 게임을 즐기는 사람들을 만나볼 수 있습니다. 이것은 단지 이런 사소한 단서만 가지고 그들이 머리속 안의 캐릭터들을 게임 내에서 실제로 일어나고 있다고 생각하는 환상 안으로 짜 넣는 행위일 뿐입니다. 슬픈 사실 하나는, 여러분은 몬스터가 살금살금 다가와서 코너 뒤에 숨는 아주 복잡한 코드를 쓸 수 있지만 아주 뻔하고 단순한 창발적인 행동으로 일어나는 것들에 비해서 게임 플레이를 좀 더 좋게 만드느냐가 명확하지 않다는 것입니다.

    여전히 여러분은 "심즈"같은 게임 혹은 대규모 멀티플레이어 게임에서 이러한 자동화된 에이전트, AI들이 돌아다니는 것을 상상할 수 있습니다. 그러나 그건 클라이언트 문제가 아니고 일종의 서버 문제입니다. 그곳은 멀티코어 컨슈머 CPU가 별로 도움이 되지 않는 커다란 세계입니다.

    그래서 물리는 이런 CPU 파워로 할 수 있는 다른 종류의 차세대 주자입니다. 이건 어느 정도는 사실입니다. 확실히 물리 쪽에서 우리는 CPU로 이와 같은 것을 해왔습니다 -- 그건 매우 CPU 주도적이죠 -- 여기서 우리는 랙돌 애니메이션이나 근처에서 움직이는 다른 모든 오브젝트들 같은 것이 모든 게임이 해야만 하는 일종의 "한계치를 올리는" 것들중 하나라는 것을 발견했습니다. 그건 아주 많은 파워를 요구하고 우리가 성능 향상을 위해서 애쓸 때 게임을 밸런싱하는 것을 더 어렵게 합니다. 왜냐하면 물리 문제는 그래픽스처럼 lod에 의한 규모확장성을 꾀할 수 없기 때문입니다.

    근본적으로, 장면 하나를 렌더링할 때 같은 레벨의 모든 것을 렌더링할 필요가 없습니다. 마치 예전의 구형 시스템에서 처리했던 전방 텍스쳐 매핑(forward texture mapping)같습니다(역주 : 삼각형에 매핑되지 않는 영역에 있는 텍셀들은 아예 처리하지 않는다는 뜻 같다). 그러나 결국 우리가 그래픽스에서 얻은 것은 우리가 할 수 있는 아주 많은 기술들이 거리가 멀어질수록 부드럽게 저수준화할 수 있다는 아주 멋진 시츄에이션입니다.

    물리는 일반적인 경우에 그런 시츄에이션을 우리에게 주지 않습니다. 게임플레이에 영향을 주는 물리 오브젝트의 경우, 항상 그것들을 시뮬레이션 해야 합니다. 물건을 뒤집고 뒤돌아 선다고 해서 물리 업데이트를 그만둘 수 있는 것은 아닙니다. 아니면 좀 더 불안정한 상황에서, 이걸 한대 치고 뒤돌아서서 뛰어갔을 경우, 그건 어떠한 방식으로 착지할 것이지만 그걸 계속 보고 있었다면 다른 방식으로 착지할 것입니다. 이건 게임 개발에서 매우 안좋은 것이죠.

    그리고 이 문제는 꽤 근본적인 것입니다. 게임 플레이에 영향을 주는 시뮬레이션적인 면에 대한 물리를 사용하려 한다면, 통로를 막고 있는 물건 같은 것들은 추가적인 프로세싱파워의 지불 없이 얼마나 레벨의 품질을 올릴 수 있을 지 예측하기가 힘듭니다. 그리고 그건 보통 게임의 안전성을 떨어뜨리기 쉬위며 다른 문제를 가져오기도 합니다.

    그래서 우리가 PS3나 물리가속기 하드웨어에서 보게 되는 데모같은 것들이 사실은 비상호작용 물리를 사용하고 있는 것을 알 수 있습니다. 이것들은 꽤 안전합니다.

    그러나 이런 물리적인 월드 시뮬레이션에 대해서 사람들이 생각하는 것들은 다소 실망스럽습니다. 연기 구름이 예전부터 보아온 것처럼 항상 같은 모양인 것 대신에 장애물 주위로 흩어지거나 물이 퍼지고 바닥에 튀겨서 반사되는, 그래픽을 좋게 만드는 것들이 있습니다.

    참 멋지지만, 게임 경험의 핵심적은 것은 아닙니다. 그래픽스에 대한 게임 경험은 이미 모두 끝났다라는 논의가 있을 수 있겠습니다. 그리고 아마 물리에 관해서도 그래야 할 것입니다. 저는 이것으로부터 게임플레이 경험에서 어떠한 획기적인 변화도 기대하지 않습니다(역주 : 이 부분 변역이 자신없다)

    저는 물리 시뮬레이션 개발자가 아니기 때문에 사람들이 "맨날 그래픽에만 몰두하는 빌어먹을 id"라고 말하면 저도 "맨날 모든 시간을 다 잡아먹는 빌어먹을 물리 코드들"이라고 말하곤 합니다. 그러나 여러분도 알다시피 저는 기본적인 상자 떨어뜨리기, 월드에 튕기기, 랙돌 상호작용 같은것들은 게임에 모두 좋은 재료들이라고 생각합니다.

    그러나 저는 실세계를 시뮬레이션하려고 시도하는 사람들은 실수를 하고 있다고 생각합니다. 왜냐하면 그건 정말로 어려운 문제고 실제 게임플레이에 정말로 이득이 되지도 않을 것이기 때문입니다. 게임이 깨지기 쉽도록 만들 수 있고, 어쩌면 느려질 수도 있습니다. 여러분의 물리로 모든 노력과 고통을 가치있게 해주는 매우 매우 멋진 것들을 하는게 더 좋습니다.

    그리고 CELL이나 멀티코어의 프로세싱 능력을 보고선 "자, 이것들은 우리가 해야만 하는 것이고, 파워가 여기 있으니 우리는 이걸 위해 그걸 써야 한다"라고 말하는 사람들이 있습니다. 그러나 저는 우리가 하고 싶은 모든 게임플레이 요소들, 우리가 빠른 속도로 비교적 안정적인 방법으로 달성할 수 있는 것들을 확실히 하려고 노력하는 것이 더 좋다고 생각합니다.

    개인적으로 저는 더 많은 물리가 적용된 것 보다는 콘솔에서 60프레임으로 돌아가는 다음 세대를 보고 싶습니다. 사실 저는 우리가 그렇게 할 수 있을 것이라고 생각하지 않습니다. 30프레임 정도를 생각하고 있습니다. 어쨌든, 우리는 하찮은 일에 너무 많은 CPU를 빼앗기고 있네요.

    그래서 저는 마이크로소프트의 360과 그들의 개발 선택들에 대해서 많은 기대를 걸고 있습니다. 그리고 반대측 진영의 소니에 대해서 정말로 재미있는 것은 그들이 오픈 플랫폼으로 가려는데 약간의 잡음이 있다는 것이죠. 이건 정말 제가 콘솔에서 싫어하는 류의 일입니다.

    저는 닫힌 개발 플랫폼을 좋아하지 않습니다. 저는 등록된 개발자이어만 한다라든지, 어떠한 확인 절차를 통해서 공개해야 된다는 조약을 맺어야 한다든지 하는 것들을 좋아하지 않습니다. 저는 개발자로서 그러한 것이 질색입니다. 닌텐도는 언제나 그러한 종류의 것들에 대해서는 최악이었고 우리가 그들과 가깝지 않은 이유 중 하나입니다.

    그들은 이런 플랫폼들을 팔 때에 근본적으로 손해를 보고 있으며 소프트웨어 판매로부터 그것을 회수하고 있다는 것이 시장 현실입니다. 그래서 저는 과거에 언제나 PC 시장을 선호해 왔습니다. 우리는 우리 맘대로 할 수 있고, 미션 팩이나 포인트를 릴리즈할 수 있으며 패치할 수 있습니다. PC계의 이러한 훌륭한 것들은 콘솔에서는 허락되지 않습니다.

    간단히 설문조사 해봅시다. HDTV갖고 계신 분? 콘솔 공급자들은 확실히 HDTV를 밀고 있지만 저는 흠... HDTV 출력 지원을 갖고 있었던 슈퍼 닌텐도 시절로 돌아가보면, 그건 정말로 중요치 않은 것으로 판명되었던, 정말로 오버 오버 오버였습니다(역주 : 슈패는 아닐테고, n64말하는 건가?). 계산기기로서의 콘솔이 디지털 아웃풋인 HDTV를 갖는다는 것은 그걸 가능하게 하는 핵심 요소중 하나가 될 것입니다. 왜냐하면 웹TV같은건 항상 구렸고, 아무도 NTSC TV출력에서 동작하는 제폼을 보고 싶지는 않을 것입니다. 그러나 디지털 HDTV는 정말로 그런 면에서 멋지죠.

    마이크로소프트는 이걸 정말 팍팍 밀고 있는데, 360의 최소 프레임버퍼 렌더링 해상도에 대해서와 어떻게 패닝아웃 되는지가 명확치 않다는 점이 다소 이상하기는 합니다만, 그들은 근본적으로 모든 게임이 HDTV 해상도로 렌더링하기를 요구하고 있습니다. 그리고 아주 잘한 결정인지는 모르겠지만, 만약에 더 높은 안티알리어싱 비율로 더 적은 픽셀을 렌더링하는 더 좋은 렌더링 기술을 옵션으로 갖춘다면, 그건 아마 누구나 하길 원하는 완벽한 것이 될 것입니다. 그러나 괄호로 "반드시 720p로 렌더링할 것"이라고 적혀있겠죠. 아닐 수도 있고.

    그러나 어떤 마케팅 분야의 사람이 그걸 제출하고 명령으로 결정되었습니다. 이건 콘솔 환경에서 제가 싫어하는 것들 중 하나입니다 -- 어떤 마케터가 결정을 내리고 모두는 그것을 따라아 햡니다. 아직 확실치는 않지만 어떻게든 밝혀집니다. 퀘이크 4에서 확실한 것은 높은 해상도에서 잘 돌아간다는 것입니다. 그러나 만약에 낮은 해상도에서 픽셀단위의 깊이감을 내야한다와 같은, 높은 해상도에서 같은 걸 돌리는 것 보다 오히려 더 하고 싶은 종류의 차세대 렌더링 기술이 있습니다. 그러나 정말로 제가 하드웨어에서 끌어낼 수 있는 것들에 대해서는 다음 6개월 동안에 밝혀내야겠지요.  





    RTOS에 대해 조사했을 때, 우리나라가 VxWorks나 pSOS 같은 수준의 실시간운영체제를 만드는기업이 없어 사다 쓴다는 것에, 핸드폰이나 가전제품에 얹을 RTOS시장이 아직 개척시대구나...라는 생각을 했었는데

    위글을 퍼서 정리하다보니 우리나라는 아직 게임엔진에 불모지라는 생각이 든다. 알아볼수록 우리나라의 SoftWare개발능력은 많이 부족한 것 같다.

Designed by Tistory.