본문 바로가기

반응형
Notice
Recent Posts
Recent Comments
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

Do Something IT

대박 게임을 만들기 위한 방법론 본문

아낙라이프/아낙의 IT산책

대박 게임을 만들기 위한 방법론

아낙시만더 2013. 5. 28. 14:19
반응형

[기고칼럼] 대박 게임을 만들기 위한 방법론

지국환(desk@inven.co.kr)
인벤에서는 유니티테크놀로지스 코리아의 지국환 에반젤리스트로부터 게임 관련 칼럼을 기고받게 되었습니다. 현역 1인 게임 개발자이면서, 디자인과 프로그래밍 등 다양한 분야에서 지식을 보유한 분으로, 독자들이 쉽게 읽을 수 있는 칼럼을 작성해 주셨습니다. 

* 외부 필자의 원고는 본지의 편집방향과 일치하지 않을 수도 있습니다.





원본 크기로 보시려면 그림을 클릭하세요.
[ ▲ 지국환 유니티 에반젤리스트 ]
지국환 | 유니티테크놀로지스 코리아 에반젤리스트

NHN에서 모션 그래픽 디자이너로 근무하던 중 게임 제작을 위해 퇴사를 결심하고, 이후 게임 업계에서 프리랜서로 활동하며 독학으로 프로그래밍을 공부했다. 유니티 엔진을 접한 뒤 ‘유니티 1인 게임제작 공모전’에서 우승, ‘글로벌 게임잼’에서 1인 팀으로 서울 Top 5에 오르는 등의 성과를 거뒀다. 

공모전을 계기로 유니티코리아에 합류해 에반젤리스트로서, 개발자 컨퍼런스‘유나이트 코리아 2013’에서 진행된 ‘10시간 만에 모바일 게임 만들기’와 같은 게임 제작 프로그램을 진행하고 있다. 더불어 인디 게임 스튜디오 플랜B를 운영 중이며, 개인 블로그를 통해 다양한 게임 제작 프로세스를 공유하고 있다.

지국환 에반젤리스트 블로그 


■ 들어가기에 앞서

‘유니티 에반젤리스트’가 뭔가요?

= 에반젤리스트(Evangelist)는 한국어로 번역하면 ‘전도사’이다. 일반적으로 떠올리는 종교 단체의 전도사와 비슷한 역할이긴 하지만, “유니티는 좋은 엔진이니까 쓰세요!”라고 말하는 단순한 활동이 전부는 아니다. 유니티 엔진을 이용해 다양한 게임프로젝트 및 제작 워크샵을 진행하거나, 여러 유니티 사용자들을 만나 경험담을 듣고 이 내용을 또 다른 이에게 전해주기도 한다. 아직 유니티를 모르는 사람들이 관심을 두고 이용할 수 있도록 정보를 공유하는 역할을 담당하는 것. 

아직 우리나라에서는 에반젤리스트가 드물지만, 제품을 판매하는 외국 기업들 사이에서는 지속해서 생기고 있는 직업군이다. 요약하자면 ‘다양한 방법으로 유니티를 사람들에게 알리는 실제 유니티 개발자’라고 할 수 있다.


■ '대박 게임을 만들기 위한 방법론'이지만, 아직 대박을 내지 못한 사람이 쓰는 글

유니티 에반젤리스트이긴 하지만, 얼마 전 유니티 엔진에 대한 설명을 깔끔히 해주신 알콜코더님의 기고 칼럼을 보고 급하게 내용을 변경했다. 이른바 ‘대박이라 불리는 게임은 과연 어떻게 만들어지는 것인가’란 주제로 이야기해 보려고 한다.

카카오가 ‘게임하기’ 서비스를 공개한 이후, ‘애니팡’과 ‘드래곤 플라이트’를 시작으로 국내 모바일 게임 시장의 규모는 어마어마하게 성장했다. 더불어 모바일 게임 업계에서 대박을 노리는 업체들이 매우 많아졌고, 그 일면에는 게임성이고 뭐고 하나만 터뜨려보자는 한방주의가 만연한 것도 사실이다. 하지만 한방을 실현하는 것이 과연 만만한 일일까? 그래서 이 칼럼을 통해 대박 게임을 만드는 방법은 무엇인가에 대한 방법론적 내용을 설명해보려 한다(물론 본인은 아직 만들어 본 적이 없…).




1. 대박 게임이란?

문제 1) 다음 중 대박 난 게임은 무엇일까?

A. 20억 원을 번 게임
B. 11억 원을 번 게임

정답은 당연히 A. 너무 쉬운 문제였으니 조금 바꿔보자.

문제 2) 다음 중 대박 난 게임은 무엇일까?

A. 10억 원을 들여 20억 원을 번 게임
B. 1억 원을 들여 11억 원을 번 게임


고민되는 문제다. 단순하게 보면 A와 B 모두 실수익이 10억 원이기 때문에 두 게임 모두 대박이 났다고 할 수 있다(10억 원이 결코 적은 돈은 아니므로!). 하지만 우리가 2차 대박을 위해 후속 게임을 만든다면, A와 B 중 어떤 개발방식을 선호하게 될까? 확률적인 측면에서 두 가지 경우 모두 성공을 장담할 수 없다면, 아마 우리는 당연히 B를 선택하게 될 것이다.
▲ A와 B, 보통은 어떤 선택을 하게 될까?


눈치 빠른 사람은 A와 B가 어떻게 다른지 금방 알아챘을 수 있겠지만, A는 온라인게임 개발에서, B는 모바일게임 개발에서 많이 나오는 사례다. 물론 게임 개발에서 수익이 전부는 아니겠지만, 투자비용 대비 효율과 실패 시 감당해야 하는 금액적 리스크 등을 따져봤을 때 B의 경우가 더 안정적인 것은 사실이다. 최근 많은 회사가 온라인 게임보다 모바일 게임 개발에 힘을 쏟고 있는 건 이러한 이유 때문일 것이다.

여하튼 칼럼의 제목이 ‘대박 게임을 만드는 방법론’인 만큼, 일단 B(꼭 모바일이 아니더라도)를 진행하는 과정을 가상으로 체험해 보도록 하자.


2. 대박을 위한 1억 원은 어디에 쓰이는 걸까?

모두가 아는 것처럼, 게임은 자재나 재료가 투입되는 생산성 사업이 아니다. 결국 제작에 사용되는 디자인, 프로그래밍 등의 요소를 모두 사람이 직접 만드는, 결국, 사람이 중심이 되는 무형 산업이라고 할 수 있다. 물론 사무실운영비나 식비처럼 제작 외적인 비용도 있지만, 제작비의 가장 큰 비중을 차지하는 것은 결국 인건비다. 인건비는 보통 ‘제작인원 x 개발기간’에 의해 결정되므로, 1억 원으로 정한 제작비 대부분의 사용처는 이 공식에 따라 정해진다. 즉, 제작인원과 개발기간을 줄일수록 게임 하나를 만드는데 들어가는 비용 역시 절약되고, 그럴수록 처음 목표였던 대박 게임에 더 가까워질 수 있다.

그렇다면 일단 가장 최소한의 인원과 제작기간만 사용하기로 하고 가상으로 계획을 짜보자. 게임개발의 전형적인 파티구성인 기획자, 디자이너, 프로그래머를 배치하고 제작기간은 설계, 제작, 마무리까지 3단계로 나눠, 각각 1달씩, 3개월 정도로 진행해보자. 하루하루 자릿수가 늘어날 통장 잔고 생각에 벌써 가슴이 두근거린다.
▲ 이상적이다! 100의 자원만 회수한다면 대박 게임이 될수 있어!



3. 그런데 다양한 문제가 발생하기 시작했다!

실제 게임을 만들어 본 사람들이 여기까지 읽었다면 이미 ‘허허허…’하고 씁쓸한 웃음을 짓고 있을 수도 있다. 왜 그럴까? 바로 계획과 실제 제작 간에는 꽤 큰 차이가 있기 때문. 계획이라는 것은 ‘개발 중 아무런 문제가 발생하지 않는다’는 것을 전제로 한 일정이기 때문에, 도중에 어떤 문제가 발생하게 되면 그에 따른 다양한 변수로 처음의 계획이 순식간에 틀어져 버리게 된다. 대체 어떤 문제가 발생하게 되는 걸까? 게임 개발 중 발생하는 가장 흔한 문제들을 확인해 보자.

1) 다 만들어놓으니 재미가 없음
2) 리소스 제작의 반복
3) 핵심기능 구현의 어려움
4) 의견충돌, 사내정치, 집단퇴사, 자금부족, 기타 등등

사실 게임제작 중 벌어지는 문제는 이보다 더 다양하다. 하지만 위의 상황들이 발생하는 빈도가 상대적으로 더 많다. 사실 4번의 경우는 사람 간의 문제로, 게임 제작에서 자연재해와 같은 녀석이기 때문에 운좋게 피해 가길 바라는 수 밖에…(물론 극복하는 경우도 꽤 많지만!). 어찌됐든 1, 2, 3번의 문제 탓에 벌어지는 각 상황을 자세히 알아보자.

1) 거의 다 만들어놨는데 생각보다 재미가 없다.

“이런 문제가 생길 수 있나?”라고 생각할 수도 있겠지만, 예상보다 빈번한 문제다. 이런 문제가 발생했을 때 일본의 한 유명 콘솔 회사에서는 ‘밥상 뒤집기’라는 스킬도 시전한다는데, 굳이 설명하지 않아도 이게 무엇인지 한번 쯤 경험해본 분들은 모두 아실 듯. 하지만 돈을 벌기 위해 게임을 만드는 이상, 아무리 맛이 없어도 다 차려진 밥상을 뒤집는다는 것은 결단력 있는 리더라고 해도 결코 쉬운 일이 아니다. 이 문제가 발생하게 되면 결국 밥상을 뒤집든 보완 작업을 하든 개발기간은 계속 증가하는 게 일반적이다. 하지만, 어설픈 보완 작업보다는 시원하게 뒤집는 것이 더 빠를 때도 있다.

▲ 슬프지만 모든 것을 뒤집어야 할 때가 있다.


2) 반복되는 리소스 제작

사실 기존의 게임 개발방식에서, 디자이너는 자신이 만든 디자인이 제대로 구현되는지 개발자가 프로그램상에 올리기 전까지 확인할 수 없다. 개발자 역시 디자이너가 뭔가 만들어주지 않으면 개발을 진행할 수 없다. 한 명 씩 차례로 진행해야 작업이 가능하므로, 제작 초기 단계에서 서로의 의사전달이 명확하지 않으면 캐릭터 하나를 화면에 띄우는데도 반복적인 수정작업을 해야 하는 사태가 발생한다. 이 때문에 결국개발기간은 또 증가한다.

▲ 캐릭터 또 새로 만들어줘야 하니...


3) 핵심 기능 구현의 어려움

이 경우는 약간 독특하다. 기획단계에서 게임을 어렵게 구현을 했다거나 메인 개발자의 능력이 모자라는 등 다양한 이유가 있겠지만, 공통적인 원인은 이렇다. 새로운 무언가를 만드는 것은 다양한 시행착오를 거쳐야 한다는 것. 게임의 새로운 기능을 만드는 것은 물론, 검증되지 않은 새로운 툴로 그 기능을 구현한다는 것은 더욱 어려울 수 밖에 없다. 다양한 시행착오를 단시간 안에 경험하고 해결할 수 있다면 다행이지만, 그렇지 못하다면 개발기간은 역시 또 증가한다.

▲ 어떻게 해야할지 더 이상은 모르겠어…


이런 문제들 탓에 개발기간은 계속 증가하게 되고, 처음 계획에서 사용하기로 했던 예산을 넘어서 추가비용이 발생해 프로젝트는 결국 아래 그림과 같이 되고 만다. 위의 문제들과 더불어 프로젝트가 연장되는 또 하나의 이유는 게임이라는 제품의 ‘완성’ 기준이 사람마다 각기 다르기 때문에(심지어 같은 팀 내에서도), 추가 사용자원에 대한 예측이 항상 빗나갈 수밖에 없다는 것이다.

▲ 프로젝트가 더디게 진행되지만 그 동안에도 월급은 나간다


4. 대박 게임을 만들려는 방법을 알면 이런 문제들을 해결할 수 있다!

지금까지 B가 대박 게임이라는 생각으로 계획을 세우고 진행했지만, 위에서 언급한 다양한 문제들 덕분에 프로젝트는 슬프게도 A의 예산에 가까워지고 있었다. 결국, B를 A와 같이 만드는 이런 문제들이 대박 게임 제작을 방해하는 요소가 된다는 이야기다.

하지만 단순하게 반대로 생각해보면 B가 A로 변하는 것을 막는 그 자체가 대박 게임을 만드는(가능성을 높이는) 방법이라고 유추해 볼 수도 있지 않을까. 그것이 바로 이 글의 목적이기도 하다. 그렇다면 B가 A로 변하는 과정에서 발생한 문제들의 간단한(?) 해결책을 살펴보자.

1) 거의 다 만들어놨는데 생각보다 재미가 없을 때 - 빠른 프로토타입 제작으로 극복

이 경우에서 가장 큰 문제점은 ‘거의 다 만들었는데’라는 것이다. 사실 게임의 기획은 사람의 머릿속에서 나오기 때문에, 게임이 출시되고 실제로 플레이해보기 전까지는 재미가 있는지 없는지 100% 확신할 수 없다. 밥상 뒤집기가 필요한 경우가 생기는 것도 이 때문이다. 그렇기에 ‘밥상이 다 차려지기 전 주방에서 간보는 시점’에 좀 더 확실히 하는 것이 뒤에 엎어질 밥상을 막는 효과를 내지 않을까 생각한다. 

그렇다면 간을 보는 시점은 언제일까? 일단은 간단하고 빠른 프로토타입 제작과 테스트를 통해, 이 게임이 재미가 있나 없나를 판단해보는 것이 중요하다. 프로토타입을 오랜 시간에 걸쳐 제작하면 다 만들어진 것이 아쉬워 그냥 그대로 진행할 수가 있는데, 이때의 결단력이 추후 밥상 뒤집기를 사전에 방지하는 데 큰 역할을 하게 될 것이다.

2) 리소스 제작이 반복되는 경우 –개발자와 디자이너, 같은 프로그램에서 만나기

같은 리소스를 반복해서 만드는 문제의 1차적인 해결 방법은, 한가지의 명확한 샘플과 제작 기준을 구성하는 것이다. 더불어 최종 결과물을 뽑을 때, 디자이너와 개발자가 같은 프로그램을 사용하는 것도 좋은 방법이다. 디자이너는 디자인 프로그램을, 프로그래머는 코딩용 툴을 각각 사용하는 것보다 둘이 같이 눈으로 확인하며 작업할 수 있는 통합적인 엔진을 사용하는 것이 큰 도움이 된다. 디자이너는 게임 내에 디자인이 적용된 모습을 직접 확인할 수 있고, 개발자는 디자이너와의 소통에 걸리는 시간을 줄일 수 있다.

3) 핵심 기능 구현이 어려울 때 – 다양한 제작 사례가 있는 검증된 툴 사용

매번 새로운 툴을 사용해 개발하게 되면 그때마다 시행착오를 겪을 수밖에 없다. 하지만 사내 개발 툴을 통일하고 발생하는 시행착오들을 참고용 데이터화 시켜 반복되지 않게 한다면, 지속적인 문제의 발생을 막을 수 있을 것이다. 물론 처음에는 당연히 시행착오를 겪겠지만, 이 과정들이 하나씩 쌓이다 보면 언젠가는 문제가 거의 없는 결과를 얻게 되지 않을까? 더불어 다른 제작자들과 다양한 사례를 공유하는 것도 개발에 많은 도움이 된다. 

내가 만들고자 하는 특정 기능이 전 세계 수많은 사람이 만든 결과물에 이미 들어있을 수도 있고, 다른 사람이 제작한 데이터를 살펴보고 ‘왜 이렇게 했을까?’라고 분석한 고민을 공유한다면 생각보다 쉽게 문제를 해결할 수도 있을 것이다.


5. 결론

사실 결론은 간단하다. 위에서 언급한 문제들이 발생하지 않게 노력하는 것. 이것이 바로 대박 게임을 만들기 위한 방법의 하나라고 말할 수 있다. 보통은 제작인원을 늘릴 생각은 쉽게 하지 않지만, 별생각 없이 개발기간을 늘리는 사례는 흔하게 볼 수 있으니 말이다. 지금 게임을 만들고 있는데 진행속도가 더딘 것 같다면, 위에서 말한 3가지 사항이 잘 지켜지고 있는지 점검해보자.

1) 프로토타입, 빨리 만들고 객관적으로 테스트하고 과감히 버리자.
2) 디자이너와 엔지니어는 함께 사용 가능한 툴을 통해 커뮤니케이션 오류를 줄이자.
3. 기획과 유사한 다른 게임의 제작 실례를 살펴보고 제작하자.(물론 카피말고...)


사실 본인보다는 실제 개발하시는 분들이 더 많이 아시겠지만, 실제 개발자(디자이너나 기획자도 마찬가지) 처지에서는 각자 진행해야 할 일이 있기 때문에 이 모든 문제를 신경을 쓸 여유 생각보다 부족하다. 게임을 개발하면서 프로젝트에 투입된 비용을 고민하는 사람이 얼마나 될까? 그리 많지는 않을 것이다.(본인 역시 그랬었고…). 그러므로 만드는 인원 모두가 프로젝트의 제작기간을 매번 상기하고, 구성원들끼리 서로의 일정을 신경 쓰며 최대한 배려해주는 것이 대박에 접근하는데 커다란 도움이 될 것이다.

물론 게임을 만드는 목적이 모두 돈은 아니겠지만, ‘찰리 채플린’도 이렇게 말했다. “인생에서 필요한 건 용기와 희망, 그리고 약간의 돈이다”라고. 

누군가는 요즘 게임이 너무 많이 출시된다며 게임업계가 이미 ‘레드오션’ 혹은 ‘끝물’이라고 하지만, 그 사이에서도 대박 난 게임은 계속 나오고 있다. 대박 게임을 만드는 그날까지, 게임을 개발하는 사람들 모두가 용기와 희망을 품길!

P.S- 글을 쓰는 중 회사의 어떤 분이 “대박 게임을 만들지도 못한 사람이 이런 글을? 푸하하하”라고 말해 굉장히 슬퍼졌다. 아무쪼록 이 칼럼은 방법론일 뿐이니 너그러이 이해해 주길 바란다.

다음 칼럼은 게임을 제작하면서 발생하는 문제의 해결책 중 하나인 ‘프로토타입, 빨리 만들고 객관적으로 테스트하고 과감히 버리자’를 주제로 작성해보려 한다. 신속하게 프로토타입을 제작하는 데 필요한 것들, 그리고 그 과정에 관한 이야기가 될 듯하다.
출처 : 바로가기


반응형
Comments