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

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





[ ▲ 지국환 유니티 에반젤리스트 ]
지국환 | 유니티테크놀로지스 코리아 에반젤리스트

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

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

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


▷ 들어가기에 앞서

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

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

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




■ 프로토타입, 과연 게임개발에서 어떤 의미가 있는가.

주변에 게임회사 다니는 친구들이 있다면 '너는 요즘 무슨 일해?' 라고 한 번 물어보자. 아마 제작팀에 속해 있다면 절반 이상에게“요즘 프로토타입 만들고 있어” 이라는 대답을 들을 수 있을 것이다. 혹시나 이 글을 읽는 본인이 게임제작에 종사하는 사람이라면? 본인 역시 프로토타입을 만드는 중일 수도 있다. 8월 중 본인의 직업 특성상 전국을 돌며 게임업계 개발자분들과 학생분들 앞에서 강의 할 기회가 있어 수많은 사람들을 만날 수 있었는데, 그 중 80%이상에게 '프로토타입 만들고 있습니다.'라는 이야기를 들었다.

그만큼 프로토타입을 만든다는 과정은 게임업계에서 가장 많이 진행되고 있는 일이며, 그만큼 게임개발에 있어 굉장히 중요한 일인라는 생각이 든다. 게다가 말의 뉘앙스 역시 “나 프로토타입 만들고 있어” 라니, “매일 난 컴퓨터 앞에 앉아 있어” 보다 뭔가 있어보이지 않는가.


1 .왜 우리는 프로토타입을만드는가.

설마 '프로토타입이 뭔데요?' 하고 물어보는 사람이 있을까…싶긴 하지만서도 '프로토타입'이라는 게임이 워낙 유명하기 때문에 게임 이름으로 알고 있는 사람을 본적도 있으니, 그런 이들을 위해 위키백과의 프로토타입에 대한 정의를 보고 글을 시작하려 한다.

▲ 찾다가 처음으로 프로토스의 뜻도 알게 되었다


[ ▲ 이거 아닙니다. ]

위에서 보다시피 프로토타입이란 대량으로 양산되기전의 시제품을 의미하고, 게임업계에도 비슷한 의미로 본격적인 게임 제작작업이 들어가기 전, 플레이가 가능한 정도의 테스트용 게임을 의미한다.

지금 이 순간에도 많은 회사들, 소규모 게임 개발팀, 개인개발자들이 프로토타입을 만들고 있고 큰 회사에서는 안타깝게도 개발중 중단되는 프로토타입이 많다는 이야기도 들리고, 어떤 경우는 프로토타입을 위해 몇 달씩 시간을 투자하고 있다는 이야기도 들린다.

프로토타입의 종류가 다양하고 개발자들 역시 다양하기 때문에 “왜 프로토타입을 만드는가?” 라는 질문을 한다면 굉장히 다양한 이유를 들을 수 있다. 그 중 그럴싸하면서도 이상하지만, 어쨌든 가장 많이 듣는 이유는 이렇다.

“게임을 만드는 시간보다 프로토타입을 만드는 시간이 적게 걸리니깐요.”

얼핏보면“맞아맞아” 하고 싶기도 하지만 이것이 프로토타입을 만드는 이유는 아니다. 게임 만드는 것보다 시간이 적게 걸리니까 프로토타입을 만든다고? 시간이 적게 걸린다는 것은 게임에 비해 프로토타입의 제작기간이 짧다는 프로토타입의 장점이다. 우리가 실제 프로토타입을 만드는 진짜 이유는 바로 “완성된 게임을 만들기 위해”서다. 헷갈리면 안된다.

보통 이런 시간이 짧게 걸린다는 이유 덕분에 완성 될 게임은 안 만들고, 프로토타입을 위한 프로토타입이 계속 제작되는 경우도 드물지 않다고 한다. 물론 그 역시 R&D적인 측면에서 나쁘다고 볼 수는 없지만, 궁극적인 프로토타입 제작 이유인 “완성된 게임을 만들기 위해!”서라는 목적을 망각한 채 프로토타입만을 계속 찍어내는 사태가 발생하기도 한다는 것.

그런 사태를 방지하기 위해선 프로토타입 제작이 게임을 만들기 위해 어떤 역할을 하는지 먼저 짚어볼 필요가 있다. 프로토타입의 역할을 알아야 어느정도의 프로토타입을 만들어야 할지 가늠이 되고 필요없이 프로토타입을 위해 낭비되는 시간을 줄일 수 있기 때문이다.

▲ 프로토타입은 결국 틀이다. '게임을 제작할꺼야!' 라는 최종 목적을 잊어선 안된다.


2. 프로토타입의 역할.

사실 게임의 종류는 결코 적지 않고, 게임회사마다 각각의 개발 방식의 차이가 있기 때문에 프로토타입의 역할을 몇가지로 정의할 수는 없지만(정의해버리는 순간 나올 어마어마한 길이의 논문급악플…무섭습니다.) 대부분의 프로토타입은 다음과 같은 용도를 위해 제작된다.

ㄱ. 후다닥 대충 만들어서 과연 정말 재미있는지 테스트해 볼 용도.(재미 확인)
ㄴ. 고퀄리티의 게임을 만들고 싶은데 얼마나 리소스 사용이 가능할지 테스트해 볼 용도.(볼륨 확인)
ㄷ. 특정 장르의 게임 제작 과정이 어느 정도인지 테스트해 볼 용도.(프로세스 확인)
ㄹ. 투자자나 퍼블리셔에게 소개할 용도.(완성도 확인)


등등... 뭐 이외에도 다양한 역할들이 있겠지만 사실 프로토타입을 제작하기 이전에 앞서 중요한 건 정말 지금 우리가 만드는 프로토타입이 저 중 어떤 역할을 하는 것인가를 파악하는 것이다. 그리고 각각의 역할에 따라 투자해야 할 시간 역시 다를 것이다. 간단히 살펴보자.

ㄱ. 후다닥 대충 만들어서 과연 정말 재미있는지 테스트해 볼 용도. (재미 확인)

“후다닥”, “대충” 이라는 말이 저렴해 보일 수 있지만 정말 말 그대로 “후다닥” 과 “대충” 만들어 확인해 보는 정도의 용도로 제작을 해봐야 하는 경우가 있다.

기존에 있던 형태의 게임이 아닌 약간 새로운 타입의 게임을 시도해 볼 때 이런 프로토타입을 제작하게 된다. 전의 글에 어떤 분이 댓글로 새로운 게임의 프로토타입을 만드는 건 말처럼 쉬운 일이 아니라고 한 적 있는데, 물론 완벽하게 새로운 게임의 프로토타입을 “후다닥” 만든다는 것이 어렵다는 건 사실이다.

하지만 지금 우리가 만들 프로토타입은 최적화, 그래픽 리소스 설계, 레벨 디자인 등등, 그런 실제 게임을 위해 필요한 요소들을 모두 배제한 채 지금까지 개발자들이 업계에서 쌓아온 라이브러리와 오픈소스를 그냥 총 동원해 일단 실행해서 “재미가 있을지 없을지 감이나 잡아보자”는 것이 목적이다. 절대 이것을 제작하면서 힘을 빼고 스트레스를 받을 필요도 없다. 어차피 코드는 나중에 다시 설계한다는 가정하에 스파게티 코드든 짜장면 코드든 신경쓰지 않고 제작한 뒤, 일단 실행해서 팀원들 모두 “좋아! 이 정도면 뭔가 가능성이 있겠어!” 라는 확신을 얻기 위한 프로토타입 제작이 될 것이다.

이 것에 대한 완성도를 올린다거나 할 필요 전혀 없다. 게임의 가장 중요한 메인 피쳐와 간단한 타격감 등과 같은 연출 정도만을 목표로 하고 제작하는 것이 중요하다. 단, 실행을 해보고 모든 멤버들이 "좋아!! 재밌어!! 한번 해볼까!!" 하는 시점이라고 해서 절대 그 스파게티 코드를 가지고 실제 프로젝트로 연결하려는 짓은 하지 않기를 바란다. 추후 회사가 초상집으로 바뀔지 모른다.

▲ 프로토타입은 목적을 다했다면 참고용으로만 사용하자.


ㄴ. 고퀄리티의 게임을 만들고 싶은데 얼마나 리소스 사용이 가능할 지 테스트해 볼 용도. (볼륨 확인)

-요즘이야 게임을 위한 디바이스의 사양이 계속 좋아지고 있지만, 사실 아직까지 저렴한 휴대폰을 쓰는 사람이 있는 건 무시할 수 없는 일이다. 아무리 우리가 몬스터 100마리 나오는 게임을 만들고 싶더라도 과연 그것이 돌아가는지에 대한 체크를 하기 위한 프로토타입 역시 필요할 때가 있다는 말. 이 경우에는 일단 게임에서 쓸 수 있는 최대한의 리소스 한계점을 알아야 한다. ('한 씬당 15000폴리곤' 이런식으로 말이다.)

이런 경우의 프로토타입을 제작할 때는 게임이 동작하는지 혹은 재미가 있는지는 크게 신경쓰지 말고, 일단 쓸 수 있는 리소스의 한계점을 정의하는 데 주력하자. 게임에서 사용되는 오브젝트들을 일명 복붙(Copy&Paste)으로 분량을 늘려 실제 우리가 출시하려는 대상 디바이스(PC, 모바일)에서 잘 동작하는지 체크하는 데 중점을 둔다. 추후 코딩이 들어가면 다르지 않겠냐는 의문도 물론 있겠지만, 어떠한 게임이든 가장 먼저 체크가 가능한 것은, 결국 리소스의 한계 내에서 게임이 프레임이 끊기지 않고 돌아가는지에 대한 확인이다. 단, 이미 각각의 디바이스별 리소스 한계를 확실히 알고 있다거나 굉장히 작은 규모의 게임을 만든다면 사실 이런 프로토타입을 만들 필요는 없어보인다.

▲ 필자가 프로토타이핑중인 게임. 단순 볼륨체크는 무식하고 빠르게!


ㄷ. 특정 장르의 게임 제작 과정이 어느 정도인지 테스트해 볼 용도. (프로세스 확인)

실제로 요즘 나오는 모바일 게임은 캐주얼하고 게임 메커니즘 자체가 단순한 게임이 많다. 그래서 새로운 기능을 몇 가지 추가한다 하더라도 단순히 플레이를 테스트하기 위함이라면, 1번 사례와 같이 순식간에 프로토타입을 뚝딱 찍어내는 경우가 많다. (게임이 워낙 많아 완성된 게임을 레퍼런스로 많이 사용한다는 것도 한 몫 한듯.)

빠르게 특정 장르의 프로토타입이 제작이 간단하다는 것을 모두가 알고, 유사한 게임을 수없이 봤기 때문에 프로토타입제작에 시간 낭비 하지 않아도 될 것 같은 상황이다. 이럼에도 굳이 프로토타입을 만들어보는 경우가 있는데 그런 경우는 대부분 제작과정, 그 자체를 살펴보기 위한 프로토타입인 경우가 많다.

이 경우에는 프로토타입의 실행 여부보다는 제작과정에서 어떠한 인력과 어떠한 게임 리소스, 기능, 그리고 지금과 같은 프로세스로 게임을 제작시 고려해야 할 여러가지 문제들을 파악하는 역할을 맡게 된다. 특정 장르의 게임을 만들기 쉽다는 이야기를 많이 들었어도 그 게임을 만드는데 필요한 요소들을 파악하기 위해선, 이미 알려져 있는 프로세스에 따라 프로토 타입을 직접 만들어 보는 것이 좋기 때문이다.

프로토타입의 목적은 앞에서 말했다시피 “완성된 게임을 만들기 위해!”서다. 프로토타입을 제작하며 프로세스에 대한 각종 변수와 문제 발생의 타이밍을 찾는다고 생각하며 진행한 뒤, 각 분야(기획과 디자인, 개발)에게 게임을 만들 때 주의할 것들을 전달한다는 것이 지금 하는 일이라는 것을 잊지 말자.

▲ 나중에 발생할 문제를 미리 수거한다고 생각하며 작업하자.


ㄹ. 투자자나 퍼블리셔에게 소개할 용도. (완성도 확인용)

프로토타입의 역할에서 가장 힘든 역할 중 하나라고 생각한다. 마치 숙제를 해 가듯 이것저것 그때그때 고쳐가면서 보여줘야하는 상황일지도 모르겠다. 이런 용도의 프로토타입은 우리를 위한 게 아니다. 완성도를 남에게 보여주기 위함이기 때문에 앞의 세가지 역할과 같이 진행한다면 단순하게 기능 체크나 프로세스 확인을 위해 제작중임에도 불구하고, 클라이언트의 요구 때문에 억지로 지금의 프로토타입에 그래픽 퀄리티나 모션, 이펙트 등을 추가하는 작업이 병행이 되는 경우가 있다.

하지만 이렇게 한 개의 프로토타입에 모든 역할을 넣어 진행하면, 인력과 기간을 많이 소모했음에도 결국 프로토타입을 위해 제작된 코드의 한계 때문에 이도저도 안 되는 위험한 상황이 발생할 수 있다. 또한 이 때 “만들어둔 게 아까우니 계속 진행합시다”라는 타협을 한다고 가정해보자. 아마 한 달 뒤 '그 때 처음부터 다시 할걸...'이라는 생각을 하게 될 가능성을 배제할 수 없다.

따라서 이런 경우에는 앞 단의 기술적 확인을 위한 프로토타입과는 별개로, 완성된 그래픽 리소스를 하나씩 얹어서 정말 보여주기 위한 프로토타입을 만드는 것이 좋지 않을까 생각해본다. 결국 제작을 잘 모르는 사람들이 보는 건 스크린으로 보이는 완성중인 화면이지, 보이지 않는 곳에서 돌아가고 있는 코드 더미가 아니기 때문이다. 절대 박스로만 이루어진 플레이형 프로토타입이 모자라다는 것은 아니다. 보고를 위한 프로토타입 역할은 그렇다는 것이다. 물론 실제 게임을 위한 프로토타입 제작 역시 병행되어야 할 것이다.

▲ 보여주기 위한 프로토타입은 그야말로 보여지는데 초점을 맞추자.


3. 프로토타입, 그 이전.

약간 쌩뚱맞을 수 있지만 우리가 굉장히 비싼 바닷가재로 요리를 한다고 생각해보자. 자신만의 독특하고 맛있는 바닷가재 요리를 만들기 위해 가장 중요한 것은 무엇일까.

1. 요리책을 보고 바닷가재 요리법을 익힌다.
2. 비슷한 새우로 먼저 요리를 해본다.
3. 잘 만든 바닷가재 요리를 먹어본다.


센스가 있는 사람이라면 어떤 비유를 하고 있는지 충분히 눈치챘을 것이다.

중요한 것은 3번인 잘 만든 바닷가재 요리가 어떤 것인지 먼저 먹어봐야 한다는 점이다. 일단 바닷가재 요리가 어떤건지는 좀 알아야, 요리를 하더라도 어떻게 한다는 감이 오지 않을까. 물론 진짜 바닷가재를 먹으려면 돈이 많아야 한다는 문제가 있지만 게임이라면 다르다. 다행스럽게도 게임개발의 열풍으로 인해 다양한 종류의 멋진 게임이 굉장히 많고, 좋은 게임을 많이 해보는 것은 무턱대고 프로토타입을 만들 때와는 다른 무언가를 깨닫게 해줄 수 있을 것이다.

본인에게 물어보자. 나는 지금 다른 이들이 만들어 놓은 게임을 즐겁게, 분석적으로 즐기고 있는가? 요즘 필자는 아쉽게도 그러지 못하고 있다. 하지만 이 부분이 중요하다는 것은 항상 잊지 않으려 한다.


4. 결론, 더 중요한 프로토타입, 그 이후.

프로토타입에 대한 이야기를 했지만 실제 게임 제작과정에서 가장 중요한 것은 프로토타입보다는 그 이후의 일이다. 프로토타입을 통해 얻은 데이터와 경험은 결국 우리의 처음 목표였던 “완성된 게임을 만들기 위해!”라는 이유를 위해 생겼다는 사실을 잊지 말자. 많은 회사와 개발자들이 프로토타입에서 만족, 혹은 좌절을 하고 다음 스텝을 밟기 힘들어 한다는 이야기를 들었다. (본인 역시 프로토타입에서 멈춘 것만 10개가 넘는듯…)

프로토타입이 재미있다고 해서 완성된 게임이 모두 재미있는 것은 아니지만, 프로토타입이 재미가 없는데 완성된 게임이 재미있었다는 경우는 거의 들어본 적 없다. 그만큼 프로토타입은 완성된 게임을 위해 중요한 첫 단추다. 하지만 첫 단추가 잘 꿰어진다면 나머지 단추 모두 잘 꿰는 것 역시 중요하다. 첫 단추를 꿰느라 힘을 모두 써 다른 단추를 꿰지 못하는 것은 첫 단추에게도 큰 의미가 없다는 뜻이다.

10개의 프로토타입을 거쳐 1개의 실제 게임이 제작이 된다는 것은 어찌 생각하면 굉장히 아깝고 비효율적이긴 하다. 하지만 비효율적인 프로토타입을 제작했던 과정은 바로 저 1개의 “완성된 게임”이 나와야 어떠한 의미라도 갖지 않을까. 그대로 출시해도 상관 없을 정도로 퍼펙트한 프로토타입이 나오기 어려운 것처럼, 아무것도 건지지 못한 프로토타입이라는 것도 없다.

시간이 있을 때 한 번 프로토타입으로 멈춰져 있던 프로젝트들을 다시 한번 열어보자. 그래도 이 프로젝트를 통해 무언가 한 개 쯤은 건졌다는 것이 있지 않은가? 그 하나하나가 모여 완성된 게임으로 가는 길을 열어 주는 역할, 그것이 바로 프로토타입의 역할인 것이다.