쿵치딱 개발기

리듬게임 쿵치딱 리듬게임 쿵치딱 개발에 대한 간략한 후기

개요

지난 2016 던파/사퍼 한데이에 참가했던 리듬게임 "쿵치딱"의 개발 과정에 대해 간략하게 정리해본다. 각 세부항목들에 대해서도 기회가 되면 따로 글을 쓰면 좋겠지만 아마도 나는 그렇게까지 부지런할리가 없기 때문에 그런 일은 없을 것 같은 슬픈 예감이 든다..

발단

어릴적부터 리듬게임을 좋아했다. 초딩때 QBasic 가지고 혼자 말도 안되는 코드로 게임 만들면서 놀때도 리듬게임을 만들어보려고 삽질 많이 했던 기억이 난다. 나이 먹고 살면서 리듬게임 만들어보겠다는 생각을 까먹고 있었는데, 어느날 문득 재밌을 것 같다는 생각이 들었다.

개발 시작

플랫폼 결정

(초기 웹버전 영상. 플레이어는 아내) 처음에는 만들어서 괜찮다 싶으면 회사 홈페이지에 넣어볼까 하는 생각으로 웹 플랫폼으로 개발을 시작했다. 캔버스로 그래픽 붙이고 html5의 오디오 api 를 가지고 실제로 구동되는 게임까지 만들었지만, 브라우저마다 싱크를 맞추기가 너무 어렵고, 오디오와 화면의 싱크를 정밀하게 맞추는 것 자체에 한계가 있었다. 그러던 와중에 던파 한데이 개최 이야기를 듣고 방향을 급 선회해서 아예 실물 오락기를 만들어서 출품해보기로 마음을 바꿨다.

기획

던파/사퍼에서 다른 건 욕을 먹어도 유저들 모두가 입을 모아 칭송하는 것이 몇 가지 있는데, 대표적인게 던파의 도트팀과 네오플 게임들의 OST다. 아는 사람은 알겠지만 던파도 사퍼도 브금이나 OST 들이 굉장히 고퀄이다. 이런 요소들이 부각되지 못하는 부분이 늘 안타깝다고 생각했는데, 그런 마음에서 리듬게임이 쉽게 떠올랐던 것 같다. 그래서 브금에 맞춰서 몬스터들이 다가오고, 박자에 맞춰서 버튼을 눌러 그 몬스터들을 처치한다, 라는 간단한 컨셉으로 게임의 가닥이 아주 쉽게 잡혔다.

소프트웨어

아무 이유 없이 그냥 monogame 기반으로 개발을 시작했다. 정말 내가 왜 그랬는지 모르겠다. 그 후로 이어진 많은 삽질들을 떠올리면 차라리 그냥 쌩 dx 로 직접 짜는게 나았을것도 같다. 아니면 차라리 코코스나 유니티라도 썼어야 하는건데... 모노게임/XNA 에서 게임을 만들 때 짜증나는 일들이 한두가지가 아니지만, 가장 빡치는 건 역시 한글 출력이다. 얘들은 사용할 글자를 모조리 미리 텍스쳐 스프라이트로 컴파일해두고 이미지를 잘라서 화면에 뿌려주는 방식으로 폰트를 출력하는게 기본 스펙인데, 안타깝게도 한글은 그러기엔 넘나 글자 수가 많다. 그 짓거리를 글자 크기별로, 폰트마다 따로 다 해주려면 아마 실제 코딩보다 폰트 갖다 붙이는 시간이 더 걸릴지도 모르겠다.(물론 그럴리는 없다. 그냥 과장이다.) 그 외에 컨텐츠 매니저를 통하지 않고 외부 리소스들을 불러다 사용하는 것도 쾌적한 편은 아닌데, 기본적으로 프레임워크가 제공하는 컨텐츠 매니저와는 별개로 직접 외부 컨텐츠 관리를 만들어야 하기 때문이다. 어차피 그래야 한다면 차라리 기본 컨텐츠 파이프라인을 안 쓰는게 낫겠지만, 이것도 만들다 보니 생각한거고 막상 만들기 시작할 때는 아무 생각이 없었기 때문에 결국 더러운 코드만이 남고 말았다. 늘 끝나고 생각하면 참 쉽고 좋은 길이 눈에 보이는 법이지...

리소스

기본적으로 한데이는 2차창작 행사이기 때문에 나도 평범한 다른 유저들보다 기본적인 조건에서 우위를 가지는 건 불공평하다고 생각했다. 그래서 모든 유저가 얻을 수 있는 리소스(공식 홈페이지의 팬키트 및 구글링으로 찾은 정보들)만 가지고 제작했다. 그 과정에서 힘들었던 건 역시 음악들의 정보를 찾는 거였는데, 특히 각 음악의 BPM 을 제대로 알기가 힘들었다. 배경 그리면서 나는 도무지 배경을 그려본 적이 없다는 걸 뼈저리게 느꼈고... 도트 찍으면서 나는 도무지 도트를 못 찍는다는 걸 또 느꼈고... 로고도 도무지 못만든다는 걸 느꼈고... 노트 채보 제작도 넘나 힘들고... 아니 난 뭐 잘하는게 없네?!

하드웨어

일단 몸체는 MDF 로 만들었다. MDF 재단해서 배송받아서 안 맞는 부분 좀 톱질하고 줄질해서 맞춰 조립했다. 상판은 아크릴로 만들었는데 치수 재서 간판집에 재단 맡겼더니 생각보다 저렴했다. 다만 화살표부분은 치수를 잘못 잰 건지 좀 안 맞아서 분노의 줄질로 어떻게든 어거지로 맞췄다. 리듬게임용 버튼은 IST 몰에서 구매. 스피커는 집에 굴러다니던 평범한 PC용 스피커를 뜯고 잘라서 몸체에 부착. 팬은 다나와에서 한 삼천원 주고 사서 달았고.. 본체는 아내 생일에 새 컴퓨터 사주고 남은 아내의 옛날 컴퓨터를 뜯어서 넣었다. 나무로 된 케이스 바닥에 대충 메인보드 나사구멍 맞춰서 남는 나무조각 붙이고 피스로 보드를 그냥 고정. 파워도 비슷하게 고정했다. 하드디스크는 운송중에 파손의 우려가 가장 크기 때문에 꺽쇠 몇 개 써서 살짝 띄운 채 고정. 컨트롤러는... 약 6년 정도 사용했던 엑박 360 컨트롤러를 뜯어서 기판에 납땜해서 사용. 정품으로 구매한 xpadder 가 있어서 버튼 배선에 별 부담없이 대충 납땜해서 붙여버렸다. 하드디스크가 남는게 없어서 고민이었지만 아내가 예전에 쓰던 외장하드를 기꺼이 내어줘서 그거 뜯어서 달았다. 대충 만들어진 프로토타입 기기 시연 영상. 플레이어는 물론 아내

던파/사퍼 한데이 참가

어떻게든 완성했으니 이걸 가지고 행사에 직접 참가하는 일이 남았는데, 사실 이게 만드는 것보다 더 큰일이다.

운송

일단 스티로폼을 사다가 기기를 감싼 뒤에 폐물장에서 커다란 박스들을 주워다 잘라서 겉을 감쌌다. 이 정도로 충격을 버텨주길 기도하는 마음으로... 다행히도 모니터를 행사측에서 지원해주기로 해서 큰 시름을 덜었다. 그거 아니었으면 모니터 못 들고 가서 울며 잠이 들었을 것... 무게를 재 보니 대충 15kg 이 안 될 것 같아서 일단 무작정 들고 공항에 갔더니 친절하게도 파손주의랑 상단 방향 표시 스티커를 붙여서 잘 받아주었다. 서울에 도착해서 시운전할 때도 별 문제 없었고. 돌아올 때도 마찬가지로 포장해서 비행기에 그냥 싣고 돌아왔다. 조금 더 작게 만들걸 하는 생각이 들었지만.. 뭐 다음번에 혹시나 또 뭔가를 만들게 된다면 그 때 참고하도록 하자. 공항 카트에 쏙 들어가는 아담한(?) 기기를 신나게 옮기는 모습

행사

오픈 직전에 찍은 부스 모습 손에 든 게 바로 무선키보드 행사 전날에 먼저 도착해서 현장에서 지원받은 모니터를 받아서 부스에 기계만 일단 설치했다. 시운전 후 잘 동작하는 것을 확인. 그치만 아무래도 불안함이 가시지 않아서 근처 이마트에서 무선 키보드&마우스 세트를 구매했다. 이건 정말 신의 한 수였는데, 간간히 게임이 튕기는 일이 뒤늦게 발견되었지만 당황하지 않고 빛의 속도로 게임을 재기동시켜줄 수 있었던 것이다! 정말이지 다행이야. 쿵치딱을 하기 위해 줄 선 유저들 게임조선 기사에 나온 사진. 기사는 여기 행사 당일은... 정말이지 성황리에 마쳤다. 오전 10시 되기 조금 전부터 오후 5시까지 기계가 쉬었던 시간이 다 합쳐도 1분이나 될런지.. 끊임없이 유저들이 모여서 게임을 즐기는 모습에 뿌듯뿌듯.. 여러번 줄을 서가며 플레이하는 사람들도 꽤 많았다. 행사 전체적으로 여성 유저 비율이 훨씬 높았는데, 그 와중에 우리 부스에는 남성유저가 많이 모였던 것도 특이한 점이랄까. 아쉬운 것은... 집에 굴러다니던 싸구려 스피커를 붙였더니 음량이 부족했던 점이다. 그 외에 그래픽을 좀 더 신경써서 마무리하지 못하고 대충 그리다 만 채로 가동한 것도 아쉽고... 유저분의 블로그에서 발견한 사진(팔에 이름표도 열심히 만들었는데 나온 사진이 이거 정도 뿐) 사퍼 공식 홈페이지 매거진에 실린 사진(플레이하는거 저 아님!)

기타

아내가 부스의 배너들과 사은품 자석을 열심히 만들어서 도와주었다. 게임의 구리디 구린 화면 레이아웃도 고쳐주고 각 음악들의 타이틀 이미지도 만들어 주었다. 정말 디자이너 아내는 최고다. 각 음악들의 저작권은 당연히 네오플에 있다. 음악들의 커버 이미지의 저작권도 물론 네오플꺼. 유저들이 간간히 이거 출시되는건지, 모바일 게임으로는 안 나오는지 물어왔는데... 그게 또 뭐 그렇게 간단한 문제가 아니니까...나도 잘 모르겠당. 담에 시간 나면 각 부분에 대해 좀 더 디테일하게 써보면 좋겠다. 일단 이 글은 여기까지... 마지막으로 게임 플레이 영상 투척