60여 개의 스테이지가 있긴 하지만, 조금 익숙해진 플레이어들은 금방 클리어 해낼 거라 생각했습니다. 출시 시점에 스테이지를 잔뜩 더 넣는 것도 방법이 되겠지만 우선 개발기간이 짧았습니다. 유저에게도 너무 스테이지가 많으면 부담이 될 것 같았습니다.
스테이지가 많아도 결국은 또 떨어질 거라 무한 모드를 넣는 것을 고려했습니다. 맵을 랜덤하게 생성하는 방식의 게임이 아니기 때문에, 무한 모드는 이미 기존에 만들어진 스테이지들을 랜덤하게 뿌려주는 방식으로 구성했습니다.
몇 번의 전략적 고민과 수정을 거쳐서 다음과 같이 구성했습니다.
- 1, 2, 3 각 챕터에서 한 개씩, 보스 스테이지 중 1개, 보너스 스테이지 중 1개가 하나의 이터레이션
- 이터레이션이 하나 끝날 때마다 10%씩 게임 속도가 빨라지게, 최대 150% 까지.
- 스타 대신 코인을 수집
- 수집한 코인으로 점수 보너스를 업그레이드 할 수 있음
- 수집한 코인으로 실드 구매 가능
무한 모드이지만 이터레이션을 둬서 약간 끊어가는 느낌도 갖게 했습니다. 또 지루하게 평탄한 대신에 이터레이션 끝에 보너스 스테이지를 둬서, "여기까지 오면 보너스가 있어"라고 좀 더 하도록 유도했습니다.
각 스테이지들은 계속 재 시도하기 때문에 20번 도전만에 깨질 정도로 어려워도 상관없습니다. 하지만 무한 모드는 너무 어려우면 게임이 진행이 안되므로 실드 시스템을 도입했습니다. (사실 모은 코인을 딱히 쓸데도 없고 해서) 실드가 있으면 충돌과 동시에 발동됩니다. 최대 3번의 쉴드까지 구입 가능합니다.
점수는 각 OS가 제공하는 리더보드를 통해 자랑하게 해둔 걸로 무한 모드는 작업 완료!
이제 마무리 작업만 남았습니다.
마무리작업
대략적인 큰 작업을 다 끝내고 난 후, 마무리 작업을 시작했습니다. 마무리 시점에 한 작업들은 대략 아래와 같습니다.
- 번역 작업 (영어, 일본어)
- 사운드 작업
- 알려진 버그 수정
다행히 텍스트는 거의 없는 게임이라 번역 작업이 어렵진 않았습니다. 영어와 일본어는 구글 번역기를 이용해서 초벌 번역을 했습니다. 영어의 경우에는 이상한 번역들을 직접 손봤습니다. 일본어는 번역기가 잘 해주므로 번역된 것을 거꾸로 한국어로 다시 번역해봐서 안 이상하면 그냥 사용했습니다.
번역을 위한 개발 대응은, 텍스트를 관리하는 클래스를 만들고 거기에 하나의 key에 대응하는 여러 국가로 번역된 텍스트를 넣어두고, key와 lang으로 텍스트를 조회해 오는 방식입니다. UI에서는 텍스트를 직접 사용하는 것이 아니라 key와 lang으로 조회해와서 사용합니다. 일부 타이틀 텍스트는 그냥 이미지를 사용 했습니다.
다국어는 스트링 번들은 이렇게 관리 됩니다. 개인적으로 언어별로 번들 파일을 분리하는 것보다 이런 식으로 합치는 것을 선호합니다. 성능상으로 미미한 손해인 대신에, 번역과 수정이 편한 것 같습니다. 대신 파서 작성이 조금 귀찮아 집니다.
사운드 작업은 코딩이나 스테이지 콘텐츠 작업에 비하면 훨씬 재미있는 작업입니다. 들어보고 넣어보고 어울리면 그냥 두고, 안 어울리면 바꾸고. 단, 쓸만한 공짜 사운드 파일을 구하기가 어렵습니다.
사운드 파일은 freesfx 사이트와 유료 사이트인 pond5를 이용했습니다. freesfx는 출처만 표시하면 무료로 사용할 수 있지만, 효과음이나 배경음 모두 현저하게 적어서 맘에 드는 걸 찾기 어려웠습니다. 반면에 pond5는 소스 자체도 많고 검색도 쉽게 잘 됩니다. 대신 효과음은 건당 3$, 배경음은 20~70$ 정도로 꽤나 고가라, 16비트 느낌의 배경음과 일부 효과음만 pond5를 이용했습니다.
알고 있는 버그까지 잡고 마무리 작업까지 완료.
이제 출시만 남았습니다.
스토어에 출시
등록순 최신순 댓글순