유나이트 2014 현장에서 만난 서형석 대표는 프로그래머 출신임에도 말을 참 잘했습니다. 분명히 기술 관련 강연이었는데도 알기 쉬웠어요.

하지만 그 내용은 절대 웃으면서 들을 만한 게 아니었습니다. 작은 모바일 게임사가 어떤 애로사항을 겪는지 여기에 다 담겨 있었거든요. 길게 서문 안 쓰겠습니다. 바로 시작합니다.





[ ▲ 디지트리 서형석 대표 ]
제가 오늘 말하려고 하는 것은 성공이나 실패에 관한 게 아닙니다. 그냥 제 경험이에요. 솔직히 이게 여러분께 도움이 될지는 모르겠어요.

일단 저희 디지트리 소개부터 할게요. 프로그래머 2명밖에 없는 아주 작은 회사입니다. 그래도 두 명 있는 것 치고는 참 이것저것 많이 해온 것 같아요. 2012년 2월에 회사 세웠고 그 때 '쉐도우진 닌자보이' 바로 출시 했어요. 물론 유니티 엔진 썼고요. 그 해 10월에는 '셀레스티얼 리그' 개발한 뒤 출시 때까지 커버했습니다. 이건 외주 작업이었어요. 그리고 2014년 2월에는 '세이빙 몬스터즈'를 출시했습니다. 오늘 이야기할 게임이기도 하죠.

강연 목적이요? 솔직히 '세이빙 몬스터즈' 개발할 때 진짜 힘들었어요. 진짜로. 그거 관련해서 수다 좀 떨고 싶어서 나왔어요.(웃음)

'세이빙 몬스터즈'는 2012년 11월에 개발 시작했어요. '셀레스티얼 리그 끝나고 자체 게임 만들고자 하는 욕심이 있었거든요. 뭘 만들까 고민해봤고, 우리가 내린 결론은 '좋아하는 게임을 만들자'였어요. 뭐 복잡한 이유 없이 일단 자기가 좋아하는 것 하면 빨리 만들 수 있을 것 같았거든요.

그 때 생각한 게 달리기 게임이었어요. 왜 '템플런', '소닉대쉬', '핏불', '조 대인저', '서브웨이서퍼' 같은 그런 게임 있잖아요. 저희가 즐기는 게임이 이런 쪽이었어요. 그래서 이쪽으로 가닥을 잡았고, 앱스토어의 '달리기 게임 모음' 카테고리에 올라가면 좋겠다 정도로 목적을 뒀죠.




어쨌든 거기 올라가는 게 쉬운 일은 아니잖아요. 차별성이 있어야 했죠. 우리는 그 차별성을 '무한한 탑을 올라가는 방식'으로 잡았습니다. 그래서 그 때 지은 가제가 '인피니티 타워'였어요.

2013년 2월에 프로토타입을 완성했어요. 그런데 문제가 있었죠. 빙글빙글 도는 나선형으로 화면을 구성했는데 게임을 해본 주위 사람들 반응이 다들 '어지럽다'였어요. 그 때는 저희도 고집을 부렸죠. 이 시스템을 포기할 수는 없었습니다. '조 대인저' 카메라 워크를 참고해 직선 방식과 타워 오르는 방식을 혼합하는 정도로 합의를 봤죠.

그리고 2013년 4월 개최된 유나이트 2013에 최신 빌드를 들고 갔어요. 퍼블리셔한테 보여 줬죠. 그때 퍼블리셔 담당자가 그랬어요. '윈드러너 3D 느낌이네요.'라고. 그 말 들은 우리는 어땠냐고요?



우리 게임만의 특징을 알아봐 줬으면 했죠. 그런데 잘 안되더라고요.

그래서 바꿨어요. 그 때가 아마 2013년 5월 쯤이었을 겁니다. 완전히 리뉴얼했어요. 일단 카메라 시점을 숄더뷰로 바꿨어요. 이유는... 그냥 제가 숄더뷰를 좋아했거든요.(웃음) 그리고 앞도 잘 보이고 입체감도 극대화되고요. 달리는 라인도 1라인에서 3라인으로 확장했고, 각종 이펙트도 좀 더 강화했어요. 달리면서 통쾌감을 주고 싶었어요. 그 전에 아주 잠깐 3D맥스를 배웠던 적이 있었는데 그게 도움이 많이 됐어요.

아, 그리고 타워 올라가기 요소를 제거했어요. 유저들이 이러한 개념을 대중적으로 받아들이기 어렵다고 생각했기 때문입니다. 솔직히 그거 때문에 개발팀원에게 욕도 많이 먹었어요. 그동안 내가 고생한게 뭐가 되냐면서. 뭐, 어쨌든 여기까지는 나름 순조로웠어요. 다 잘될 것 같았죠.

그대로만 갔으면 참 좋았을텐데...



2013년 6월부터 우리는 고난을 맞기 시작했어요. 각 퍼블리셔한테 정말 홍보 열심히 했어요. 발품 팔아가면서. 그런데 어디에서도 답장이 오지 않았어요. 솔직히 서운했죠. '우리 게임 되게 재밌는데 왜 아무도 안보실까'라는 생각도 들었고요.

하지만 지금 생각해보면 퍼블리셔 분들 생각이 이해는 됩니다. 다른 거 다 떠나서 일단 프로그래머 2명으로 이루어진 개발사라는 게 컸을 거예요. 대규모 게임회사들도 프로젝트 하나 완성하기 어려운 판에 우리를 어떻게 믿겠어요. 보장이 안되는데.

힘들었죠. 수익 없으니 잔고도 비고... 절망 많이 했습니다. 당장 50만 원이 없어 사무실 세금이랑 직원 월급은 어떻게 줘야 하나 이런 상황도 있었고요. 그 때 지인한테 돈 많이 빌렸어요.

하지만 빌리기만 해서는 답이 안 나오잖아요. 다른 일을 찾아봤어요. 저는 개발자였고, 마침 그 때 서울 애니메이션 센터에서 유니티 관련 강의를 해 보는게 어떻겠냐는 제안을 주셨어요. 좋은 기회였죠. 그리고 그 때 관련 서적을 내면 돈을 벌 수 있다는 이야기도 있어 책도 썼어요. 돈 벌 수 있는 것은 다 했던 것 같아요. 몸은 고단했지만 어쨌든 살아야 했으니까요. 그 때 이런 생각이 들더라고요. '아, 죽으란 법은 없구나.'

또, 애니메이션 센터에서 강연했던 게 저에겐 정말 행운이었어요. 거기에서 우리 게임의 배경, 캐릭터 모델링을 해주신 분을 만났거든요. 제 예상보다 훨씬 잘 해주셨어요. 지금도 감사하게 생각하는 분들입니다.

일은 계속 잘 풀렸어요. 퍼블리셔와도 계약이 됐죠. 2013년 7월에 픽토소프트에서 연락이 왔어요. 게임 보여줬죠. 그리고 일사천리로 계약이 진행됐습니다. 정말 빠르게 계약금을 주셔서 그동안 밀렸던 것들도 다 처리할 수 있었어요. 그제서야 숨통이 트이더라고요.

2013년 10월에 FGT가 잡혔어요. 경기모바일앱 센터에 최종 버전 들고 가서 테스트했죠. 처음으로 외부 공개하는 거였고, 사용자 피드백을 직접 확인하는 자리였기에 사실 긴장 많이 했어요.

반응은... 의외였어요.

전 사실 그 생각 했거든요. 그 때는 이미 '윈드러너'나 '쿠키런' 같은 게 성공한 상태였고 시장에는 런 게임이 너무 많을 때였어요. 식상하다고 생각하실 줄 알았어요. 그런데 반응이 좋았습니다. '재밌네요.', '화려하네요.'... 정말 너무 고마운 피드백이었습니다.

출시를 얼마 안 남겼을 때는 솔직히 여유로웠어요. 아무 것도 할 게 없는 거예요. 정말 오랜만에 게임 켰어요. '라스트오브어스' 엔딩도 봤어요. 그런데 사실 그 때 여유를 부리는 게 아니었어요. 폭풍전야였던 걸 제가 몰랐던 겁니다.

출시 직후요? 진짜 행복했어요. 퍼블리싱 담당자분이 '게임 올라갔습니다.'라고 하셔서 확인했는데, 정말 그 때 기쁨은 다 말할 수가 없었어요. 제 친구, 저랑 같이 일했던 그 친구도 정말 고생 많이 했고요.

어쨌든 '세이빙 몬스터즈'는 2014년 2월에 정식 출시되었습니다.



그런데 약간 지나니 지옥문이 열리고 있었어요. 저희가 몰랐던 거였죠. 출시 직후 이런 이슈가 수면 위로 올라왔어요.

'무한 로딩'.

20분 기다려도 게임이 안 켜진대요. 저런 심각한 문제가 생길 줄은 전혀 예측하지 못했어요. 저런 문제는 본 적도 없었고요.

원인을 보니 AWS 설정에서 저희가 실수했던 거였습니다. 저희는 아마존 웹 서비스를 쓰고 있었어요. 설정이 쉽고 저렴하다는 이야기를 많이 들었거든요. 그런데 저희 회사 멤버 2명이 전부 클라이언트 프로그래머였어요. 웹 쪽은 잘 몰랐죠. 그래서 제 친구가 웹 쪽을 더 배웠어요. 그 때 저한테 욕했어요. 아, 이런 것까지 해야되냐고.(웃음)

저희 실수였죠. 웹 서버를 출시 다음날 지워버린거예요. 어떻게 해요. 퍼블리셔한테 전화 주고 정말 미안하다고 사정했어요. 지금 우리가 웹서버 지워버렸다, 지금 런칭은 했지만 1주일 동안 막아놓고 다시 올리던지, 아니면 지금 당장 처리해야한다고 했죠. 고맙게도 퍼블리셔 쪽에서 주말에 회사에 나와 주셨어요.

차주 월요일에 그 일로 이야기했어요. 그 때 저희가 그랬죠. 죄송합니다. 주말에 쉬셔야 하는데... 그 때 담당자 분께서 그러셨어요. '주말에 일 있는데 찜질방가서 쉬느니 나와서 일하는 게 좋아요'라고요.

정말... 정말 감사했습니다. 진심으로요.



그렇게 무한로딩 문제는 해결했어요. 그런데 이미 사태는 심각하더라고요. 서버 내린 시점이 토요일 오후였어요. 그런데 그날 저녁에 구글플레이 평점을 보니 확 내려가 있었습니다.

그 뿐만이 아니었어요. 우리가 상상조차 하지 못한 방식으로 유저들이 해킹을 시도하는 거예요. 솔직히 제가 돈 치트는 이해를 하겠어요. 그런데 점검해보니 무한점프 치트도 있더라고요. 이게 아예 나오지도 않은 코드거든요. 근데 재미있는게, 이걸 쓰면 앱이 죽어요. 우린 개발할 때 일정 프레임을 뒀고, 코드 특징 상 그 범위를 벗어나면 앱이 죽게 되어 있었어요. 그런데도 그걸 만드셨더라고요.

대응했죠. 일단 치트 쓰는 유저는 밴 했어요. 이것도 나름 재미있게 처리했어요. 치트 쓰는 유저는 무한 로딩 나오게 만들었습니다. 웹 서버에 에러를 따로 만들었고, 치트 유저가 접속하면 에러가 뜨게 세팅했어요.

그리고 치트 프로그램 리스트도 갱신했고, 메모리 치트 예방책도 강화했습니다. 또, 서버단에서 주요 로직을 처리하는 방식으로 변경했고요. 그렇게 하니 치트가 잘 안올라오더라고요. 뭐, 그 때는 게임의 인기가 떨어진 상태일 수도 있지만 말입니다.(웃음)

그 다음 터진 일이 DB 문제였어요. 어느 순간 갑자기 치트 유저가 엄청나게 늘어난 거예요. 되게 이상했죠. 체크하면서 손이 아팠어요. 너무 많아서.

그 때 이상한 ID를 봤어요. 우리가 쓰는 테스트 ID인 겁니다. 그것조차 수치가 이상했죠. 알고 보니 모든 유저 데이터가 변경되어 있었어요. 처음 겪어보는 일이었고, 원인도 몰랐죠. 이게 진짜 큰 일이예요. 저희는 웹 분야를 잘 몰랐으니까요.

결국 알아내기는 했죠. 메모리치트 대응 중 제가 직접 해킹해 본 거죠. 웹에 영향을 끼치나 안 끼치나. 상황 동일하게 맞추고 테스트해 보니 비슷한 오류가 나는 거예요. 그 얘기를 친구한테 하니까 그러더라고요. '뭔가 알 것 같아.'

그리고 밖에서 담배 세 대 정도 피고 들어오더니 막 검색하더라고요. 그리고 원인 찾았대요. SQL 인젝션이라는 아주 오래된 공격 기법이었어요. 이게 지금은 거의 안 쓰는 건데, 알고 보니 가끔 사용하는 사람이 있다고 하더라고요.



그 이후 발생한 문제는 웹서버 파일 업로드 문제였어요. 서버로 파일 전송하는데, 이게 자꾸 빈 파일로 올라가는 거예요. 실질적으로는 웹서버 제거된 상황이랑 거의 동급인 문제거든요. 진짜 멘탈 다 쪼개졌어요.

어쨌든 대응해야 했죠. 주위 친구들한테 물어봤는데, 그 중 한 녀석이 그랬어요. 로그 살펴보라고. 바로 뒤져 봤죠. 그런데 정말 뭔가 이상한 거예요. 로그파일 용량이 6기가였어요. 런칭한지 고작 며칠밖에 안됐는데. 사실 처음에는 이 쪽을 염두에도 안 두고 계속 웹서버 쪽만 보고 있었거든요.

그러다가 이거 보니 어이가 없었죠. 저장 공간이 안 남으니 올라가지 못했던 겁니다.로그파일 용량 6기가인 것 확인하고 깨달았죠. 웹 서버에 버그가 있었어요. 버그 때문에 파일 정리가 안되고 계속 쌓였던 겁니다. 이것도 친구 조언 덕분에 알게 된 거고, 지금은 해당 문제 다 처리해서 로그 거의 안 쌓입니다.

들으면서 참 답답하셨죠? 저희는 정말 죽을 것 같았어요. 제가 지금까지 말한 게 런칭 후 1주일 안에 발생한 겁니다. 퇴근은 고사하고 스트레스만 받았어요.



렉 이슈도 있었어요. 사실 우리 게임은 갤럭시1에서도 쌩쌩하게 돌아가게 만들었거든요. 그런데 친구들이 자꾸 뭐라고 하는 거예요. 렉 때문에 게임을 못하겠다고. 말도 안된다고 생각했습니다.

그런데 진짜 치명적인 버그가 있었던 거예요. 게임을 아예 못 할 정도로요. 원인 찾아보고 더 좌절했어요. 제가 아는 그런 분야가 아니었거든요. 그 렉이라는 게 몇몇 기기에서만 발생하는 거였고, 주로 최신 스마트폰 기종으로 몰려 있었어요. 갤럭시2에서는 렉 하나도 없었어요. 그거 명기예요, 진짜로.(웃음)

특히 LG G2에서 렉 문제가 컸어요. 제가 할 수 있는 것은 최대한 고치려고 했죠. 기종 문제? 제가 못 건드리죠. OS 문제도 마찬가지고요. 유니티 엔진 문제...는 제가 손 볼 수 있었습니다. 하나하나 뜯어본 결과, 버전 문제 같아 보였어요. 유니티 4.3일 때 프레임이 특히 많이 튀더라고요. 유니티 엔진이 4.3으로 올라가면서 2D 물리엔진 같은 기능이 들어가면서 무거워진 것 같았습니다. 제 개인적인 생각이지만.

한 번 다운그레이드 해 보니 프레임이 많이 높아지더라고요. 여기 계신 분들 중 유니티 엔진으로 게임 만드시는 분 계시다면 4.2 버전 추천드려요. 아직 4.3은 무거운 것 같아요.

그리고 에브리플레이도 없앴어요. 국내 유저에게는 아직 부정적인 이미지가 강해요. 처음에 따로 가입도 해야 되고, 아예 모르는 사람도 많고요. 그래서 제거했어요. 에브리플레이 쓰면 베가 쪽 스마트폰에서 앱이 죽어버리더라고요. 앞으로도 넣을 계획은 없어요. 개인적으로 참 좋아했던 기능인데 솔직히 아쉽기는 해요.

아무튼 할 수 있는 거 다 해봤는데도 렉을 완전히 잡지는 못했어요. 솔직히 그 부분은 진짜 안타깝습니다.

현재요? 지금은 평온해요. 많은 이슈 겪고 나니 평온이 오더라고요. 제시간에 자고 제시간에 일어나요. 개발 좀 하다가 좀 쉬기도 하고. 프리한 생활로 돌아왔어요.

고생하면서 게임 출시한 뒤 얻은 것도 많았어요. 일단 10만 다운로드 찍은 게 커요. 제 생각보다 많이 나온 겁니다. 물론, 다운로드 숫자가 그대로 매출로 이어지는 것은 아니지만, 어쨌든 기분은 좋았어요. 제가 만든 것 중 제일 많이 뜬 겁니다.

그리고 구글플레이 평점 4.1을 얻었어요. 아까도 말했듯, 여러 트러블로 평점이 추락할 만큼 추락하기도 했었지만, 결국 어느 정도 다시 올라왔어요. 사실, 평점 관련해서는 조금 억울한 것도 있습니다. 출시되고 제가 구글플레이 평점 쭉 봐 왔거든요. 어느 날 평점 500개가 삭제되었어요. 그런데 별 1개짜리는 그대로 있더라고요. 항의하고 싶었어요.(웃음)

매출은 예상만큼 높지 않았어요. 그 덕분에 BM 구조의 문제도 파악했습니다. 처음에는 정말 단순하게 접근했거든요. 해외 런 게임들이 사용하는 요금제가 충분히 검증 받았다고 생각했고, 우리나라에서도 잘 되리라 보았죠. 그런데 정말 큰 착각이었어요. 돈 안내도 게임 할 수 있도록 만들었는데, 유저들이 정말 결제를 안 하더라고요.

마지막으로 약 4,400개의 소중한 의견을 받았어요. 정말 고맙습니다. QA도 몰랐던 버그도 말씀해 주셨어요. 다시 한 번 정말 고맙습니다.



하지만... 도저히 알 수 없는 것도 있었어요.

사용자들이요.

절대 모르겠더라고요. 좋은 사람도 있고, 안 좋은 사람도 있었어요. 욕만 하는 사람들, '이거 왜 만들었냐, 죽어라' 라고만 하는 사람도 계셨어요. 솔직히 정말 싫었어요. 직접 대면하고 싶을 정도로.

특이한 유저도 있었어요. 그 사람 플레이 데이터를 보니 뭔가 이상한 거예요. 결제 내역은 1,100원이었어요. 버그성 플레이로 차단 먹이기에도 좀 애매한 수치라 일단 지켜보기로 했죠.

그런데 어느날 그 유저가 픽토소프트로 장문의 편지를 보냈어요. 정말 디테일했죠. 내가 이렇게 저렇게 게임을 해 보니, 이런 아이템이 절대 나오지 않더라. 이거 버그니까 수정 바란다, 이런 내용이었어요. 다른 유저는 물론, 우리들도 수 없이 테스트했지만 발견하지 못한 문제였죠. 정말 이상했지만... 정말 감사한 분이었습니다.

유저 성향을 딱 이거다! 라고 알 수가 없더라고요. 저한테는 신기한 경험이었어요.

이제 저희의 과오를 이야기할까 합니다.

일단 생각보다 개발기간이 너무 길었어요. 시스템은 금방 만들었는데 대부분의 기간을 그래픽 리소스 바꾸는 데 썼고, 결국 개발기간은 저희가 예상한 것보다 3배 이상 뛰었습니다. 반성해야죠. 그리고 저는 3D 게임을 개발해왔기에 이번에도 3D로 만들었는데, 개발비용이 정말 만만치 않더라고요. 왜 모바일 게임사들이 2D게임을 많이 만드는지 그 때 이해되었어요.

서버지식 부재, 비즈니스 모델 설계가 미숙했던 점도 반성하고 있어요. 팀 내 아티스트가 따로 없었다는 것도 아쉬운 부분이고요. 앞으로의 과제가 아닐까 생각합니다.

앞으로는 해외 출시를 목적으로 할 겁니다. 전 사실 국내 흥행 별로 기대 안했어요. 그래서 아직 런 게임이 충분히 인기를 끌고 있는 해외에선 더 잘되지 않을까 하는 조그만 희망을 갖고 있어요.

저도 언젠가는 선택할 때가 오겠죠. 취업을 할지, 이 업계를 떠날지... 이런 생각은 항상 하고 있어요. 물론 이런 생각은 저만 하면 되고, 저만 책임지면 됩니다. 전 대표이니까요.

하지만 아직 게임은 아직 끝나지 않았다고 생각합니다. 제겐 아직 해외 공략이 남아 있는 상태잖아요. 아직 목표가 있기에 좀 더 힘을 내서 달려볼겁니다.