게임 개발자라는 꿈을 갖게 되고 본격적으로 게임 개발자로서의 길을 걷기 시작한 후 세 달.
어떤 방향으로 공부하고 취업까지 성공할 수 있을까 고민하던 시기에 42서울 카뎃인 nasong님이 인디게임 개발 프로젝트인 스마일게이트 챌린지를 알려주었습니다.
좋은 기회라 생각해 곧바로 신청했고 운이 좋게도 합격할 수 있어 챌린지를 시작하게 되었습니다.
이 글은 세 달간 스마일게이트 챌린지 시즌3에 참여해 다양한 사람들을 만나보고 팀장이 되어 팀을 꾸려 팀원들을 이끌고 하나의 게임을 시연하기까지의 여정이 담긴 글입니다.

개인에서 팀이 되기까지
챌린지는 시작하자마자 팀을 만들고 바로 게임 개발을 시작하지 않았습니다.
4주의 시간동안 약 서른 명이 넘는 참가자들이 다양한 액티비티 강연을 통해 서로의 얼굴을 익히고 대화를 하며 서로 어떤 게임을 만들고 싶은지 어떤 목표를 가지고 챌린지에 참가했는지 알아가는 시간을 가졌습니다.
이 때 주 내용은 팀 빌딩에 관한 내용이었는데 여기서 신기했던 점은 42서울의 창의캠프에서의 내용과 비슷했던 점이었습니다.
좋은 팀이란 무엇이고 팀프로젝트를 할 때의 마음가짐을 액티비티한 활동을 통해 알아가고 각 참가자들끼리 서로의 경험을 공유하면서 좋았던 팀프로젝트, 좋지 않았던 팀프로젝트에 대해 대화하는 시간들을 가질 수 있었습니다.
4주의 시간이 지나고 본격적인 게임 개발을 위한 팀 빌딩이 이루어졌습니다.
이 때 대부분의 팀들이 유니티를 이용한 게임 개발을 목표로 했지만 저는 언리얼을 이용한 개발을 하고자 했고 뜻이 맞는 4명의 사람들과 팀을 이뤘습니다. 그렇게 팀 ¡Hola! 가 결성되었습니다. (스페인어로 안녕! 이라는 뜻을 가진 단어 ¡Hola!)
챌린지에서 챌린지하기
팀이 결성됐을 때 팀에는 두 개의 문제가 있었습니다.
하나는 프로그래머 4명 기획자 1명으로 그래픽을 담당할 인원이 없다는 것.
또 다른 하나는 언리얼 C++입문을 막 뗀 저와 블루프린트를 조금 만져본 다른 한 명을 제외한 나머지는 언리얼 엔진이 처음이라는 것이었습니다.
그래픽에 관한 부분은 가능한 스마일게이트에서 지원되는 창작지원금을 이용해 에셋들을 구매해 사용하고 디테일한 부분은 언리얼엔진에서 제공되는 컨트롤 릭이나 애니메이션 리타기팅 기능을 직접 배워 해결하기로 했습니다.
후자의 문제는 모두가 처음이니 개발과 기술습득을 동시에 병행하면서 열정을 쏟아보자 하고 진정한 챌린지의 마음가짐으로 시작했습니다.
개발보다 더 어려웠던 기획
게임 개발을 본격적으로 시작하기 전에 우선 게임을 기획하는 것이 우선이었습니다.
처음 팀원들을 모을 때는 협동, 퍼즐, 액션 이렇게 3개의 키워드를 가지고 멀티플레이 게임을 만들어보고자 했지만 두 달이라는 짧은 시간동안 여러 명의 인원이 플레이할 수 있는 환경을 만들기에는 턱없이 부족했습니다.
첫 팀 회의에서 멀티플레이라는 요소를 빼고 퍼즐과 액션 이렇게 두 개의 키워드를 기준으로 잡은 후 기획을 시작했습니다.
기획을 짤 때에 각자 하나씩 낸 의견을 한번에 종합해 하루만에 약 30페이지 분량의 기획서로 만들어준 기획자분께는 아직도 감사하고 이것이 바로 기획자?! 하는 경험과 함께 기획자는 대단한거구나 ㅎㅎ 라는 경험을 했습니다.


퍼즐과 액션 두 가지의 키워드를 가지고 기획을 하는 것도 상당한 난항을 겪었습니다.
어떤 느낌으로 만들면 좋을지 다양한 게임들을 참고하며 각 게임들의 특징들을 골라 이런 요소 저런 요소 각자의 경험에서 재미있었던 요소들을 골라내며 저희 게임에 적용시켜보고 재밌을까? 이 요소가 들어가도 자연스러울까? 등의 생각을 했고 가장 중요했던 것은 과연 우리가 구현해낼 수 있을까? 하는 것이었습니다.
기획이 아무리 멋들어지게 나와도 결국 구현하지 못하는 영역이라면 그건 정말 기획에 불과하고 마는것이니까요.
기획을 할 때 가장 인상깊게 남았던 점은 게임에서 무기와 퍼즐의 비중을 정하는 부분이었습니다.
기획한 게임이 퍼즐을 해결하며 몬스터도 잡는 컨셉이었기에 생겼던 이슈였는데
무기가 강력하다 → 단순 몬스터 사냥 게임이 될 수도 있다
퍼즐이 어렵다 → 구현이 어려워질 수 있고, 퍼즐이 중심이라면 몬스터는 그냥 장식이 될 것인가?
이렇게 두 개의 의견으로 나누어 졌습니다.
운이 좋게도 첫 4주간의 특강 기간동안 기획 특강을 해주셨던 스마일게이트의 이현규 부책임님께서 챌린지 참여 인원들을 위한 디스코드 채널을 만들어 주셨고, 이 때 저희가 기획에 대한 조언을 구하자 흔쾌히 2시간이 넘는 시간동안 기획에 관한 디테일한 조언들을 해주셨습니다.
팀원들끼리 회의를 할 때는 퍼즐 무기 둘 중 하나만 비중을 두는 것으로 생각을 했는데 부책임님께서 조언을 해주자 시선이 달라졌습니다.
꼭 하나만 비중을 두는 것이 아닌 게임 플레이 시간이 지남에 따라 둘의 비중을 서로 바꾸면 되지 않느냐는 조언을 주었습니다.

꼭 하나의 요소만 스포트라이트 될 필요가 없던 것인데도 직접 조언을 들었을 땐 “왜 이렇게 생각할 수 없었지?” 하는 약간의 충격이 있었습니다.
그 동안 나는 게임을 제대로 파악하고 즐긴 것이 아니라 그냥 생각없이 하기만 했구나 하는 반성도 하게되었습니다.
개발시작..전 팀 룰 세팅
개발을 본격적으로 시작하기 전에 원활한 개발을 위해 공통적인 팀의 규칙과 프로그래머들이 사용할 코딩컨벤션 등을 정했습니다. 또 온라인으로 작업을 하기 때문에 깃허브를 이용한 공유 환경 세팅도 했습니다.

깃허브를 사용하는 것 또한 난관이었는데 저는 42서울을 진행하면서 팀플을 할 때 깃허브나 지라 등 협업툴을 사용해보고 “기업형 PBL”을 진행하면서 이슈트래킹이란 무엇이고 어떻게 하는것이 좋은지에 대해 어느정도 알고 있었지만,
나머지 팀원들은 깃허브라는 이름정도만 알고있고 기획자 분은 깃허브가 무엇인지도 모르는 상태였기에 원활한 팀플을 위해서는 깃의 간단한 사용법을 먼저 익힐 필요가 있었습니다. (프로젝트가 끝나고 기획자분은 깃의 ㄱ만 들어도 소름이 돋는다는 말을 했습니다 ㅋㅋ)
블로그에 간단한 깃허브 사용법을 정리해 팀원들에게 공유하기도 하고 각자 이슈를 등록하고 작업을 커밋할 때 디스코드 화면공유를 이용해 어떻게 해야하는지 하나하나 봐주기도 했습니다.
이제 본격적인 개발을 시작하기 위한 준비가 됐습니다.


개발 시작! 끊임없는 타협의 연속
본격적인 개발을 시작하고 난 후 팀원들과 가장 많이 했던 말은 ‘욕심을 버리자’ 였습니다.
기획 단계에서 이것도 있으면 재미있을거고 또 저것도 있으면 재미있을 거 같다 하며 다양한 요소를 넣어뒀었는데 막상 개발을 시작하니 어디까지 어떻게 구현해야 할 것인가? 하는 고민들이 생기기 시작했습니다.
두 달도 채 안되는 시간동안 현재 팀의 실력이 구현할 수 있는데까지 구현하려면 포기해야하는 디테일한 것들이 많았습니다.
또한 학생인 팀원들이 있었기 때문에 개발에 100% 참여가 가능한 상황도 아니었기 때문에 더 많은 것들을 타협해야 했습니다.
게임 요소의 디테일한 설정들은 최대한 배제하고 우선 돌아가는 게임을 만드는 것이 중요했습니다.
게임의 ‘완성’을 목표로 두고있긴 했지만 이 완성이란 하나의 완벽한 게임이 아닌 저희가 보여주고자 하는 최소한의 게임적인 요소들을 ‘플레이할 수 있는 상태’로 만드는 것이 가장 최우선의 목표가 되었습니다.
처음 개발을 시작했을 때에는 튜토리얼 맵을 만들어서 우리가 가진 기능들을 최소한으로 경험할 수 있게 하고자 했지만 개발 도중 메인 스테이지를 만들고 메인 스테이지를 전부 완성하지 못해도 절반정도만 구현하는 것이 더 좋을 것 같다는 의견이 나왔고 튜토리얼 맵은 잠시 중단하고 곧바로 메인 스테이지의 맵 디자인과 퍼즐설계를 시작했습니다.
동시에 AI, 캐릭터, 무기시스템 등등 코어 기능들 또한 개발을 진행했습니다.
또 다른 타협으로는 근거리 무기와 원거리 무기 모두 설계하고 개발을 시작했지만 근거리 무기의 애니메이션, 이펙트, 데미지 로직 등을 구현하다보니 원거리 무기의 개발을 시간 내로 할 수 없게 되어 원거리 무기 또한 사용하지 못하게 되었습니다.
42서울 이너서클을 진행할 때는 기간을 딱 맞게 세워두고 개발을 진행하기보다는 구현해야하는 맨댄토리 과제들이 있었고 이에 맞춰 학습 → 개발의 연속이었기에 직접 기획하고 구현하는 챌린지는 또 다른 경험이었습니다.
Github Milestone을 이용해 정해둔 일정이 하나하나 밀리는 걸 보고 있자니 왜 게임개발사들이 출시 일정을 뒤로 미루는지 이해가 되었습니다.
두 달간 욕심과 현실 사이에서 정말 많은 타협이 이루어졌고 개발을 하면서도 과연 시연일에 맞춰서 이 게임이 시연할 수 있는 수준으로 완성될 수 있을까? 하는 의문이 끊임없이 들었습니다.
그런 불안감에도 할 수 있는건 역시 꾸준히 개발을 하며 기능을 하나하나 추가해 나가는 것뿐이었습니다.

대망의 시연날. 불안 + 설렘
시연일 당일. 저희 팀은 다 함께 밤을 새고 스마일게이트 본사에 갔습니다.
마지막 빌드 파일을 만드는 데까지 생각했던 것보다 다양한 버그들이 나오고 이를 수정하고 기능을 변경하고 하다보니 해가 떠있는 경험을 하게 되었습니다.
어찌저찌 메인 스테이지의 두 번째 방까지 구현을 할 수 있었고 빌드 또한 성공해서 시연을 할 수 있게 되었습니다.
막상 노트북에서 게임을 실행하니 또 다른 당황스러운 상황을 맞닥뜨렸습니다.
아포칼립스 세계관을 가지고 있던 게임이라 배경이 어두웠는데 분명 적당한 어두움을 가지고 있던 게임이 노트북에서 실행하니 심각한 어두움을 가지고 있었습니다.
너무 어두워져서 길 찾기가 어려워져 난이도가 급상승 해버리는 상황이 나왔습니다…!!!
그런데도 시연을 하면서 재미있었던 점은 오히려 어려워진 난이도 덕분에 사람들이 개발 시에 의도했던 대로 맵을 해결하기 위해 헤매는 모습을 보였습니다.
게임에서 아쉬웠던 점은 유저들이 처음 들어가자마자 헤매지 않도록 나름의 가이드라인을 만들어야 했지만 그게 없어 게임 시작 부분에 플레이어가 어떤 것을 해야하는지 몰라 우왕좌왕 하는 점도 있었습니다.
분명 제 눈에는 아쉬운 점이 너무나도 많은 게임이었고 완성도도 많이 떨어지는 게임이었는데도 직접 플레이를 해본 다른 팀의 참가자 분들이 ‘신선하고 재미있다’, ‘몰입도가 높다’, ‘전혀 안 부족해 보인다’ 등등 긍정적인 후기들을 남겨줘서 뿌듯함도 느낄 수 있었습니다.


첫 팀 프로젝트에서 팀장으로 살아남아보니..
스마일게이트 챌린지 시즌3는 제가 게임 클라이언트 개발자로써 성장을 해나가며 처음 해본 팀 프로젝트였습니다.
저도 많은 것을 알지 못하는 상황에서 큰 욕심으로 아이디어를 내고 뜻이 맞는 팀원들을 모아 팀장으로써 프로젝트를 진행했습니다.
많은 것들은 배울 수 있었고 재미도 있었으며 개발자로서 큰 성장을 할 수 있던 세 달이었습니다.
프로젝트 Hola는 아직도 아쉬움이 많이 남는 게임이기도 합니다.
더 디테일하게 잡고 개발을 시작했으면 하는 생각도 있고 내가 좀 더 많이 알고 있었더라면 더 좋은 게임이 됐을 것 같다는 생각도 있습니다.
챌린지 이후에는 각 팀원들의 사정으로 추가 개발은 진행하지는 않지만 나중에 기회가 된다면 전체적으로 리팩토링도 해볼 계획입니다.
작은 프로젝트였지만 팀장으로서 다양한 사람들을 한 데 모으고 함께 진행하는 경험도 재미있는 경험이었습니다.
팀원들에게 어떻게 말해야 서로의 기분이 상하지 않게 잘 이끌어 나갈 수 있을지 고민을 많이 하기도 했고 그런 고민에 약간의 스트레스를 받기도 했습니다.
다행히도 2년간 42서울을 진행하며 몇 번의 팀플을 해봤고 그 경험들이 있었기에 가능했던 팀장이기도 했던 것 같습니다.
또, 42서울로 팀플을 겪어본 초보개발자와 따로 팀플을 해보지 못한 초보개발자가 어떤 식으로 차이가 나는지도 알 수 있었습니다.
호준 멘토님께서 말한 팀플은 외주업무가 아니다 라는 말이 크게 와닿은 순간도 몇번 있기도 했었습니다 ㅎㅎ.
혼자 엔진을 독학하고 나만의 게임을 만들어 보는 경험도 좋지만 개발자 이외에도 기획자, 디자이너와 함께 합을 맞춰 개발을 진행해보고 두 달이라는 짧은 기간동안 말 그대로 시간에 쫓기며 개발을 해보는 경험을 하게 해준 스마일게이트 챌린지3는 아주 좋은 경험이었습니다.
저 이후에도 게임 개발자라는 꿈을 가지게 되는 사람들에게 스마일게이트 챌린지는 꼭 한번 해보면 좋은 경험이라고 말하고 싶습니다!!
제 주관적인 의견이 꾹꾹 담긴 스마일게이트 챌린지 후기 글을 봐주셔서 감사합니다 ㅎㅎ
끝.