오늘은 내가 즐기고 있는 게임 중 명조라는 게임의 다채화라는 컨텐츠를 분석해서 기획서를 작성해보려고 한다.(역기획)
또한 해당 컨텐츠를 제작할 때, 전부 개발자가 수동으로 만들면 힘들다고 생각하기 때문에 스테이지를 제작하는 기능을 추가하려고 한다.
명조 다채화
- 이런식으로 타겟 색상이 존재하고 남은 횟수 이내에 해당 색상으로 판을 채우면 성공하는 퍼즐 컨텐츠이다.
주제 선정 사유
-
알고리즘에 부족함을 느껴서 알고리즘을 사용하는 게임이 머 없을까 하다가 내가 즐기고 있는 게임인 명조에서 Flood Fill 로직을 사용하는 듯한 컨텐츠를 발견함.
-
또한 스테이지 제작 기능을 만들 때, Json를 이용하여 구현해서 Json으로 데이터를 저장하고 불러오는 방법을 학습할 예정.
- Flood Fill 알고리즘 학습
- Json를 이용한 데이터 저장 및 불러오기 기능을 학습
게임 분석
- 10 X 8 모양의 판이 존재하고
- 한 칸마다 색을 가지고 있음.
- 색은 파랑, 노랑, 초록, 빨강이 존재.
- 오른쪽에서 색상을 선택 할 수 있음.
- 색상을 선택하고 칸을 선택하면 선택한 색상으로 바뀜.
- 또한 상하좌우 연결된 칸은 같은 변하기 전과 같은 색상이면 똑같이 바뀐다.
- 시도 가능 횟수 이내에 타겟 색상으로 모든 판을 채우면 퍼즐 해결.
- 시도 가능 횟수 이내 타겟 색상으로 바꾸지 못한다면 초기 상태로 되돌아감.
- 또한 리셋 버튼을 통해서 초기 상태로 되돌아 갈 수 있음.
- 3회 리셋이 된다면 시도 가능 횟수가 +1이 되어 난이도가 내려감.
추가 하고 싶은 기능
스테이지 생성 기능
- 10 X 8 모양의 판이 존재.
- 모든 칸은 흰색으로 설정.
- 오른쪽에서 색상을 선택 할 수 있음.
- 흰색 칸이 존재하지 않게 모든 칸을 채움.
- 타겟 색상을 설정하고 완성 버튼을 누름.
- 이후 제작된 게임을 진행.
- 진행하면서 시도 획수를 기록.
- 완성되면 해당 스테이지를 저장.
- 리셋 버튼은 두 가지 기능을 지원
9-1. 완성 버튼을 누르기 전) 흰색으로 리셋
9-2. 완성 버튼을 누른 후) 제작한 색상 판으로 돌아가고 시도 횟수도 0으로 리셋
최소 시도 횟수 판단 알고리즘
-
제작자가 만든 퍼즐을 스스로 해결해서 시도 횟수를 계산하는 것보다 알고리즘을 제작해서 완성 버튼을 눌렀을 때, 알고리즘이 판단하여 시도 횟수를 정하는게 이상적.
-
해당 기능을 완성할 수 있을지는 모르겠으나 도전은 할 예정