글쓰는 개발자

[기획] 사과 게임 만들기 1장 본문

IT 서비스 제작과정/기획

[기획] 사과 게임 만들기 1장

세가사 2025. 3. 4. 13:20
반응형

 

일본에서 만든 사과게임에 한때 푹 빠졌던 적이있다.

 

1 부터 9까지의 숫자 적힌 사과가 펼쳐져 있고, 그 합이 10이 되는 사과를 드래그 하면 사과가 지워지는 식의 간단한 규칙이지만 제한된 시간동안 빠르게 지워나가야 하기에 목표로 하는 점수에 따라 자체적으로 난이도 조절이 가능하다.

 

대학교 프로젝트로 C++ MFC / C# 등으로 게임을 직접 만들어 본 경험이 있다. 스테이지가 하나인 1984 게임, 사천성, 윷놀이 등의 비교적 간단한 퍼즐류 게임들이었지만 엔진없이 게임을 만드는 것은 생각보다 할일이 많다. 

 

0부터 시작하는 게임제작은 한마디로 노가다에 가깝다. 하지만 엔진이 없는 만큼 더욱 자유도 높은 게임을 만들수 있다.

 

일단 만드려는 게임의 리버스 엔지니어링부터 시작해야 한다.

 

게임을 할때마다 궁금했던것은 가로 17줄 세로 10줄인데 1부터 9까지의 숫자가 같은 숫자만큼 분포되어있을지 여부였다.

 

배열은 랜덤일 수 있지만 만약 숫자 자체가 랜덤이라면 1의 숫자가 9보다 작다면 절때 모든 사과를 없앨수가 없게 된다. 하지만 그게 게임의 난이도를 조절하는 하나의 요소가 될수 있다고 생각해서 사과의 갯수를 세는 것으로 시작했다.

 

 

위에서 부터 한줄씩 +를 붙이면서 메모장에 세어보니 상당히 불규칙한 갯수의 사과들이 존재함을 알수 있었다.

 

아무래도 1부터 9까지의 숫자가 정해진 갯수대로가 아닌 무작위 랜덤으로 만들어져 배치되는것으로 보인다.

 

혹시 위의 1과 9의 갯수들이 모두 고정된건 아닌지 새로운 게임을 띄워서 세어봤더니 1의 갯수가 17개가 나왔다.

 

그럼 구현하는 부분은 이미 정해진 숫자를 셔플해서 배치하는것이 아닌 각 자리별로 1-9까지의 숫자를 랜덤을 돌려서 배치하면 되니 구현 자체는 간단해 졌다.

 

게임 개발을 위한 순서는 다음과 같다.

1. 사과를 띄워주기

2. 드래그 이벤트를 인식해서 사과의 테두리 색이 변하게하기

3. 드래그된 숫자가 10일 경우 사과를 제거

4. 사과가 튕겨서 사라지는 애니매이션 효과와 효과음

5. 점수 계산

6. 타임아웃 바를 그려주고 시간이 끝나면 게임 종료 이벤트

7. 게임 종료 화면과 게임 재시작 화면

 

게임 개발로 끝나는 것이 배포 및 게시도 중요하다.

1. 도메인 구매

2. 퍼블릭 배포 ( vercel 혹은 aws )

3. 구글 애드 센스 광고 추가

 

판매할 상품이 딱히 없기 때문에 웹은 광고 정도로 수익을 보고 iOS 모바일 앱을 같은 방식으로 개발해서 판매해보자.

반응형