태그 : 3dvia

3Dvia 3D Life

작년 11월에 3DVia의 3D Life 행사에 초청되어 강연한 내용입니다.


포스팅한다는 것을 한참 동안 잊고 있었네요...-_-;

3DVia는 게임 관련 제품으로는 Virtools로 잘 알려져 있는 회사입니다. 여기에서는 매년마다 Virtools를 구매한 업체나 학교, 또 관심이 있는 개발자들을 초청해서 3D  Life라는 행사를 진행하고 있습니다. 2008년에는 게임에 중점을 두고 진행되는 행사라 게임 개발에 종사하는 사람으로 제가 초청되었습니다.

특별히 주제가 정해져 있는 것은 아니고 게임계에서 이슈가 되는 내용으로 자유롭게 정해서 해달라는 부탁을 받았습니다 - 사실 이런게 제일 힘듭니다 -_-;;

강연 주제는 Rapid Prototyping과  Collaboration의 두 가지로 정해서 진행했습니다. 개인적으로도 관심이 많은데다 3DVia의  새로운 프로덕트인 3DVia MP의 특징과도 잘 맞아 떨어지기 때문입니다.

Rapid Prototyping(이하 RP)은 이전에도 이슈가 되었던 내용이지만 개발비가 상승한 최근에는 더욱 중요해진 이슈입니다. Virtools의 경우 기술적으로 Rapid Prototyping을 컴포넌트 기반의 엔티티 시스템을 사용하여 해결하고 있습니다. (Virtools에서는 Behaviors Building Blocks라고 이야기합니다) 개념은 Nebula 엔진의 Mangalore 게임 프레임워크의 그것과 같습니다. 다만 Mangalore의 컴포넌트(Mangalore에서는 Property)는 C++로 작성하는데 비해 Virtools의 경우 자체 스크립트로 작성하는데 이것을 프로그래머가 아닌 디자이너나 아티스트도 쉽게 작성할 수 있도록 하기 위해서 비쥬얼 에디터를 제공한다는 것이 큰 차이점입니다.(그런데 프로그래머들은 보통 이 방법을 기피합니다. 번거롭다고 생각하기 때문이죠. 노드들을 연결할 시간에 코딩하는 쪽이 사실 더 빠르긴 합니다.)

Mangalore의 Property(C++로 작성)와 Virtools의 Behavior Block의 중간 쯤에 있는 것으로는 Unity3D를 들 수 있습니다. Unity3D의 경우 제공되는 SDK를 사용하여 C/C++로 직접 컴포넌트를 작성하거나 스크립트로 컴포넌트를 작성하여 게임 엔티티를 정의하도록 되어 있습니다.

RP와 관련한 주제들은 매우 다양하지만 기술적인 측면, 그 중에서도 컴포넌트 기반의 게임 엔티티 시스템으로 RP를 구현하는 것이 중요한 것은 게임 개발 주기에서 컨텐츠 생산이 가장 많은 시간을 차지하는 부분이자 가장 중요한 부분이라고 할 때 게임 엔티티가 컨텐츠의 핵심이기 때문입니다.


Collaboration은 규모가 크질 수록 그 중요성이 부각되는 내용입니다. MMO 게임과 같이 대규모의 개발팀이 필요한 경우는 개발 공정에서 팀이 실시간으로 서로 개발 내용을 확인 할 수 있는 시스템을 가지고 있는 경우 눈에 띄는 생산성 향상을 기대할 수 있습니다. 이전에는 게임 엔진이라고 하면 렌더링 엔진을 생각하거나 아니면 그 부분을 가장 중요하게 생각하는 경향이 짙었습니다. 물론 렌더러가 중요하지 않은 것은 아니지만 게임 엔진의 전부는 아닙니다. 그래서 엔진의 구매나 개발로 이 부분을 해결하고도 다른 부분에 대해 미처 신경을 쓰지 못해서 원하는 결과를 얻지 못하는 경우를 많이 봤습니다. 사실 이 부분은 MMO  게임을 한번 서비스(!)해 본 경험이 있는 팀이나 개발자라면 서비스 컨텐츠 개발의 생산성이 얼마나 중요한지를 알고 있을 것입니다. 그래서 저는 MMO 게임의 경우 서비스 경험이 개발 보다 더욱 중요하다고 생각합니다. 10개가 개발해서 2~3개만이 서비스 되는 현실을 볼 때 개발 경험이 있는 개발자보다 서비스 경험이 있는 개발자가 더욱 귀하기 때문입니다.

Collaboration의 경우 최근에 부각되기 시작한 개념이라서 아직 게임 엔진들이나 미들웨어 중에서도 이를 지원하는 엔진은 찾아보기가 힘듭니다. 상용 엔진의 경우에는 Hero 엔진이 MMO 개발을 전문으로 하는 엔진이라서 그런지 이러한 내용을 잘 알고 만들어진 엔진 같아 보입니다.
Unity3D 엔진도 Asset Server 등의 지원을 보면 Collaboration을 의식하고 있는 것을 알 수 있지만 MMO와 같은 하드코어한 게임 개발의 Collaboration에는 아직 부족해 보입니다.(Unity3D의 경우 RP은 타의 추종을 불허할 정도로 뛰어납니다)


다가오는 세대의 게임 개발에서는 Rapid Prototying과 Collaboration의 이 두 가지 이슈를 늘어난 코어 개수를 잘 이용해서 어떻게 작업하느냐가 중요한 관건이 되리라 예상해 봅니다.

by kimsama | 2009/04/26 10:31 | Conferences | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶