[IGC2017] '리틀 데빌 인사이드', "이렇게 만들고 있어요"

게임뉴스 | 이현수 기자 | 댓글: 13개 |


▲ 니오스트림인터랙티브 황인승 스크럼 마스터

[인벤게임컨퍼런스(IGC) 발표자 소개] 황인승 프로그래머는 2010년 넥슨에서 '크레이지 아케이드 BNB'를 시작으로 조이시티에서는 '3on3 프리스타일' 개발에 참여했다. 이후 2016년 니오스트림 인터랙티브에 합류해 현재는 '리틀 데빌 인사이드'를 개발 중이다.

인디 개발사 니오스트림 인터랙티브(이하 니오스트림)는 첫 번째 영상을 공개 한 후 엄청난 관심을 받았다. 이 사건은 그들에게 여러 변화를 가져왔다. 인원이 늘어났고, 자연히 프로세스도 변화했다. 그 과정에서 실패도 경험했다.

황인승 프로그래머 겸 스크럼 마스터는 영상 공개 이후 자신들만의 프로세스를 구축하기 위한 시도와 그로인해 겪어야만 한 시행착오를 IGC 청중들에게 공유했다.

[시선을 모았던 그 영상]




■ 강연주제: 우리가 게임을 만드는 방법 - '리틀 데빌 인사이드' 개발 프로세스

⊙ 사람도 많아졌고, 일도 열심히 했는데 왜 실패했지?

처음 2명이 시작했던 팀은 15명의 규모로 성장했다. 당연히 규모가 변한만큼 프로세스의 변화도 필요했다. 니오스트림은 잘 알려진 개발론들 중에 애자일(Agile) 개발 프로세스을 선택했다. 처음부터 애자일을 선택했던 것은 아니다.

니오스트림은 이전 활용하던 프로세스로 몇 가지 마일스톤 목표를 달성하는 데 실패했다. 원하는 빌드를 뽑지 못해 GDC 참석도 포기했다. 사람이 늘어났고 일도 열심히 했는데 실패를 경험했다. 왜 실패를 했는지 고민이 필요한 순간이었다.

원인은 '디렉터와 팀원간의 성향 차이'였다. 보통 팀 구성원들의 성향은 'Rank-Driven 성향'과 'Role-Driven 성향'으로 구분할 수 있다. 전자는 한 명의 지도자가 리더쉽을 가지고 일사불란하게 목표를 완수하는 수직구조의 조직에 어울리는 성향이다. 반면 후자는 수평적인 구조를 추구하며 구성원 한명 한명이 책임을 지고 판단해서 목표를 완수하는 조직 스타일에 어울린다.

니오스트림의 디렉터는 전형적인 Role-Driven 스타일이었고 팀원들은 Rank-Driven 스타일에 익숙한 사람들이었다. 때문에 디렉터가 자유롭게 창의적인 의견을 개진하면, 팀원들은 새로운 목표가 생긴 것으로 오해했다. 이런 일이 반복되다 보니 과도한 목표에 스트레스를 받거나, 방향성이 바꾼다는 오해가 생겼다. 작업은 늘어지고, 목표를 달성하는데 어려움이 계속됐다. 새로운 프로세스의 필요성이 대두했다.



▲ Rank-Driven과 Role-Driven


⊙ 어떻게 새로운 프로세스를 도입했을까

먼저 새로운 프로세스를 Role-Driven 스타일인지, Rank-Driven 스타일인지부터 정하기로 했다. 결과적으로 Role-Driven으로 정했다. Rank-Driven에 익숙한 팀원이 많았지만, 작은 회사니까 수직구조로 일하기보다는 창의적이고 자유롭게 아이디어를 발산하기를 원했다.

이를 위해서 디렉터를 팀원들에게서 분리했다. 사이가 안 좋아서 분리한 게 아니라 팀원들이 디렉터를 상관으로 인식하고 있었기 때문에 이를 해소하려는 이유에서였다. 이를 통해 개발팀 스스로 일할 수 있는 환경을 만들고자 했다.

그리고 디렉터와 팀원들 사이에 스크럼 마스터를 두었다. 개발팀 업무를 관리하고 새로운 프로세스의 이해를 도와주는 역할을 했다. 그렇다고 디렉터가 개발팀에 관여를 하지 않는 것은 아니고 컨셉과 방향성을 체크하고 결과물을 리뷰하는 역할을 맡았다.



▲ 스크럼 마스터 개념도

스프린트는 애자일의 개념 중 하나다. 일정한 주기로 업무를 반복하여 진행하는 스케쥴 단위다. 주기는 딱히 정해져 있는 것이 아니므로 각 팀에 맡게 설정하면 된다. 니오스트림은 2주로 설정했다. 첫날에는 스프린터만의 계획을 짜고 마지막 날은 리뷰를 하기로 했다. 중간 계획은 팀원이 모두 모여서 회의를 통해 진행했다.

니오스트림은 그들만의 독특한 개념을 스프린트에 끼워 넣었다. '게임데이'라는 개념이었다. 게임을 만드는 사람들이지만, 다양한 게임에 대한 이해도가 낮은 사람도 있어서 종일 게임을 하고 분석하는 날로 정했다. 게임 이해도를 높이기 위해 다양한 게임을 했고, 니오스트림의 대표는 '다크소울3'를 하던 날 패드를 부수기도 했다.



▲ 니어스트림 스프린트 예시

야심차게 스프린트를 돌렸지만, 이전의 문제들은 해결되지 않았다. 오히려 지루해지고 지지부진했다. 중간 계획을 정할 때 모두 모여서 회의를 진행했는데, 아이디어를 자유롭게 내고 회의하는 문화 자체에 익숙하지 않았기 때문이다. 다 같이 한다고 해서 계획이 크게 좋아지지 않았고 시간만 오래 걸렸다. 아이디어 생산은 더뎠고 토론도 길어졌다. 심지어 자는 사람도 나왔다. 당연히 분위기도 좋지 않았다.

원인을 잘 몰라 면담을 진행했다. 돌아오는 답변은 이랬다. "다 같이 참여하는 건 긍정적인데, 과연 이렇게 해서 게임을 만들 수 있을까?". 익숙하지 못한 프로세스 문화에 대한 불안함이었다.

그래서 니오스트림은 새로운 시도를 하기로 했다. 목표를 구체화하고 향후 업무를 파악하는 것부터 시작했다. 기간과 목표를 정해 스토리 보드(Story Board)를 작성했다. 보통 스토리보드는 영화, 애니메이션, 웹툰 등을 기획할 때 만드는 개요표를 뜻하는데 니오스트림은 이를 개발 프로세스에 접목했다.



▲ 과거에 사용했던 클라이밍 기획서, 클라이밍에 관련된 모든 기능이 포함되어 있다.



▲ 반면, 스토리 보드에는 해당 씬에 필요한 기능만 포함되어 있다.

'리틀 데빌 인사이드'는 스토리 중심의 게임이 아니다. 이벤트 중심의 게임이다. 실제 게임에서는 스토리 보드대로만 게임이 진행되지는 않는다. 그러나 작업자 모두 동일한 비전을 갖게 하고 작업 목표를 동일하게 이해할 수 있게 하는데 스토리 보드만큼 좋은 것도 없었다.

스토리 보드에는 해당 씬이 어떤 씬인지, 디렉터가 어떤 의도로 연출하는지, 어떤 느낌을 전달하기를 원하는지, 어떤 기능을 포함해야 하는지, 어떤 사운드를 재생해야 하는지 모든 것을 다 적어 넣는다. 스토리 보드가 가진 스토리 텔링의 힘으로 모두가 컨셉과 필요한 기능을 이해하기 쉬워진다. 또한, 해당 씬에서 필요한 기능만을 구현하면 되기 때문에 리소스 낭비를 막을 수 있다.

기능적인 측면 외에도 상상력이 부족한 사람들에게 눈에 보이는 상황을 제시한다는 점도 장점이다. 상상력이 부족한 사람들은 기존의 컨셉 문서나 기획서만으로는 아이디어를 내기 쉽지 않다. 그러나 이들도 스토리 보드를 보고 난 후에는 아이디어를 내기 편해졌다. 또한, 스크럼 마스터로서 계획을 잡기 쉽고 CEO는 게임을 예측하기 쉬워졌다.

스토리 보드를 만든 다음부터는 스프린트 계획 방식이 달라졌다. 다 같이 모여서 일정을 짜는 게 아니라 스크럼 마스터가 계획을 짜고, 그 계획으로 회의를 진행했다. Role-Driven의 영역에 Rank-Driven을 가미했다.



▲ 챔버 개념

CEO가 마일스톤을 제시하면 하나의 챔버(Chamber)가 시작된다. 일종의 장기 계획서다. 마일스톤 기준으로 CEO, 디렉터, 스크럼 마스터 등이 모여서 기간과 목표를 잡는다. 하나의 챔버는 여러 개의 스프린터 조합으로 이뤄지고 여러 개의 챔버는 각 마일스톤을 담고 있으므로 챔버를 완성하는 것은 게임을 완성한다는 뜻이다. 챔버는 본래 애자일 용어는 아니다. 니오스트림이 사용하는 개념을 애자일 프로세스에 맞게 부르는 단어다.

하나의 챔버는 스프린터 조합으로 이뤄지며 스프린트는 '기능성 작업', '퀄리티 작업' , '폴리싱'을 목표로 묶인다.

여기서 핵심은 기능성 작업이다. 기존에는 하나의 기능을 완성하는 것을 목표로 하다 보니 과하게 리소스를 투자하는 문제가 있었다. 이러한 문제를 해결하기 위해 정해진 기간에 필요한, 최소한의 기능을 구현하도록 프로세스를 바꿨다. 최대한 러프하고 심플한 아트리소스를 사용해 기능을 구현한다. 절대 완벽함을 추구하지 않고 기능적인 부분을 우선하여 만드는 과정이다. 완성도는 체크하지 않는다.

완성도는 다음 목표인 퀄리티 작업에서 손 본다. 이 작업의 목표는 게임 퀄리티를 최대한 높이는 것이다. 기능성 작업이 끝난 부분을 위주로 퀄리티업을 한다. 기능성 작업이 최대한 끝나있어야 제대로 할 수 있는 단계로 퀄리티 작업 단계에서 기능 추가는 최대한 자제한다. '리틀 데빌 인사이드'는 아트 비중이 높은 게임이므로 퀄리티 작업에 힘을 쏟는 편이다.

마지막은 폴리싱 작업이다. 지금까지 진행한 작업을 종합해서 출시 가능한 상태로 만드는 것이 단계의 목표다. 최적화, 테스트, 버그수정, 빌드 만들기를 진행한다. 챔버와 스토리 보드를 통해 기간을 한정하고, 기능을 최대한 적합하게 구현할 수 있었다.

이러한 단계도 중요하지만, 무엇보다 가장 중요한 것은 사람에 대한 이해다. 만약 디렉터와 팀원 간의 성향 차이를 인지하지 못했다면 반목하다가 개발이 진행되지 않았을지도 모른다.



▲ 단일 챔버의 개념도


⊙ 게임의 가치 = 재미! 게임의 가치 = 재미?

게임을 하는 이유는 재미있기 때문이다. 그러므로 게임을 만듦에 있어 재미보다 중요한 요소는 없다. 하지만 의외로 재미에 집중해서 개발하는 건 생각보다 어려운 일이다. 회사의 상황에 따라 재미가 아닌 다른 목표를 우선해야 할 때도 있고, 재미가 아닌 다른 것에 중점을 두는 업무 습관이 문제가 될 수도 있다.

또, 굉장한 장인정신으로 업무를 마무리하는 그 자체에만 중점을 두는 구성원이 있을 수 있으며, 게임의 재미에 관심이 없는 사람도 있을 수 있다. 게임 회사에서 근무한다고 해서 누구나 게임을 좋아하는 건 아니다. 게임 개발의 특정 분야 그 자체에 매력을 느끼는 사람도 많기 때문이다.

그럼 왜 이렇게 다양한 요소를 생각하면서까지 가치에 집중해야 할까? 이 말은 왜 재미에 집중하느냐란 말과 상통한다. 이 질문에 대한 해답은 애자일 선언문에서 찾을 수 있다.




이 선언문은 답습해온 틀이나 룰, 계획에 얽매이지 않고 보다 가치 있는 제품을 만드는 것이 더 중요하다고 말하고 있다. 즉 게임에서의 가치인 재미가 가장 중요하다는 것이다.

니오스트림이 애자일 프로세스를 적용한 작업한 첫 번째 작업은 승마 작업이었다. 작업을 진행한 결과 러프하게 말의 모델링을 완성했고 말의 옆에서 러프한 동작으로 캐릭터가 말에 타는 것까지 구현했다. 러프하게 구현한 후 작업이 덜 된 부분을 마무리 짓기 위해 다음과 같은 순서로 작업 우선순위를 지정했다.

1. 말의 모델링을 완성한다.
2. 경사에서 자연스럽게 탈 수 있게 한다.
3. 모든 방향에서 말을 탈 수 있게 한다.
4. 탑승 애니메이션을 개선한다.
5. 말을 타고 이동할 수 있게 한다.

니오스트림은 일단 말을 어색하게 타는 모습이 보기 싫어 1번부터 4번까지의 작업을 진행했다. 그런데 시간을 투자했음에도 게임이 크게 재미있어지지는 않았다. 우선순위가 재미와 거리가 멀었기 때문에 나타나는 문제였다.

플레이하는 사람은 말을 본 순간, 말을 타고 움직이면 재미있겠다는 생각을 한다. 어떤 방향으로 자연스럽게 올라타느냐는 재미와 별반 관계가 없다. 이를 깨닫는 데는 제법 많은 시간이 필요했다. 실제로 나중에 말을 타고 이동하는 작업을 하니 확실히 게임의 재미가 생겼다.

물론, 하던 작업을 이어서 작업하고 마무리 짓는 것도 분명 중요하다. 그러나 게임이 안고 있는 재미를 빠르게 확보하고 검증하는 것이 더 중요하다.

그럼 항상 재미를 최우선 가치로 두고 작업의 우선순위로 정하면 언제나 옳을까? 어떤 작업이든 재미가 많이 늘어나는 방향으로만 작업하면 되는 걸까? 결과부터 말하자면 반드시 재미로만 판단해야 하는 것은 아니다.

[절차적 애니메이션의 예시]

니오스트림이 절차적 애니메이션(Procedural Animation)을 구현할 때의 일화다. 절차적 애니메이션은 캐릭터 애니메이션을 애니메이터가 직접 만드는 것이 아니라 보폭, 이동속도 등 몇 가지 설정을 통해 캐릭터 애니메이션을 실시간으로 만들어 내는 기술이다. 3ds Max의 CAT, Wolfire Games의 Overgrowth, Ubisoft의 IK Rig 에서 찾아볼 수 있다.

이 시스템이 완성만 된다면 애니메이션을 따로 제작하지 않아도 되기 때문에 개발 부담이 많이 줄어들고, 게임에 필요한 핵심 기능을 손쉽게 추가할 수 있다. 덕분에 기능을 구현할 시간을 확보할 수 있을 테고 결과적으로 재미를 확보하는데 크게 이바지할 수 있을 것으로 판단했다.

그러나 이 시스템 치명적인 단점은 시스템 자체를 만드는데 많은 시간이 걸린다는 점이었다. 시스템 개발을 결정하고 많은 시간을 투자했으나, 제대로 완성하려면 1년 이상의 시간을 더 투자해야만 할 것 같았다. 결국, 니오스트림은 작업을 보류했다. 분명 좋은 시도이기는 했지만, 결과적으로 리소스 낭비였다.

아무리 가치 있는 재미를 확보할 수 있어도 시간을 너무 많이 투자해야 하면 그 작업은 가치가 적다고 말할 수 있다.

의사 결정함에 언제나 가치 중심의 사고방식이 필요하다. 재미와 시간으로 가치를 판단하는 것처럼 어떤 일을 진행함에 개인이나 회사가 추구하는 핵심가치를 염두에 둬야 한다. 가치에 최대한 우선순위를 두고 방법을 찾아가다 보면 팀만의 고유한 프로세스가 완성할 수 있다. 가치를 중심으로 일하는 습관은 작업 중 방향성을 잃는 문제도 막아줄 수 있다.

즉, 특정 개발론을 적용하는데 연연하는 것보다 틀과 룰에 얽매이지 말고 가치를 추구하는 것이 무엇보다 중요하다는 말이다.

* 이후 현장에서는 '리틀 데빌 인사이드'의 최근 영상을 현장 참관객들에게만 공개했다. 해당 영상은 추후 '리틀 데빌 인사이드' 킥스타터에 공개될 예정이다.


⊙ 니오스트림이 사용하고 있는 툴




보드 - 각자 작업을 직접 보드에 붙여서 관리, 공유하고 있다. 애자일 프로세스를 도입할 때 많이 사용하는 시스템이다. 잘 보이는 곳에 두고 오며 가며 보기 때문에 각자의 작업 상황이 한눈에 보여 상황 파악에 쉽고 예측한 작업과 실제 작업시간을 비교할 수 있어 관리, 분석이 편하다.

다만, 작업하기 전 보드에 먼저 쓰고 작업하는 습관이 쉽게 들지 않는다. 그래서 스크럼 마스터가 자주 체크하고 요청해야 한다.





슬랙 - 사내 메신저 겸 게시판으로 사용하고 있다. 채널이라는 개념이 익숙하지 않을 때는 어색해서 잘 사용하지 않았는데 시간이 지날수록 익숙해져서 지금은 잘 사용하고 있다. 채널로 나눠 작업 내용을 공유하고 부재나 지각 체크, 주차관리에도 사용한다. 다만, 파일이나 이미지 등 첨부 파일에 대한 관리는 아쉽다.




페이스북 비밀 그룹 - 사내 인원들만 들어와 있는 비밀 그룹으로 레퍼런스를 공유하는 용도로 사용한다. 페이스북에는 강력하고 간편한 공유 기능이 있다.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5