1. 개발을 시작하게 된 계기
저는 아주 오래전부터 모바일 게임을 만들어보고 싶은 생각을 가지고 있었습니다.
하지만 어떤 게임을 만들어야 될지 몰라 고민만 하며 하루하루 보내고 있었죠.
어느 날 기획자를 꿈꾸던 한 친구가 저에게 게임을 한 번 같이 만들어보면 어떻겠냐고 제안을 해왔습니다. 같이 게임을 만들면서 서로의 실력을 키워보자는 생각 었던 셈이죠.
제가 프로그래밍을 그 친구는 기획쪽을 맡고 나머지 그림 그릴 사람과 음악을 작곡할 사람은 자신이 구해보겠다고 했습니다. 완벽히 나눈 건 아닙니다. 일단 서로의 확실한 분야는 있어야 했으니까요.
예전부터 꿈꿔왔던 일이었고 재밌겠다는 생각에 저는 그 제안을 흔쾌히 수락하게 됩니다.
처음 친구와 회의를 하는 과정에서 그 친구는 저에게 비둘기가 도심을 여행하는 컨셉으로 게임을 만들어보자고 했습니다. 그리고는 저에게 몇 가지 사진을 직접 그려서 보여주었습니다.
- 비둘기 컨셉 사진
- 도심 서울 및 히든 스테이지 컨셉
2. 인생 첫 게임 개발을 시작하다.
2016년 4월 18일 첫 개발을 시작하였습니다. 일단 게임을 개발하려면 게임엔진이 필수적으로 필요했습니다. 하지만 게임엔진은 대부분 유료였는데 딱 한 가지 Unity라는 게임엔진은 연 수익 10만달러 미만인 개발자에게는 무료로 배포되고 있었던 중이었죠.
하지만 Unity 라는 게임엔진은 우리나라에선 아직 생소한 엔진이었고 개발된 게임도 많이 없었습니다. 그리고 무엇보다 Unity에 대한 정보가 부족한 편이어서 개발을 할 때 구글링의 도움을 받기가 힘들었습니다. 그래서 저는 "책이라도 있어야 어렵지 않게 입문할 수 있겠다"라는 생각에 [ 절대 강좌! 유니티 5 ]라는 책을 구매해 독학을 시작했습니다.
언어는 java와 C# 둘 중 하나를 선택해야 되는 상황. 저는 C#을 선택할 수밖에 없었습니다. 왜냐하면 그나마 있던 정보들이 전부 C#으로 작성되어 있었기 때문이었고 C언어가 제일 기초이기 때문이기도 했습니다.
"처음으로 작성한 코드로 비둘기가 좌우로 움직일 때의 쾌감을 아직도 잊을 수가 없습니다."
그렇게 개발을 시작하는 와중에 친구는 비둘기가 날갯짓하는 애니메이션을 적용시키기 위해 그림 그리는 친구를 섭외해서 저에게 초기 디자인 그림을 그려줬습니다. 그땐 항상 고민보다 걱정이 앞설 때였습니다. 이 그림을 내가 어떻게 해야 할지 갈팡질팡하던 시기였죠.
- 비둘기 날개짓 스케치
친구는 저에게 에버노트(Evernote)라는 프로그램을 추천했습니다. 그리고 하루에 한 번씩 스카이프로 회의를 하면서 나온 아이디어를 에버노트에다가 적어두곤 했습니다.
에버노트에 장점이라면 어떤 곳이든 어떤 장치로도 작성된 글을 빠르게 볼 수 있고 작성한 글을 쉽게 공유를 할 수 있다는 것이었습니다. 아이디어란 항상 어디선가 문뜩 뜬금없이 떠오르기 때문에 그 순간을 노트에 적어둬야 나중에 까먹지 않게 됩니다.
그리곤 첫 회의 때 자동차를 추가해 도심을 지나가는 비둘기가 부딪혔을 때 hp가 줄어들도록 하자는 내용을 에버노트에 적었습니다. 이렇게 게임을 하나하나 기획하는 것만으로도 무척이나 재미가 있었죠.
회의를 할 때마다 사람들이 조금씩 늘어나게 시작했습니다. 그 친구는 저보다 친화력이 좋아 사람을 섭외하는 능력이 뛰어난 편이었습니다. 하지만 금방 사람들은 떠나갔습니다. 생각보다 노가다성이 강해 사람들이 쉽게 질려했기 때문이었죠.
- 자동차
3. 시간과의 전쟁
군대를 가야 하는 나이가 되면서 주변에 군입대를 하는 친구가 갈수록 늘어나고 있었는데 저는 군대를 일부러 늦게 신청했습니다. 1년 정도 자체 휴학을 내고 새로운 경험을 해보고자 시도했습니다. 그게 바로 게임 개발이었죠.
항상 게임을 즐기기만 했던 게임을 직접 하나하나 만들어보니 개발자의 입장에서 생각할 수 있게 되었습니다. 어떤 사소한 게임이든 쉽게 만들어진 게 아니라는 점을 알게 되었죠.
처음에는 PC로 방향키를 통해 비둘기를 움직였습니다. 하지만 이 게임을 출시할 플랫폼은 모바일이었습니다. 당연히 터치가 가능해야 했죠. 구글링을 통해 여러 가지 정보를 간신히 얻어 저만의 방법으로 응용했습니다.
그리고 그림자를 추가해 입체감을 더했고 거리에 따른 점수를 넣어서 경쟁 시스템을 만들었습니다. 가면 갈수록 게임다워지는 거 같아서 뿌듯했습니다.
- 도심 1,2, 부둣가 사진
4. 버그와의 싸움
흔히 버그를 고치면 또 다른 버그가 나온다고들 하는데 역시 저도 예외는 아니었습니다. 코드가 쌓일수록 버그가 나타나기 시작했죠. 버그는 또 다른 버그를 낳으면서 급속도로 성장하기 시작했습니다. Unity는 한글을 지원하지 않기 때문에 에러 또한 영어로 나오면서 더욱 혼란스러웠습니다.
아무것도 모르는 상태에서 만들다 보니 프로그램이 갈수록 무거워졌고 프레임이 급격하게 떨어지기 시작했습니다. 뭔가 이상하다는 것을 느끼기 시작했죠. 그래서 어느 순간 코드가 너무 난잡하고 길다는 것을 깨달았습니다.
"결국 처음부터 다시 새로 만들기로 했습니다."
새롭게 다시 시작하면서 기존 코드의 필요 없는 부분을 없애고 간결하게 만들었습니다. 그리고 새롭게 외부 플러그인을 사용하기로 했습니다. 외부 플러그인에 장점이라면 코드적으로 최적화가 잘 돼있어 렉이 덜 걸리고 원하는 부분을 쉽게 구현할 수 있게 해 줍니다.
그러던 와중에 새로 들어온 일러스트 레이터가 비둘기의 그림을 완성시켜 보여주었습니다. 상당히 잘 그렸다고 생각했고 만족스러웠습니다. 흰색 비둘기에겐 "루루"라는 이름과 검은색 비둘기에겐 "구구"라는 이름을 지어줬습니다.
이제 게임을 만드는 과정에서 이 녀석들을 매일 매 순간 보게 될 것입니다.
- 루루와 구구
2편에서 계속됩니다.