Age of Conan의 레벨 에디팅 이야기


Conan; Hyborian Adventures, the making of - interview

Age of Conan의 수석 레벨 디자이너인 Chris B. Jensen씨의 Conan의 레벨 제작에 관한 인터뷰 내용.

Quake 시리즈와 Unreal의 레벨 에디팅에 익숙하다고 하니 Conan의 레벨 에디팅에도 Radiant를 사용했다는 것은 이해는 되지만 팀 전체의 작업 효율을 생각한다면 글쎄요...라고 생각되었는데 아니나 다를까 역시 에디팅의 대부분은 3dsmax에서 했다고.

라이트맵의 작업 역시 3dsmax를 이용했다는데, 기술적인 내용들이 좀 자세하게 나왔으면 도움이 되었을텐데, 아티스트라 그런지 그런 내용까지 기대하기는 무리.

3dsmax의 라이트맵 베이킹은 나름 편리한데다 품질도 훌륭하지만 오브젝트당 라이트맵을 베이킹하기 때문에 레벨 맵의 경우 적절한 크기로 여러 개의 맥스 오브젝트로 구분해 주지 않으면 훌륭한 품질을 기대하기가 힘들다. (3dsmax에서의 라이트맵 베이킹과 관련한 이야기는 내용은 이전 RTTGroup 포스팅을 참고)

라이트맵의 사용은 정적인 경우에는 라이팅 품질을 위한 훌륭한 선택일 수 있지만 동적인 장면에는 적합하지 않다. Conan의 경우 semi-dynamic이라고 (내부적으로)지칭한 방법을 사용한다고. 메탈 기어 솔리드4에서는 정점에다 라이트값을 런타임때 베이킹해서 사용하는 방법과 비교해 볼만하다. 개인적으로는 생산성의 관점에서 후자의 방법이 더 낫다고 판단.

도움이 될만한 기술적인 내용을 포함하고 있지는 않지만 MMO 타이틀의 레벨 제작에 관한 이야기는 드물다는 점을 고려하면 읽어 보는 것도 나쁘지 않다.

월드 에디터 툴인 Genesis에 대한 이야기가 좀 많이 나왔으면 하는데 이 부분은 거의 없다는 점이 다소 아쉽다. (아래는 Genesis)


by kimsama | 2009/05/04 22:30 | Development | 트랙백 | 덧글(0)

XML 에디터


하드코어 XML 개발자를 위한 하드코어 XML 에디터로부터 트랙백

Nebula의 경우 이전에 Mangalore 게임 프레임워크부터 현재 Nebula3까지 엔진의 여러 모듈에서 다양한 용도로 XML을 사용하고 있습니다.

이러한 이유로 일전에 팀 프로그래머 한분이 XML 편집에 괜찮은 에디터에 대한 소개를 부탁했는데 '난 vim'이라는 다소 쌩뚱맞은 답변을 에코했던 기억이 납니다. ^^;;

RadonLabs에서도 XML의 편집이 잦은 이유을 따로 에디터를 구입해서 사용하는 것으로 알고 있습니다. (이름이 생각이 나질 않는군요 ㅡㅡ;)

오늘 우연히 haje01님의 블로그를 발견했는데, 블로그를 발견한 것도 반가운 일이었지만 딱 대문에 이런 좋은 포스트가 실려 있어 매우 기뻤습니다.

Lua와 XML의 게임에서의 응용에 관한한 NHN이 역삼에서 분당으로 자리를 옮긴 시간보다도 더한 공력을 지니신 분이시니(응??), 추천에는 별다른 이의가 필요 없을 듯 합니다. haje01님이 소개한 XML 에디터는 http://www.oxygenxml.com/입니다.

연휴가 끝나면 팀에도 소개해 주어야 겠습니다.



by kimsama | 2009/05/04 18:40 | Development | 트랙백 | 덧글(2)

게임 데모 - Skate2

Skate2

국내에서는 플레이 인구가 얼마나 될지 궁금해지는 타이틀 중 하나.

우연히 지나가다 봤는데 뚝섬 어딘가에 스케이트 보드와 롤러 블레이드를 익스트림(?)하게 즐길 수 있는 곳이 있긴 하더라.

휴일에 360용 게임 데모를 다운 받아서 무심코 플레이하다, 앗!

배경이 샌프란시스코 아닌가, 유니언 스퀘어가 바로 눈에 들어 온 것이다.

여기 저기 낯익은 장소가 눈에 들어온다. 작년에 야구장 가는 길에 가로 질러간 공터 같은 곳도 보이고...

토니 호크 시리즈와 비교하면 확실히 EA스러움이 드러나는 타이틀.

렌더링도 이만하면 수준급이고, 작년 샌프란시스코 거리를 방황(?)하던 추억을 되살아나 급 동하는 중...

보니까 샌프란시스코와 밴쿠버, 바르셀로나를 적당히 섞어 놓은 San Vanelona가 게임 내 배경이라고.


by kimsama | 2009/05/04 18:33 | Lifetamine | 트랙백 | 덧글(0)

Tistory에 syntax highlight 적용하기


http://gyuha.tistory.com/225

티스토리에는 이런 플러그인(?)이 지원이 되는데, 이글루는 -_-;;

진짜 이글루는 10덕들을 위한 블로그라는 항간의 소문이 맞나요??? 네??

오래되어서 그냥 쓰고 있기는 한데 최근에 이것저것 불편한 점이 자꾸 걸립니다.

예를 들어 전에는 구글독에서 편집한 걸을 바로 포스팅하는 것이 가능했는데 언젠가부터 안되더군요. -_-;

그리고 맥에서는 파이어폭스에서 ScribeFire을 사용해서 포스팅하는데 (http://kimsama.blogspot.com) 이글루는 -_-;;

구글독에서 편집한 다음 카피해 넣으면 랜덤하게 띄워쓰기가 깨어지는 버그는 또 뭔지... -_-;;

MS Live Writer도 한번 테스트해 봐야겠습니다...맥에서 될란가... ㅡㅡ;

by kimsama | 2009/05/04 17:57 | General | 트랙백 | 덧글(0)

C++ 프로퍼티

컴포넌트 기반의 게임 객체(Entity) 구현을 위해서는 프로퍼티 클래스가 필연적으로 필요합니다.

우연히 방준영님의 블로그에서 재미있는 -Visual C++에서 기본으로 지원하는 것- 포스트를 찾아서 소개합니다.

C++로 프로퍼티 구현하기 1부

Nebula에서는 Attribute로 구현이 되어 있는 부분입니다. 요지는 컴포넌트 기반의 게임 객체가 메타 객체라는 것인데 이들 객체의 데이터 처리를 위해서도 메타 데이터의 형태가 필요하다는 것입니다.

이 부분과 관련해서 Nebula3 Sep 2008 버전에서는 Model 모듈의 클래스의 관련 코드가 너저분하게 처리되어 있었는데 이번 April 2009 버전에서 말끔히 코드가 정리된 것을 볼 수 있습니다.


ps. 방준영님의 블로그는 최근에 gcc 사용과 관련해서 구글링하다 #include_next 관련된 포스트를 보고 처음 알았는데 최근에 블로그를 이전하셨더군요.(위의 C++ 프로퍼티 블로그) 그런데 이전한 블로그에 상당히 재미 있는(이라고 쓰지만 읽기는 다소 거북한, 본문과 덧글 모두...) 논쟁이 있군요. 논점과 관련해서는 제 전문 분야가 아니라 지식이 충분하지도 못하고 또 관심 있는 주제도 아니라 의견을 말하기는 힘들지만, 오픈 소스와 관련한 내용의 포스트와 덧글들은 곱씹어 볼 내용들이었습니다.

by kimsama | 2009/05/04 16:58 | Development | 트랙백 | 덧글(0)

휴일에 읽는 멀티코어 테크니컬 아티클 시리즈

멀티 쓰레드 프로그래밍의 기본적인 개념을 가지고 있다는 전제하에 순서대로 읽어면서 멀티코어를 게임 엔진에 적용하기 위해 필요한 기본적인 개념과 접근 방법, 그리고 전략을 정리하기 좋은 몇 가지 글들. (연관된 글들을 함께 읽으면 이해가 빠르죠~)

첫 번째로 "Multithreaded Game Programming and Hyper-Threading Technology".(Will Damon) 본문의 내용중에서 decouple이라는 단어에 주목하자. 멀티코어 환경하에서는 시스템간에 상호 의존성을 최대한 배제할 수 있도록 (쓰레드로 분리할)시스템을 설계해야 한다.

다음으로는 "Threading Basics for Games". (Jaff Andrews) 멀티 쓰레딩의 두 가지 방식인 데이터 병렬 처리와 함수 병렬 처리 방식 중에서 함수 병렬 처리에 대한 내용에 초점을 맞추어 설명을 하고 있다.

마지막으로 Gamasutra에 올라 온 조금 오래된 글로 "Threading 3D Game Engine Basics"( Henry Gabb & Adam Lake)에도 볼만한 내용들이 있다. 특히 암달의 법칙과 Granularity 섹션의 내용은 눈여겨 볼만하다. Granularity의 내용은 Threading Basics for Games의 Figure 1의 그림을 생각하면서 읽으면 훨씬 더 이해하기가 쉽다.


...Nebula3의 멀티코어 아키텍쳐를 이해하고자 하는 분들에게도 일독을 권합니다. Advanced 한 글들은 추후에 또 모아서 포스팅하겠습니다.

by kimsama | 2009/05/04 14:48 | MultiCore | 트랙백 | 덧글(0)

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