최근 1년간 폭격방어자(영문판: Bombing Defender, 일어판: 爆撃の防御者)란 게임을 개발하였습니다. 게임은 터치로 하는 모바일 슈팅 게임입니다.
게임계에서도 일했지만 게임 기획이라는 것을 처음 해보았습니다. 1인 개발이고 빠르게 개발하기 위해서라기 보다는 귀찮아서 따로 문서를 남기지는 않았습니다. 대신 프로그래머고 1인 개발을 하다보니까 기획서 대신 기획한 내용을 바로 바로 데모로 작성하였습니다. 일종의 데모 게임으로 돌아가는 기획서라고 할 수 있겠습니다. 실제로 만든 게임은 데모용 데이터 파일을 먼저 만들었습니다. 해당 데이터는 실제 게임처럼 난이도가 아닌 적 비행기의 패턴과 나오는 그룹 형태에 따라 스테이지가 구분되어 있습니다. 실제 게임은 해당 데모의 스테이지들을 응용하여 난이도에 따라 만들어졌습니다.
게임도 많이 했고 게임 개발도 오래 참여했지만 실제로 게임을 만들게 되니 처음으로 고민한 것이 게임은 무엇으로 이루어지는가 였습니다. 참 아이러니한 순간이었습니다. 게임을 많이 안다고 생각했는데 기초는 잘 모르고 있었던 듯 싶습니다.
이런 고민을 할 때 많이 생각해본게 어린시절 해보았던 버블보블이란 게임입니다. 이 게임은 대략 아래와 같은 구조를 가지고 있습니다.
1. 풍선을 쏘는 공룡이 있다.
2. 풍선을 적에 맞추면 적이 풍선 속으로 들어간다.
3. 적이 담긴 풍선을 터트리면 적이 죽는다.
4. 화면에 나타나는 아이템을 먹으면 주인공의 능력이 향상된다.
5. 적이 쏘는 마법이나 적과 부디치면 죽는다.
제가 만든 폭격방어자란 게임은 대략 아래와 같은 구조를 가지고 있습니다.
1. 화면을 터치하여 총을 쏜다.
2. 적이나 폭탄이 총을 맞으면 적의 에너지가 줄어들거나 터진다.
3. 적이 쏜 폭탄에 마을이 타격을 맞으면 주인공의 에너지가 줄어든다.
4. 중간에 새가 나오고 새를 사냥하면 게임에 도움이 되는 아이템 능력을 얻을 수 있다.
어떻게 보면 너무나 당연한 건데 새 아이템까지 확장된 골격 구조를 만드는데 까지 생각 외로 고민의 시간이 길었던거 같습니다.
이 게임은 처음부터 한 번 구매로 끝나는 팩키지 게임으로 기획되었습니다. 어떻게보면 무료 게임과 유료 아이템 구매 혹은 광고로 수익을 창출하는 근래의 추세와는 안 맞을 수도 있습니다. 이는 애초에 만들고 싶은 게임의 형태가 과거 처음 게임을 하던 때의 오락실이나 팩 게임에 있는 완전한 형태의 팩키지였기 때문입니다. 다작이나 흥행에 따라 계속적으로 이어지는 게임보다는 어느정도 품질을 가지고 있는 완전한 게임을 만들고 싶은 욕구가 강했던게 사실입니다. 또한 오랜 플레이 시간을 만들기 위하여 슈팅 게임에 구태여 RPG적인 요소를 추가할 생각도, 그럴 여력도 없었던 것도 사실입니다. 대신 오프라인을 강조하여 네트워크 없는 곳에서도 쉽게 즐길 수 있는 게임이기를 바랬습니다.
게임은 슈팅 게임을 만들지만 가상패드가 아닌 모바일 기기에 맞는 입력으로 만들려고 하였습니다. 그런 고민을 하다보니 현재의 터치를 이용한 게임이 나왔습니다. 처음 개발은 PC에서 한 관계로 터치 대신 마우스로 테스트하면서 개발하였습니다. 그런데 모바일용을 만들 때는 처음부터 모바일 기기에서의 입력을 바탕으로 개발하는 것이 좋은 듯 싶습니다. 나중에 모바일 기기에서 테스트를 하니 마우스로 만든 난이도는 너무 쉬워서 난이도를 높이는데 꽤 고생해야 했습니다. 마우스로 어느 정도 난이도가 된다고 생각했을 때 멀티 터치를 지원할까도 생각했다가 결국 멀티 터치는 포기하였습니다.
예전에는 난이도란 것이 단순이 얼마나 게임을 어렵게 만드는가라고 생각했었습니다. 실제로 게임을 만들어 보니 난이도란 것은 얼마나 게임이 어려운가로 접근하는 것이 아니라는 생각이 들었습니다. 실제로 만들어 보니 난이도라는 것은 게임이 너무 쉬워서 지루해지거나 게임이 너무 어려워서 포기하게 만드는 그 중간에 위치하여 플레이하는 즐거움이 최고가 되게 만드는 것이라는 생각이 들었습니다. 사실 QA라는 것이 없이 만들면서 무한히 플레이를 하다보니 제게 즐거움을 주는 난이도를 발견하고 든 생각이었습니다.
처음 고민했던 것이 게임의 골격이었다면 게임을 개발하는 내내 고민해야했던 것이 게임의 난이도를 무엇으로 어떻게 만드는가 였습니다. 앞에서 예를 들었던 보글보글과 같은 경우는 적 몬스터의 다양성, 퍼즐식의 지형, 주어지는 풍선 종류 등으로 난이도를 만들어냅니다. 제가 만든 폭격방어자와 같은 경우는 적 비행선의 움직임 패턴이나 속도 혹은 에너지 크기 그리고 적 비행선 그룹 움직임, 폭격의 양이나 속도 등으로 조절하였습니다. 솔직히 기획을 전문적으로 하는 사람이 아니다 보니 이런 것도 생각하기 쉽지 않더군요. 적 비행선 패턴같은 경우는 다양성을 만들어내기 위해서 정말로 많은 고전 슈팅게임 영상을 참조한면서 고민한거 같습니다.
최종적으로 나온 난이도는 누구나 쉽게 할 수 있는 난이도에서 쉽게 클리어하기 힘든 난이도로 점진적으로 어려워집니다. 솔직히 조금 쉽습니다. 끝에 난이도를 더 올리기 보다는 게임을 클리어할 수 있게 만드는 것을 목적으로 했기 때문에 구지 더 높이지는 않았습니다. 대신 예전에 하던 게임처럼 한번에는 클리어할 수 없고 하면서 익숙히 지면 클리어할 수 있게 만들려고 하였습니다. 게임을 하다보면 처음에는 적 비행선 그룹의 패턴이 단순한데 후반 스테이지로 가면 좀 더 복잡해집니다. 결국은 처음에 쉬운 것을 만들고 뒤에 가서는 해당 패턴의 클리어 방식으로는 클리어할 수 없도록 만들려고 노력하였습니다.
간단히 만들 때 기억나는 것을 적어 보았습니다. 솔직히 새로운 스테이지나 적비행선 패턴 혹은 새로운 난이도를 만들어내는 것은 끈임없이 새로운 것을 만드는 것의 연속이었고 아이디어가 떠오르지 않아 고생했던거 같습니다. 다시한번 게임 제작을 다른 관점에서 보게된거 같습니다. 게임에서 별거 없어 보이는 부분도 꽤 많은 고민과 고통이 들어갈 수도 있었겠구나를 느끼던 순간이었던거 같습니다.
'개발이야기' 카테고리의 다른 글
게임기획: 게임 난이도 조절 팁 (0) | 2022.06.17 |
---|---|
SPA 웹 #2: REST API Server: 노드(Node.js) vs 스프링부트(Spring Boot) (1) | 2022.05.03 |
SPA 웹 #1: Vue.js + REST API Server (0) | 2022.05.02 |
폭격방어자 포스트모템 #5: 기타 (0) | 2022.02.21 |
폭격방어자 포스트모템 #4: 그래픽과 사운드 (0) | 2022.02.20 |
폭격방어자 포스트모템 #3: 프로그래밍 (0) | 2022.02.19 |
폭격방어자 포스트모템 #1: 1인 개발 (0) | 2022.02.16 |
만들고 있는 주식 차트 컨트롤 (0) | 2022.01.25 |