2008년 09월 23일
미래의 게임 개발 테크놀로지
미래의 게임 개발 테크놀로지 (Epic Games, Tim Sweeney)을 보고
위 원문의 아래 부분에 나오는 이야기 중에서 멀티 코어로 인해서 생산성이 중요한 문제로 대두되면서 프로그래밍언어에 대한 이야기가 나오는데 미래 게임 개발에 대한 이야기니까 사실 이 부분이 제일 중요한 부분입니다.
함수형 언어라고 본문에서 언급된 것은 functional language라고 이야기하는 것으로 위키피디아의 글 을 한번 읽어 보면 도움이 됩니다. (c++은 imperative language에 속하죠~)
미래의 컴퓨티 환경의 키포인트인 멀티 코어에 맞추어서 개발을 해야 한다는게 요지인데 이 멀티 코어라는 것이 8개 이상 정도만 되면 기존 프로그래밍 패러다임도변하지 않을 수 없죠.
코어 수의 관점에서 보면 이제 CPU던 GPU던 예전의 집적 방식이 아니라 다이에 코어 수를 늘리는 방법이기 때문에 단가나 발열의 문제지 집적과관련된 한계의 문제는 아닙니다. 바꾸어서 이야기하면 코어 수를 늘리는 방법은 아마도(기술적으로는) 예전에 일년에 약 두 배씩 클럭 속도가 향상이 되던 것 보다훨씬 더 빠르게 진행될 수 있을 겁니다. 문제는 소프트웨어도 코어 수에 맞춰서 작성하지 않으면 속도 향상이 없다는 점입니다.
본문에도 나와 있듯이 C++로는 병렬 처리가 매우 어렵기때문에 이에 맞는 언어로 개발하는 것이 중요합니다. 그래서 요즘Erlang 보시는 분들도 주위에 꽤 되는 듯. 앞으로 UnrealScript가 어떻게 변경 될지에 대한 단서를 얻을 수 있는 부분입니다. ^^
2012년 경에 차세대 콘솔이 나온다는 이야기는모두 알고 있는 이야기고 에픽하고 크라이텍도 다음 세대에는 우선 콘솔을 베이스로 한다는 것도 이미 잘 알려진 이야기입니다.
개인적으로는 그 시기에 코어가 수 백개까지 달린 머신이 나올지는 모르겠고…그 시기쯤 되면 적어도 128개 정도는 되지 않을까 예상됩니다. 앞으로 콘솔을 베이스로 개발한다는이야기는 PC 시장의 경우 그 정도의 고사양의 머신들이 일반화 되지 않을 수도 있다는 것을 가정하는것일지도 모르겠군요. 소프트웨어가 코어 개수만큼 성능을 발휘하게 만들기 위해서는 현재 사용하고 있는모든 소프트웨어를 다시 작성해야 합니다. 그런데 엑셀이나 워드를 128개의멀티 코어를 사용하기 위해서 다시 개발해야 할 필요성은...글쎄요 사실 게임 빼면 사실 뻘짓이겠죠. 그러면 하드코어 게임 시장은 콘솔이메인 플랫폼이 될 가능성이 높습니다. 이런 맥락에서 보면 콘솔 베이스의 MMORPG 에 대한 이야기들이 나오는 것도 쉽게 이해할 수 있습니다.
콘솔 플랫폼에서의 MMO 이야기가 나온 김에 하나 더덧붙이자면 XBOX260 쪽은 서버가 중앙 집중식입니다. 즉, 서버가 MS 관리하에 위치해 있어야 합니다. 반대로 PS3의 경우 로컬 서버가 가능하다고 합니다. 이 사실만 가지고 보면 MMO 게임의 가능성은 PS3쪽이 훨씬 더 높다고 볼 수 있겠죠. (이건 어디까지나 현재 상황만보면 그렇다는 이야기고 충분히 변경 가능한 내용들이라 생각됩니다.) NC가 PS3 라이센스해서 연구하고 있는 것은 이런 이유도 있지 않을까 추측이 됩니다.
다시 코어 이야기로 와서요, 4개 정도의 코어 사용에서는게임 로직, 렌더링, 물리(언리얼3는 애니메이션을 여기에 하나 더 추가한 형태) 정도를 기본으로 하여 각각의 코어를사용하고 코어 내에서 다시 복수개의 하드웨어 쓰레드 사용이 가능하기 때문에 렌더링 같은 경우 이를 다시 세부 모듈 별로각각의 쓰레드로 구분하여 처리하는 방법도 생각해 볼 수 있습니다. 예를 들면 그림자 처리나 파티클 처리등을 별도의 쓰레드로 구분하는 것 등입니다.
그런데 이렇게 멀티 코어를 사용하여 최적의 효과를 내기 위해서는 중요한 것은 쓰레드 관련 코드가아니라 아키텍쳐입니다. dead lock이나 racecondition 문제와 같은 쓰레드 안정성을 보장하면서도 이해하기 쉽고 작성하기도 쉬운 아키텍쳐가 필요하죠. 그리고 디버깅도 쉬워야 합니다.
코어 4개 정도에 대한 모델에 대한 실제 코드는 다음 번 Nebula3에서 볼 수 있을 것 같습니다.
# by | 2008/09/23 13:27 | Nebula Device | 트랙백(1) | 핑백(2) | 덧글(0)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 온라인과 콘솔 수년 내 통합될 것...MS
미래의 게임 개발 테크놀로지로부터 트랙백 아래에 글 써 놓고 보니 이런 기사가 올라 오는군요. ^^ "온라인과 콘솔 수년 내 통합될 것", MS MS, 국내 온라인게임사와 협력 통해 XBox360용 온라인 게임 개발 중 MS interactive Entertainment 사업부 부사장인 Shane Kim은 가까운 미래에 온라인과 콘솔게임이 융합, 콘솔게임을 온라인 상에서도 즐길 수 있을 것으로 전망.그는 한국 온라인 게임의 해외 ......more
... ... more
... 게임 개발자들이 생산성 높은 코드나 스크립트(게임 프레임웍)을 구축하느냐는 것이 개인적으로는 고민을 해봐야 할 문제라고 생각이 드는군요.. 김사마님이 쓰신 글도 한번 참고해 보세요 ^^ ... more