이건 현업(한국의 온라인게임 개발사)에서 일하면서 느끼는 점입니다.
또한, 일반론이 아닌 개인 견해이며, 옳을 수도 있지만 틀릴 수도 있습니다.

저는 모 게임개발사에서 엔진개발을 하고 있습니다.
늘 신기술을 염두에 두고 개발을 하고요,
남들은 갖지 않은 독특한 기술을 개발하는데에도 늘 관심을 기울이고 있습니다.
특히 Outdoor 엔진부품을 개발하는데에 관심이 많아서
매우 넓은 면적을 소화할 수 있는 Terrain 이라든가,
풀이나 나무를 자동으로 배치하고 관리하는 기술이라든가,
수면 렌더링을 좀 더 저렴(CPU, GPU 시간을 아낀다는 의미)하게 구현하는 방법이라든가...
해안선을 알아서 그려주는 방법이라든가...
이런 주제들을 가지고 연구 개발을 해왔습니다.
이런 기술을 직접 개발하는 것은 결코 쉬운 일은 아니었습니다만,
노력한 만큼의 결과를 얻을 수 있었습니다.

게임 개발사에서는 이런 기술을 개발하는것이 무척 환영받을줄 알았습니다.
하지만, 2년반 정도 일을 하면서 느낀 점은...
처참함이었습니다.

기술개발은 당장 돈이 되지 않습니다.
때문에, 개발사들은 대부분 기술을 개발하는데 인력과 비용, 시간을 쓰기보다는
그냥 고급 엔진을 비싼 돈 주고 사오는 것으로 만족하려 합니다.
당연히, 회사 자체기술은 쌓이지 않고 버전별로 상용 엔진만 쌓이게 됩니다.

"그냥 사도 되는데 왜 만듭니까 ? 하지 마세요."
이런 이야기를 2년간 들어왔습니다.
열심히 일을 하는데도 문제제기를 받아야 하고, 또 그런 의견에 대항하여 팀의 존재가치를 증명해야 하는...
이런 지리하고도 아무 남는것 없는 싸움을 1년이 넘게 해왔습니다.
이제 너무 지쳤고, 자존심도 상하고, 또 한국의 온라인게임계를 떠나고 싶은 마음까지 갖게 됩니다.

그렇다고 해서 엔진을 사서 잘 해결이 되는가 하면, 그렇지도 않습니다.
엔진에 없거나 불편한 기능은 직접 만들어서 해결해야 하는데...
기술개발을 박대한 회사가 이런 순간에 힘을 발휘할리가 없지요.
결국 삽질의 연속, 괜히 엔진만 갈아치우고 개발자들만 떠나고 새로뽑고를 반복합니다.
이것이 한국 온라인 게임 개발사 대부분이 갖고있는 연속 삽질 스킬입니다.

상용엔진으로 게임을 개발하는 것 역시 훌륭한 일이고, 어려운 일입니다.
하지만, 그것만으로 만족한다면 개발사는 영원히 엔진 종속적인 게임 개발에 머물러야 합니다.
엔진이 지원하지 않는 기술은 한뼘도 욕심낼 수 없게 되고요,
게임의 기획도 엔진 스펙에 맞추어서 해야만 합니다.
이것은 말 그대로 "종속"입니다.
참신한 무언가를 기대할 수 없는 환경인 것입니다.

또한, 엔진의 가격이 올라가도 어쩔 수 없이 사야 하고,
기술지원도 외국에 메일을 보내 어렵게 받아야 합니다.
마음에 쏙 드는 답을 받기도 어렵습니다.
(언리얼이나 크라이텍 쪽은 한국 지사를 만든다고 하니, 이런 어려움이 얼마간 해소될지도 모르겠습니다.)
또한, 엔진을 구입한 후 그것을 게임에 적용하기 위해 개발자들의 숙련도를 올리는 시간은
그만한 기술을 개발하는 시간에 비해 그닥 짧지도, 비용이 더 저렴하지도 않습니다.
보통 1~2년 정도를 엔진 만지작거리는 시간으로 소비합니다.
기술을 직접 개발하여 소유할 수 있는 시간과 비용, 인력을
상용 엔진을 구입하고 그 사용법을 익히는데에 다 쏟아붇는 것입니다.

이제 상용엔진의 성능을 따라갈 엔진을 직접 만드는 것은 불가능하다...
이것이 대부분의 게임 회사나 개발자들이 하는 이야기입니다.
어느정도 일리 있는 이야기입니다.
십수년의 역사를 가진 대형 상용엔진을
몇년만에, 그것도 절반의 절반도 안되는 개발인력으로 똑같이 만들어내는 것이 가능하다면 그건 사기죠.

하지만, 그것만이 진실은 아닙니다.
상용엔진을 구입한 개발사가 사용하는 엔진 기능은 전체 기능의 아주 작은 일부에 불과한 것이 대부분입니다.
통합엔진의 문제점은 바로 이것에 있습니다.
오만가지 기능이 다 들어가 있지만,
따로 떼어 부분부분 구입할 수 없기 때문에 거액을 들여 구입해야 하는 것입니다.

그 대안이 바로 콤포넌트형 미들웨어 엔진입니다.
하늘, 땅바닥, 캐릭터, 이펙트, UI 등등을 미들웨어로 따로 개발하거나 구입하고
그것을 조립하여 게임을 만들게 되면
비용도 절감될 뿐 아니라 기술축적에도 더 도움이 됩니다.

외국의 모 게임 개발자가 모 컨퍼런스를 통해 한 말이 있습니다.
"게임엔진의 미래는 콤포넌트 엔진이다"
이미 텍스쳐 전담 엔진, 길찾기 전담 엔진, 나무 전용 엔진, 애니메이션 블렌딩 전용 엔진, 컬링 엔진 등...
게임의 특정한 기능만을 위한 미들웨어 엔진들이 상용으로 판매되고 있습니다.

제가 추구하는 것은 바로 이런 콤포넌트형 미들웨어 엔진 개발입니다.
이렇게 되면 대형 상용엔진과 직접 박치기를 하지 않고도
그들의 급소만을 공격하는 방식으로 경쟁할 수 있게 됩니다.
게임 개발에 꼭 필요한 부분만 따로 만들고,
그중 몇몇 특정 기능을 강화하여 더 나은 게임 개발이 가능하게 하는 것입니다.

하지만, 국내에서 이런 방식의 엔진 개발을 하기 위해서는
많은 벽과 싸워야 합니다.
회사에서 뭔가 결정권을 가진 사람들이 모두 하나하나의 벽처럼 느껴지곤 합니다.
그 벽을 다 넘기가 참으로 어렵습니다.

제 방법론이 잘못된 것일지도 모르죠.
하지만, 해답일지도 모릅니다.
결국, 진위를 가리기 위해서는 개발을 해서 게임에 도입해보는 과정이 필요한데
한국의 온라인 게임 개발환경은 그러기에는 너무나 단단한 벽과 같습니다.
저는 지금도 투쟁중입니다.

답답함에 한번 끄적여봤습니다.

Posted by moonyeom

2009/12/18 11:48 2009/12/18 11:48
, ,
Response
No Trackback , 9 Comments
RSS :
http://www.arcshock.com/kr/rss/response/8

Trackback URL : http://www.arcshock.com/kr/trackback/8

Comments List

  1. komagi 2009/12/20 23:45 # M/D Reply Permalink

    무영씨의 그 의지에 한 표 던져요...^^;
    한국 게임 발전의 걸림돌이 한국 게임 개발사라는 것이 참 씁쓸하네요... -_-;
    힘내세요.. 홧튕!!!

    1. moonyeom 2009/12/20 23:50 # M/D Permalink

      지금의 불만을 끄적인 것일 뿐, 성급한 일반화를 해서는 안되겠지...
      암튼 아지의 위로에 좀 더 힘을 낼께...(^-^)>

  2. yuchi 2009/12/27 22:19 # M/D Reply Permalink

    친구 블로그에 들렀다가 링크링크타고 들렀습니다.

    많이 와 닿는 글이네요.

    한국에서 엔진 개발자로 일한다는거, 인정받을거 같지만 고생에 비해 인정받지 못하고 그딴거 뭐하러 하냐라고 푸대접 받기 일수죠.

    저도 비슷한 생각도 많이 하고 빨리 이 바닥을 떠나야겠다 그런 생각까지도 합니다.
    한국 게임업계가 이만큼 발전하기까지 과거 퀘이크 소스를 분석하고 3DS파일 포맷을 분석하던 개척자 정신의 프로그래머들이 있었다는 사실을 결정권을 쥐고 있는 사람들이, 돈줄을 쥐고 있는 사람들이, 게임업계에서 힘좀 있다는 사람들이 알까요.참 씁쓸합니다.
    그래도 어쩌겠어요.
    힘내세요.

    1. moonyeom 2009/12/28 09:47 # M/D Permalink

      에고, 감사합니다.
      마음 알아주시는 분이 한분 계실때마다 실제로 힘이 나요...
      항상 즐거운 하루하루 되시고요...
      이 바닥 뜨시기보단, 이 바닥에서 확 뜨시는 yuchi 님을 기대하겠습니다...!!!

  3. wonderman 2010/05/03 16:40 # M/D Reply Permalink

    게임 개발을 해 본적은 없지만, 대강 어떨지 조금은 짐작이 됩니다 ㅜ_ㅡ
    골리앗을 이기기 위해 조그만 다윗이 골리앗이 쓰는 거대한 무기를 들겠다고 하는 것 같은 이미지만 떠오릅니다.
    다윗에겐 그에 걸맞는 효과적인 무기가 있을텐데 말이죠...

  4. 꿈꾸는자 2010/05/13 21:54 # M/D Reply Permalink

    쉽지 않은 길이죠...
    제 친구가 있는 게임회사는 그나마... 자체 엔진을 꾸준하게 개량해서 사용하는 회사라서 그나마 다행이라고 할까요?
    대작을 노리기보다는...
    적절한 게임성으로 승부를 거는 방법이죠.

    컴포넌트형 엔진이 언젠가는 빛을 보지 않을까요?
    플랫폼이 변하고...
    환경이 변하면...
    가장 중요한 것은 '기초 기술'이더군요.

    무념님의 생각이 실현되는 세상이 곧 올것으로 믿습니다.
    ~.~

    1. moonyeom 2010/05/14 12:21 # M/D Permalink

      아, 그 친구분 회사가 부럽네요...
      지금 이직한 회사는 기술개발 자체를 아주 중요하게 생각하는 회사라
      이전과 같은 상처를 받지는 않을 예정이예요...
      근데 게임개발사가 아니라는... -.-;

  5. 지나가던 개발자 2012/02/03 12:48 # M/D Reply Permalink

    님의 의견에 같은 개발자로써 또 엔진개발자로써 동감합니다.
    하지만 엔진개발자라고 어깨에 힘주고 그것을 무기로 회사와 딜을 하려고 하고 그게 이루어지지 않으면 나가버려서 기술도 날라가 버리는 비일비재한
    일은 생각안하시니요? 이런회사 여러개 봤는데요...
    상용엔진인경우 해당인력을 다시 뽑으면 어느정도 해결이 가능한경우도 많구요. 또 게임개발할 생각은 안하고 해당게임에 필요하지도 않은 기술습득에만
    물두하며 월급은 월급대로 받고...다른 프로그래머들과 기술공유에도
    네거티브한 엔진개발자들 많이 봤어여..
    또한 상용엔진 쓰더라도 부족한부분은 직접 개발하는곳도 많습니다.
    솔직히 게임을 만드는데 들어가는 기술이라는게 아무나 범접하지 못하는
    대단한 기술이란게 있나요? 시간과 근성을 가지고 꾸준이 관심갖고 파고들면
    프로그래머 치고 다덜 합디다...특히 요즘 어지간한 렌더링 기술은
    대학교 다니는 학부생들도 하더만요....
    외국에 그래픽스전문 프로그래머그래머 정도 된다면 인정할수 있지만
    혼자서 만들수 있는 자체엔진 수준이란게 어느정도인지 잘알기 때문에
    (렌더링 기술은 어떻게든 따라갈수 있겠지만) 그 엔진을 이용해서
    5~6년전 에 만들던 리니지 1,2 스타일에 양산형 게임 만든다면 모를까
    요즘 유저들에 눈높이를 충족할만큼의 게임개발을 할수 있는 엔진수준은
    택도 안된다고 생각합니다. 최근 국내에서 엔진개발로 먹고사는 회사들에
    엔진 퀄리티를 보면 뭐 말다했죠.....회사차려 직접 돈받고 서비스하려는
    회사들이 만드는 엔진 수준이 이정도일진대 혼자서 만드는 엔진은 뭐
    인제는 취미로 만드시는게 아니라면 엔진자체에 대한 집착보다는
    만들고 있는 게임에 필요한 기술 위주로 님께서 말하신대로 R&D 하시는게
    현실이겠죠...

    1. moonyeom 2012/02/25 14:10 # M/D Permalink

      누추한 곳에 이런 소중한 의견을 올려주시니 우선 감사합니다.
      하지만 모두 동의할 수는 없어 송구합니다.
      물론, 제 견해가 다 옳은 것도 아니겠지만요...^^;
      이하는 순전히 저의 좁은 개인소견입니다.

      1. 엔진 개발자가 나가버리면 매우 곤란한가 ?
      우선, 엔진이든 뭐든 어떤 개발자이든, 어깨에 힘주는건 인격 미달인거구요.
      중간에 나가버려서 회사가 곤란해지는건 중요한 일을 맡는 모든 직장인에게 동일합니다.
      그리고, 나가버리면 안될 더 중요한 사람도 많아요...
      게다가, "엔진개발 기술 별거 없다"고 하신 진술과도 모순됩니다.
      정말 별거 없다면 나가도 대체인력 쉽게 구하겠죠. 학부생들이라든가...

      2. 어지간한 렌더링 기술은 학부생들도...
      인터넷이나 책속부록으로 굴러다니는 렌더링 코드를 기술이라고 생각하진 않습니다.
      그건 그냥 정보이고, 심지어 어느 단계를 지나면 참고할 일도 없습니다.
      단순히 무슨무슨 렌더링 기법의 코드를 만들어내는 정도를 엔진기술이라고 생각하지도 않습니다.
      세계의 거대한 구조에서부터 미시적인 렌더링 품질까지가 모두 엔진의 영역이고요,
      그중 렌더링 기법, 셰이더 코드들은 가장 구현하기 쉬운 영역에 속한다고 봅니다.

      3. 국내 게임엔진 개발사들은 먹튀인가 ?
      물론, 함량미달의 엔진으로 회사 차린 분들도 국내엔 일부 있습니다.
      기술보단 영업력과 립서비스로 계약 따내고 실제로 게임 개발엔 도움이 안되는,
      그런 어떤 국내 엔진 회사의 "먹튀"에 회사 전체가 분노했던 적이 있기에
      진심으로 공감합니다... (저도, 비록 다른 팀이었지만 정말 화났죠...)
      하지만 그런 일은 엔진개발사의 일반현상도 아니고, 게임개발분야만의 일도 아니죠.
      암튼, 바르게 살아야죠 우리라도...^^;

      4. 요즘 유저들의 눈높이를 충족할 엔진 개발은 불가능인가 ?
      제가 엔진개발팀을 맡으면서 도전한 것은 통합엔진이 아니었습니다.
      일반적인 상용엔진들로 해결 못하는 부분을 채워주는 미들웨어형 콤포넌트 엔진이었구요.
      개발 완료하고 성능/품질/생산성 모두 좋은 평가를 받았죠.
      이런 방향으로 하면 충분히 가능성 있다고 보고요,
      이런 콤포넌트들이 적절한 분야로 열댓개 정도만 모이면
      통합엔진의 역할을 충분히 수행할 수 있습니다.
      각각의 엔진 개발 실패 리스크가 적고 투자금도 적어서 현실적이고요,
      완성되는 기간이 짧아서 개발관리도 좋습니다.
      게다가, 사용하기 편하고 공부 많이 안하고도 쓸 수 있어 좋죠.
      실제로, 통합엔진들도 이런 미들웨어들을 주렁주렁 많이 달고 다니쟎아요 ?
      게임개발을 떠나 이쪽으로 더 추진 못하게 된 것이 안타까울 따름입니다.

      끝으로...
      이제 업을 떠나서 취미로 전향했기 때문에,
      말씀하신 대로 엔진에 대해 집착하지 않습니다.
      기술 역시, 지금 하는 일에 관련된 쪽으로 더 연구하고 있구요.
      다만, 이땅의 개발자들이 "어차피 엔진개발은 안되는거야" 라는 생각만큼은
      안했으면 좋겠습니다.

      회사일이 바빠 버려지다시피 했던 이곳에
      소중한 말씀 올려주신 것에 깊이 감사드립니다.
      계속 현업에 계시면서 부디 최고의 기술과 재미를 창조해내시기 기원하겠습니다.
      홧튕 !!!

Leave a comment