2009년 05월 20일
The Engine Survey:Technology Results와 Nebula3
이번에는 Nebula와 월드 에디터에 관한 이야기입니다. 아마도 Nebula 엔진에 관심 있는 분들이 가장 관심을 가지시는 내용이 아닐까라는 생각도 듭니다.
Gamasutra의 The Engine Survey: Technology Result을 읽다가 이 내용을 한번 언급해야겠다는 생각이 들었습니다.
일전에 Novodex와 관련한 3dsmax 플러그인 소스 코드를 찾을 수가 없다고 한 것은 바로 위의 링크에 나온 게임 월드 에디터 이야기 때문입니다. (이 이야기는 나중에 다시~)
The Engine Survey: Technology Result의 아래 부분에 보면 엔진 선택의 중요한 이유로 월드 에디터의 유무에 대해서 언급하고 있는데 글에서 이야기하고 있는 내용은 DCC 툴을 에디터로 사용할 수도 있지만 월드 에디터가 있는 것이 좋다라고 말하고 있습니다.
두 가지 방법의 비교에 흥미가 있는 분들은 Tom Forsyth의 블로그에서 "Game Editor vs DCC Ediotr"를 (꼮!) 읽어 보시길 권합니다.
(Tom Forsyth의 블로그는 위키 베이스라서 바로 링크를 걸 수가 없습니다. 부득이 해당 블로그로 이동하셔서 포스트 제목으로 찾거나 아니면 'Toolchain'의 태그를 검색해 보기 바랍니다)
자, 그럼 이제 원래 하려고 했던 Nebula 이야기로 돌아갑니다.
관심 있으신 분들은 잘 아시다시피 Nebula가 코드 레벨에서의 아키텍쳐 등 여러 가지 관점에서 상당히 훌륭한 엔진임에도 불구하고 상업적인 게임 개발의 예를 (국내에서) 찾아 보기 힘든 이유중 하나가 바로 이 월드 에디터의 부재가 아닌가 생각합니다.
RadonLabs에서 애초에 자사의 월드 에디터를 DCC 툴(마야입니다)을 사용하다 보니 인하우스 게임 에디터는 전혀 고려하지 않은거죠.(지금도 그런 이야기는 없습니다)
물론 커뮤니티에서는 이러한 필요성 때문에 다양한 시도가 있긴 했습니다...만 상당히 급진적이었다고 할까요, 결과는 안좋았습니다. 몇 가지 툴들이 시도되긴 했습니다만 상업적인 용도의 전문적인 게임 개발에 사용할 만큼 안정적이고 기능면에서도 부족함이 없는 Nebula 월드 에디터는 아직까지는 전무한 실정입니다.
그러면 RadonLabs처럼 DCC 툴을 에디터로 이용하는 것은 어떨까요. 이 경우 국내 개발사에서는 거의 3dsmax를 사용하니까 맥스를 에디터로 이용할 수 있는 방법이 필요합니다. 그래서 이번 포스팅에서는 3dsmax의 맥스 스크립트를 이용해서 맥스를 에디터로 이용할 때 유용한 한 가지를 이야기해 볼까 합니다.
월드 에디터라는 것이 사실 게임 엔티티의 배치가 가장 큰 기능이라고 할 때 맥스는 이미 이 기능이 잘 구현(^^)이 되어 있습니다. 그래서 이것을 적당히 엔진에서 읽을 수 있는 정보로 익스포트하기만 하면 되는데 이 때 가장 손쉬운 방법으로 XML이 있습니다. 게임 엔티티들의 정보를 XML로 익스포트하는 것이지요. 물론 맥스 스크립트를 사용합니다.
우선은 게임 엔티티의들 속성과 관련한 내용들을 맥스 스크립트의 custom attribute 기능을 이용해서 맥스 오브젝트들이 게임 엔티티의 속성을 가지도록 하는 작업이 필요합니다.
다음으로는 scene에서 이들의 정보를 XML로 저장하기만 하면 됩니다. 즉, 맥스 스크립트로 scene의 오브젝트들의 정보를 XML로 저장하는 유틸리티 플러그인을 하나 작성해야 하는데 이 방법이 바로 이전 포스트에서 이야기했던 http://www.melax.com/3dsmax/nxmax 의 플러그인 코드에 포함된 px_xmlutil.ms 스크립트 파일입니다.
제가 링크가 없어졌다고 이야기한 이유가 여기에 있었습니다. 그런데 링크를 찾아 주신 neojzs님 덕분에 소스 코드는 아래 링크에서 구할 수가 있답니다. ^^
http://www.feelingsoftware.com/content/view/72/109/lang,en/ (source code를 다운로드)
맥스 스크립트와 맥스의 Custom Attribute에 대한 이해가 있으면 px_xmlutil.ms의 코드를 보고 쉽고 빠르게 구현할 수 있는 내용입니다.
이 방법은 (당연하지만) Nebula에만 유효한 방법이 아니라 DCC 툴을 에디터로 이용하는 경우라면 모두 해당되는 내용입니다. MMO라면 무리가 따르는 방법이지만 캐쥬얼 게임이라면 고려해 볼만한 방법이죠. 특히 에디터 만들 시간 없을 때라면 더욱.
Gamasutra의 The Engine Survey: Technology Result을 읽다가 이 내용을 한번 언급해야겠다는 생각이 들었습니다.
일전에 Novodex와 관련한 3dsmax 플러그인 소스 코드를 찾을 수가 없다고 한 것은 바로 위의 링크에 나온 게임 월드 에디터 이야기 때문입니다. (이 이야기는 나중에 다시~)
The Engine Survey: Technology Result의 아래 부분에 보면 엔진 선택의 중요한 이유로 월드 에디터의 유무에 대해서 언급하고 있는데 글에서 이야기하고 있는 내용은 DCC 툴을 에디터로 사용할 수도 있지만 월드 에디터가 있는 것이 좋다라고 말하고 있습니다.
두 가지 방법의 비교에 흥미가 있는 분들은 Tom Forsyth의 블로그에서 "Game Editor vs DCC Ediotr"를 (꼮!) 읽어 보시길 권합니다.
(Tom Forsyth의 블로그는 위키 베이스라서 바로 링크를 걸 수가 없습니다. 부득이 해당 블로그로 이동하셔서 포스트 제목으로 찾거나 아니면 'Toolchain'의 태그를 검색해 보기 바랍니다)
자, 그럼 이제 원래 하려고 했던 Nebula 이야기로 돌아갑니다.
관심 있으신 분들은 잘 아시다시피 Nebula가 코드 레벨에서의 아키텍쳐 등 여러 가지 관점에서 상당히 훌륭한 엔진임에도 불구하고 상업적인 게임 개발의 예를 (국내에서) 찾아 보기 힘든 이유중 하나가 바로 이 월드 에디터의 부재가 아닌가 생각합니다.
RadonLabs에서 애초에 자사의 월드 에디터를 DCC 툴(마야입니다)을 사용하다 보니 인하우스 게임 에디터는 전혀 고려하지 않은거죠.(지금도 그런 이야기는 없습니다)
물론 커뮤니티에서는 이러한 필요성 때문에 다양한 시도가 있긴 했습니다...만 상당히 급진적이었다고 할까요, 결과는 안좋았습니다. 몇 가지 툴들이 시도되긴 했습니다만 상업적인 용도의 전문적인 게임 개발에 사용할 만큼 안정적이고 기능면에서도 부족함이 없는 Nebula 월드 에디터는 아직까지는 전무한 실정입니다.
그러면 RadonLabs처럼 DCC 툴을 에디터로 이용하는 것은 어떨까요. 이 경우 국내 개발사에서는 거의 3dsmax를 사용하니까 맥스를 에디터로 이용할 수 있는 방법이 필요합니다. 그래서 이번 포스팅에서는 3dsmax의 맥스 스크립트를 이용해서 맥스를 에디터로 이용할 때 유용한 한 가지를 이야기해 볼까 합니다.
월드 에디터라는 것이 사실 게임 엔티티의 배치가 가장 큰 기능이라고 할 때 맥스는 이미 이 기능이 잘 구현(^^)이 되어 있습니다. 그래서 이것을 적당히 엔진에서 읽을 수 있는 정보로 익스포트하기만 하면 되는데 이 때 가장 손쉬운 방법으로 XML이 있습니다. 게임 엔티티들의 정보를 XML로 익스포트하는 것이지요. 물론 맥스 스크립트를 사용합니다.
우선은 게임 엔티티의들 속성과 관련한 내용들을 맥스 스크립트의 custom attribute 기능을 이용해서 맥스 오브젝트들이 게임 엔티티의 속성을 가지도록 하는 작업이 필요합니다.
다음으로는 scene에서 이들의 정보를 XML로 저장하기만 하면 됩니다. 즉, 맥스 스크립트로 scene의 오브젝트들의 정보를 XML로 저장하는 유틸리티 플러그인을 하나 작성해야 하는데 이 방법이 바로 이전 포스트에서 이야기했던 http://www.melax.com/3dsmax/nxmax 의 플러그인 코드에 포함된 px_xmlutil.ms 스크립트 파일입니다.
제가 링크가 없어졌다고 이야기한 이유가 여기에 있었습니다. 그런데 링크를 찾아 주신 neojzs님 덕분에 소스 코드는 아래 링크에서 구할 수가 있답니다. ^^
http://www.feelingsoftware.com/content/view/72/109/lang,en/ (source code를 다운로드)
맥스 스크립트와 맥스의 Custom Attribute에 대한 이해가 있으면 px_xmlutil.ms의 코드를 보고 쉽고 빠르게 구현할 수 있는 내용입니다.
이 방법은 (당연하지만) Nebula에만 유효한 방법이 아니라 DCC 툴을 에디터로 이용하는 경우라면 모두 해당되는 내용입니다. MMO라면 무리가 따르는 방법이지만 캐쥬얼 게임이라면 고려해 볼만한 방법이죠. 특히 에디터 만들 시간 없을 때라면 더욱.
# by | 2009/05/20 21:29 | Nebula3 | 트랙백 | 덧글(2)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Game Editor vs DCC Editor : http://home.comcast.net/~tom_forsyth/blog.wiki.html#[[Game%20Editor%20vs%20DCC%20Editor]]