※ 지난 기사 읽기
스테이지가 있는 플래피 버드
플래피 버드는 흥행 대박을 친 게임이긴 하지만, 막상 게임은 너무 단순하고 어려웠습니다. 물론 그 점이 성공 요인이었지만, 이미 한번 쓰인 레퍼토리라 그 형태로 가는 건 필패.
제 게임은 그런 행운보다는 게임 자체가 재미있게 하고 싶었습니다. 그래서 랜덤 무한 형식의 게임이 아니라 스테이지 형식으로 한판 깨나갈 수 있도록 하는 게 좋다고 판단했습니다.
대략 아래와 같이 전략을 세웠습니다.
- 스테이지 기반으로 가자
- 단순 클리어만 하면 재미없으니 스테이지에 코인을 두고 다 먹으면 별 3개를 주자
- 클리어는 좀 쉽게 하되, 별을 다 모으는 건 좀 힘들게 하자
- 지루해지지 않게 다양한 형태의 장애물을 만들어보자
- 자석 아이템, 보호막 같은 특수 아이템을 만들자
컨셉도 정했습니다. 주인공 캐릭터를 도트 그래픽으로 캐릭터를 이것저것 그려봤습니다. 아무리 도트 그래픽이라지만 프로그래머의 디자인 센스로 뭔가 그려내는 게 어려웠는데 특히나 생명이 있는 것들은 더 그랬습니다.
그래서 처음 그려본 것이 UFO입니다. 나름 SF 콘셉으로 괜찮다고 생각했는데 막상 플레이해보니 캐릭터에 애정이 느껴지지 않는 게 문제였습니다. 이후 다시 그린 것이 고양이 캐릭터입니다. (제가 냥이를 너무 좋아해요!) 생선으로 보인다는 주변의 피드백을 귀 따갑게 들으며, 몇 번을 수정해서 겨우 알아볼 수 있을 정도로 마무리했습니다.

▲ 고양이로 보이시나요?

스테이지 컨셉은 마리오3 느낌으로 잡았습니다. 일단 스테이지를 처음부터 다 그리는 건 제 능력밖의 일이니 일단 필요한 이미지를 업어와서 만든 다음, 전부를 다시 그리는 방식으로 하기로 했습니다. 마리오의 이미지들은 http://www.mariouniverse.com/sprites/nes/smb3 이곳에서 가져왔습니다. 스테이지를 표시하는 월드 맵 작업부터 시작!
월드맵 작성
스테이지 화면은 tk2d의 타일맵을 이용해 작성했습니다. 처음에는 tk2d로 맵을 작성한 다음에 이미지를 캡처해서 NGUI로 다시 화면을 구성했습니다. 스테이지 버튼들이 맵 편집 후 자동으로 지정된 프리팹으로 치환되는데, 자동 생성된 프리팹 각각에 다른 데이터를 넣는 것이 안될 거라고 생각했습니다.
하지만 프리팹 치환이 런타임이 아니라 맵편집 후 "Commit 타이밍"이라 데이터를 수정할 수 있었습니다. 그래서 다시 NGUI는 걷어내고 tk2d를 사용했습니다. 이미지들은 16비트 마리오 느낌을 계속 주기 위해서 마리오 3의 컬러 코드는 그대로 사용하고 이미지들은 다시 그렸습니다.
월드맵 구성을 위해 사용된 타일입니다.

tk2d의 타일맵을 이용해 스테이지를 편집하는 모습입니다. tk2d가 잘 만들어져 작업이 편했습니다. 레이어링 지원도 되고, 지정한 타일을 프리팹으로 치환해주는 기능도 있습니다. 스테이지 버튼들은 다 프리팹으로 치환해서 버튼을 눌릴 수 있도록 했습니다.
나무와 바다는 정적인 것보다 움직임이 있는 것이 좋을 것 같아서 애니메이션을 넣었습니다. 역시 타일을 프리팹으로 치환해주는 기능을 이용했습니다.

tk2d의 타일맵에 관한 정보는 아래에서 얻을 수 있습니다.
http://www.unikronsoftware.com/2dtoolkit/docs/latest/tilemap/tutorial.html
스테이지 제작
스테이지 역시 tk2d의 타일맵을 사용했습니다. 제가 필요한 기능들은 다 있어서 작업하기가 수월했습니다. 코딩은 크게 어려운 건 없었지만 60개의 스테이지를 지루하지 않게 적당한 난이도로 채워 넣기는 쉽지 않았습니다. 일단 스테이지는 출시 시점 목표 60개로 하고, 20스테이지씩 끊어서 3개의 테마로 구성되게 했습니다.
대략적 아래와 같이 구성했습니다.
- 20스테이지 별로 하나의 테마
- 1챕터는 초원 배경
- 2챕터는 얼음 배경
- 3챕터는 사막 배경
- 매 5스테이지는 보너스 스테이지
- 매 10스테이지는 보스 스테이지
- 5챕터 별로 새로운 장애물 1~2종씩 추가되게
스테이지 구성에 사용한 타일입니다. 화살표가 있는 타일들은 화면에 표시되지 않고 특정 프리팹으로 치환되는 것들입니다.

하루에 많을 때는 10개, 적을 때는 5개 스테이지 정도를 작업했습니다. 그렇게 일주일 정도를 꼬박 스테이지 구성에만 시간을 할애했습니다. 스테이지는 적당히 장애물을 배치한 후에 깨어지는지 안 깨지는지 확인해가면서, 안 깨지면 조금 배치를 수정하고, 너무 쉬우면 장애물을 추가하는 식으로 작업했습니다.
초반 스테이지들은 어려울 필요가 없으니 구성이 쉬웠는데, 후반으로 갈수록 클리어할 수 있는지 확인이 오래 걸린 데다가 반복되는 노동에 점점 지쳐갔습니다
Unity3D에서 스테이지를 작업하는 화면입니다. 이렇게 60개만 만들면 됩니다.

노동의 결과로 아래와 같은 스테이지들이 구성되었습니다.

'뉴스 센터 > 기획' 카테고리의 다른 글
인디게임 메이커, 도시탈출 개발일지 2부 (0) | 2015.05.19 |
---|---|
인디게임 메이커, 까칠한 네티 개발일지 2부 (0) | 2015.05.19 |
인디게임 메이커, 계약소녀 개발일지 5부 (0) | 2015.05.15 |