어제 날짜로 아레나넷의 창업자 제프 스트레인이 떠나다 라는 제목의 기사가 올라왔습니다. 제프 스트레인(Jeff strain)는 길드워를 만든 아레나넷의 창업자 3인방 중의 한 명입니다. 최근에는 엔씨소프트의 북미 지사에서 미국내 개발 총괄을 하고 있었습니다.
국내에는 스타크래프트의 경쟁 제품으로 소개되어 그다지 성공을 하지 못하였습니다만 2005년 4월에 출시된 이래 미국과 유럽에서 엄청난 성공을 거둔 게임입니다. 2007년도에는 미국 PC 용 패키지 게임 판매 수 2위를 차지를 하기도 하였습니다. 1위는 블리자드의 Wow였으니 순수 패키지 게임으로서는 1위라고 할 수 있습니다. (미국에서 길드워는 패키지 구입 비용만으로 온라인 접속을 할 수 있습니다)
제프의 이력을 보면 블리자드에서 워크래프트, 워크래프트2, 디아블로, Wow 개발에도 참여를 하였습니다. 스타크래프트의 캠페인 에디터 StarEdit 등을 만들었다고 합니다. 아레나넷의 창업자들은 모두 블리자드 출신이며 같이 일을 했었습니다. 창업자 중의 한 명인 패트릭 와이어트는 배틀넷을 만든 사람이기도 합니다. 지금 길드워2를 총괄하고 있는 마이크 오브라이언도 비슷한 이력을 가지고 있습니다. 세 명 모두 한국 사람들이 좋아하는 게임을 만든 사람들이지요. 기사를 찾아보니 이런 인터뷰 기사도 있습니다.
아레나넷은 이합집산이 심한 미국의 일반적인 개발 스튜디오와는 다르게 창업자들의 신뢰 관계가 무척 오랫동안 지속되어온 회사였습니다. 2000년 초 창업한 이래 2007년까지도 100명이 넘은 개발자 중에서 두 명 밖에 그만 둔 사람이 없다고 자랑을 할 정도였으니까요. 성격이 제각기 다른 톱클래스의 세 명의 창업자가 여러 위기를 극복하고 세계적인 게임을 만들어 내었다는 것 만으로도 이야기 거리가 되고도 남습니다. 그리고 길드워2가 완성되기 전에 제프가 떠나서 무척 아쉬운 것도 있습니다.
제프의 소식을 들으니 제프가 예전에 쓴 글 중에 '훌륭한 개발툴이 훌륭한 게임을 만든다' 는 글이 있습니다. 잠깐 언급했습니다만 제프는 스타크래프트의 캠페인 에디터를 만든 사람입니다. 블리자드 게임들을 보면 게임에 맵을 추가하거나 수정을 하여 즐길 수 있는 툴을 포함하고 있는 경우가 많습니다. Wow를 보더라도 Lua로 여러 플러그인을 만들어서 더 즐거운 게임을 할 수 있게 하지 않았나요? 제프는 이 글에서는 게이머를 위한 툴이라기 보다는 개발 과정 중에 필요한 툴에 대해 강조를 하고 있습니다.
개발툴이란 자신의 아이디어를 제품으로 만들어 내는 수단'이라고 정의를 하고 개발 초기부터 개발툴을 잘 만들어야 한다고 강조를 하고 있습니다. 끊임 없이 반복적으로 하드코딩과 디버깅으로 개발이 진행되면 시간이 지나고 개발자가 바뀌면서 코드는 알 수 없는 코드의 무덤이 되어버립니다. 제프는 워크래프트의 초기 개발 경험에서 부터 스타크래프트 캠페인 에디터 StarEdit 까지의 개발을 통해서 얻은 경험을 전달해주었습니다. 게이머가 직접 자신만의 캠페인을 만들어 내면서 자기가 즐기는 게임을 더 이해할 수 있는 기회도 생기게 되었다고 합니다.
이런 툴개발 과정은 계속해서 발전하는 프로세스를 가진다고 합니다. 언제 완성되느냐는 질문에 게임이 서비스되는 동안이라는 말을 들은 적도 있습니다. 제프는 에이지 오브 엠파이어의 개발팀과 이야기할 기회가 있었다고 하는데요 Age of empire 개발팀은 StarEdit 툴이 매우 인상적이어서 그 툴의 많은 기능들을 게임을 개발하는 과정 중에 자신들의 툴에 포함을 시켰다고 합니다.
그리고 AoE 팀은 가장 중요한 개선을 하게되는데요 'Test Now'라는 버튼을 추가하여 개발자가 언제든지 현재 맵을 테스트 할 수 있는 기능을 넣었다고 했습니다. 예전에는 30초 정도 기다렸어야 하는데 하루에도 수 십번 씩 반복적으로 사용하기 때문에 즉시 테스트 할 수 있는 이 기능은 엄청난 시간을 줄여주었다고 합니다.
개발툴은 프로그래머 작업의 병목현상을 줄여주기 때문에 잘 만들어진 툴은 개발 속도를 비약적으로 증가시킬 수 있습니다. 개발 초기에 적은 수의 개발인력으로 좋은 툴을 만들면 양산 단계에 인력이 급격히 충원이 되어도 그 충격을 최소화 할 수 있습니다.
길드워를 개발하는 동안 개발툴을 만드는데 2년이 걸렸다고 합니다. 하지만 초기에 투자된 시간은 막바지에 많은 보상을 받았다고 하네요. 맵을 만들고 그 결과물을 보는데 몇 주가 아닌 몇 시간이면 실제로 테스트 할 수 있는 결과물을 얻을 수 있도록 자동화를 하였으니까요. 아티스트들이나 게임 기획자들이 자신들의 수정 사항을 즉시 확인할 수 있는 것은 매우 중요한 기능입니다.
길드워는 '유니버셜 빌드'라는 개발팀 전체의 공통 빌드 시스템을 통해서 아티스트들이나 테스터들이 같은 게임을 테스트 할 수 있도록 하였다고 합니다. 수정을 반영하면 다음 번 빌드에는 그 사항이 반영되어서 테스트를 할 수 있도록 한 것이죠. 개발 과정 중에 반복적인 빌드와 테스트는 개발 기간을 단축시키고 높은 퀄리티를 갖게 합니다. 데일리 빌드 정도가 아닌 몇 십 분 내에 빌드가 되어 반영되기를 바라는 것입니다.
제프는 훌륭한 툴이 가능하게 하는 것은 '반복'이라고 강조를 하고 있습니다. 반복된 테스트와 수정은 각각의 리소스(asset)의 퀄리티를 높입니다. 툴의 도입으로 병목인 프로그래머를 배제하고 다른 개발자들이 자신의 결과물을 직접 확인하고 수정이 가능하기 때문이죠. 데이터를 고칠 때마다 빌드하고시 서버를 띄워달라고 한다면 문제가 되겠죠.
유명한 어떤 게임은 모든 리소스를 원본 파일에서 자동으로 추출하여 빌드하기 때문에 시간이 너무 오래 걸려서 하루에 두 번 밖에 제대로 된 테스트를 못했다고 합니다. 작업한 것이 제대로 반영되었는지를 확인하는데 반나절이 걸리니 무엇을 수정했는지 잊어버릴 정도가 될 것 같습니다. 이제는 그보다는 전체 빌드 시간이 짧아졌다고 하지만 반복적인 테스트를 하기 힘든 극단적인 예가 되겠습니다.
마지막으로 개발 프로세스가 더욱 효과적으로 바뀌면 더욱 많은 컨텐츠를 만들 수 있다고 하였습니다. 개발 막바지로 가면 새롭게 기능을 변경시키는 것은 점점 더 어려워지고 사고치는 것을 두려워 개발자는 문제를 바꾸려고 하지 않게 됩니다. 가급적 개발 막바지에 이르기 전에 수정할 것은 모두 수정이 되어야 합니다. 이렇게 해야 훌륭한 게임이 만들어진다고 합니다.
물론 게임이 출시가 되었다고 해서 개발이 끝나는 것은 아니죠. 출시가 된 이후에도 계속된 버그 수정과 패치가 발생합니다. 예를 들어 새로운 비디오 카드가 출시되면 해당 카드의 새로운 기능을 활용하여 게임을 새롭게 합니다. 서비스 되는 제품의 안정성과 무결성을 확보하기 위해서 개발자들은 매일 매일 직접 '개밥'을 먹습니다. 개나 줘야 할 정도의 음식이라는 의미로 직접 게임을 하고 테스트를 한다는 것이죠. 개밥이 맘에 안들면 고치면 된다고 말하고 있습니다.
두 가지로 내용을 정리하자면 '개발툴에 투자를 하면 그만큼 얻는다', '개발자들이 직접 자신들의 결과물을 게임 속에 직접 넣을 수 있게 (프로그래머를 거치지 않고) 하라' 입니다.
2002.06.26
Jeff Strain
저는 게임과 직접 관련된 개발툴 외에도 개발자들의 생각과 의견을 묶어서 공유할 수 있는 커뮤니케이션 툴도 반드시 필요하다고 생각합니다. 전체 메일이나 제로보드 게시판 하나로 수 십 명의 개발자들이 의견을 공유할 수 있다고 믿는다면 다시 한 번 생각해 보시라고 하고 싶습니다.
머릿 속을 들여다보는 것 같은 강한 눈빛을 내뿜으면서 빠르고 절도 있게 일을 진행하던 제프의 모습이 기억이 남습니다. 그렇게 모든 것을 열정적으로 처리하는 사람을 본 적이 없었기 때문입니다. 휴가를 내고 아이폰을 사러 줄을 섰다가 신문 뉴스의 사진에 나와 같은 아레나넷 사람들의 장난 거리가 될 정도로 애플 매니아이기도 하죠. 마라톤 완주를 할 정도로 달리기로 프로그래머 같지 않은 몸매도 유지하고 있으며 아이들을 자는 새벽에 일어나 자신이 좋아하는 게임을 하는 멋진 아빠이기도 합니다. 저는 제프와 몇 번 이야기 해본 것이 전부이지만 금새 그 사람의 에너지에 휘말리고 말았습니다. 멈추지 않는 에너지를 가진 제프가 또 다시 새로운 게임을 가지고 돌아올 것이라 자신합니다.
@모루
댓글 없음:
댓글 쓰기