Game Dev/StarCrush

모바일게임 StarCrush 포스트모텀

AKer 2016. 5. 14. 11:33
반응형
게임을 만들게 된 계기


나는 약 10년차 클라이언트 프로그래머이고, 늦둥이 동생은 대학생이다. 그런데 어느날 동생이 (아마 스마트폰 어플리케이션 개발 같은 과목을 수강해서인듯) 모바일 게임을 하나 만들자고 이메일로 간단하게 컨셉을 보냈다. 사실 나는 PC 플랫폼 게임만 만들고 있었기 때문에 모바일 게임도 한번 해보고 싶었고 그렇게 제안을 받아드리게 되는데...



엔진선택


Unity와 cocos2d 둘 사이를 많이 고민을 했었는데 알고 지내는 다른 프로그래머가 자기는 cocos2d로 한다고 해서... "모르면 물어보고 배울 수도 있겠구나"라는 생각으로 cocos2d를 선택했다. 나중에 알았지만 서로 수준은 비슷했다.


cocos2d의 장점

  • Visual Studio를 이용하여 C++ 프로젝트로 게임을 만들 수 있다.
  • 코드로 구현 가능한 2D Action이 아주 많다.
  • v3.7 이후로 Android Studio 연동이 가능하다.
cocos2d의 단점
  • 개발환경을 세팅하기가 매우 힘들다. (하지만 요새는 블로그 및 책을 보면 쉽게 가능)
  • Java를 잘 모를 경우 GooglePlayService 등 라이브러리를 추가하기 괴롭다.
  • Tool이 부실하다.


프로토타입


사실 프로토타입은 한달도 안되어서 완성되었다. 웹에 cocos2d 튜토리얼이 많이 있고, 게임 프로그래밍을 좀 해본 사람이라면 cocos2d로 프로그래밍 하기가 그리 어렵지 않기 때문이다. 리소스는 내가 그림판으로 대충 만들고... 프로토타입을 진행하면서 초기에 동생이 줬던 게임 컨셉도 많이 수정이 되어 지금의 Arkanoid-like 게임이 되었다.




팀구성


초반에는 나와 동생밖에 없었다. 하지만 갑자기 동생이 자기 친구한테 받았다며 배경음악을 가져왔고... 게임을 다 만든 이후 스테이지의 볼륨을 키우고 싶어서 아는 형에게 부탁해서 스테이지를 추가했다. 다행히 동생보고 스테이지를 만들게 시키려고 스테이지 툴을 만들어놨던게 조금이나마 도움이 되었다. 


최종적으로는 다음과 같다.

  • 프로그래밍 : 나

  • 아트 : 동생, 나

  • 스테이지 구성 : 아는 형 (현업 기획자), 나

  • 배경음악 : 동생 친구

  • 효과음 : 오픈소스 다운로드


개발기간


  • 프로토타입 : 1개월

  • 나머지 개발 기간 : 1년 (매일 아침 2~3시간)

  • 개발 장소 : 혼자 카페에서

  • 공동 작업 : 네이버 오픈소스 프로젝트를 만들어서 SVN 이용


아이디어


초기 아이디어에서부터의 게임 컨셉에서는 많이 변했다고 볼 수 있지만, 프로토타입부터의 게임 컨셉은 크게 바뀌지 않았다. 중간에 스킬시스템이 들어갔는데 이건 강제 테스터를 맡고 있던 지인들의 의견이었고, 콤보시스템은 플레이 중에 무언가 밋밋한 느낌이 들어서 자체적으로 진행했다. 되돌아보면 개발 중에 의견이 있을 경우 누구 의견인지 크게 상관하지 않고 받아들이려고 많이 노력했던 것 같다. 물론 기본 컨셉을 해치지 않는 선에서...



잘한 점


  • 초창기에 정한 컨셉을 잘 유지해나갔다.

  • 신선한 컨셉의 게임을 만드려고 노력했다.

  • 지치지 않고 꾸준히 개발했다.


아쉬운 점


  • 출시가 너무 늦었다.
    프로토타입 이후 너무 오랜 기간이 지난 이후에 플레이 스토어에 출시했다.

  • 반복 가능한 플레이의 게임이 아니었다.
    초기에는 "캔디크러시사가"처럼 여러 스테이지를 만들고 이를 즐기게 하고 싶었다. 하지만 그 정도의 볼륨을 만드는데 엄청난 시간과 노력이 든다는 것을 뒤늦게 알았다. 일찍 알았으면 처음부터 컨셉을 바꿔서 개발했을 것 같다. 그나마 랜덤모드를 만들어서 이 아쉬움은 좀 해소가 되었다.

  • 팀 구성원의 속도 차이가 많이 났다.
    사실 나는 프로이고 동생은 아마추어니까 작업 속도가 많이 날 수 밖에 없는 환경이다. 하지만 동생은 시험 등의 문제로 개발에서 떨어져있는 시간이 많았고, 그럴 때는 나 혼자 아트를 할 수 밖에 없었다. 당연히 속도가 나지 않았고 아티스트 대안을 찾을지 말지를 망설였던 기간들도 꽤 있었다.

  • 특정 기술 이슈로 시간이 많이 지체되었다.
    게임을 개발하면서 2번의 큰 리펙토링이 있었다. 첫번째는 AndroidStudio를 지원하기 위해서 cocos2d v3.9로 마이그레이션을 했을 때다. 마이그레이션 이후 특수한 문제가 발생해서 이를 해결하느라 많은 시간을 허비했다. 두번째는 원하는 물리 예측 및 연출을 위해서 물리 엔진을 바꿨을 때인데 cocos2d의 기본 물리엔진인 chipmunk를 사용하다가 자체 개발한 물리시스템, 다시 box2d로 되돌아오기까지 많은 시간이 걸렸다. 사실 물리는 지금도 그렇게 마음에 들지는 않는다.

  • 혼자 개발했다.
    인디 게임 개발 카페 등에서 많은 노하우나 정보를 듣고 개발하는게 좋았는데, 그냥 혼자서만 개발했다.  카페 등에서 미리 정보를 얻었다면 인앱 아이템 설계부터 배포, 광고 등에 많은 도움이 되었을 것 같다.



트레일러


  • 사용한 툴 : lightworks

  • 느낀 점 : 노트북으로 동영상 제작은 힘들다.




게임 다운로드


https://play.google.com/store/apps/details?id=kr.TeamPych.StarCrush


반응형