수박게임은 왜 안 터지나 — 합칠수록 자리가 남게 설계돼 있습니다
수박게임을 하다 보면 이상한 점이 있습니다. 과일을 계속 떨어뜨리는데도 판이 생각보다 늦게 찹니다. 합칠 때마다 더 큰 과일이 나오니 자리를 더 차지해야 할 것 같은데 말입니다.
여기에 설계의 핵심이 숨어 있습니다. 두 개를 합치면 면적이 오히려 줄어듭니다. 게임이 성립하는 이유가 이 한 줄에 있습니다.

과일은 10단계, 점수는 두 배씩
꿀도구 수박게임의 과일은 체리부터 수박까지 열 단계입니다. 점수는 정확히 두 배씩 올라갑니다.
| 단계 | 과일 | 반지름 | 점수 |
|---|---|---|---|
| 1 | 체리 | 15 | 1 |
| 2 | 딸기 | 20 | 2 |
| 3 | 포도 | 25 | 4 |
| 4 | 오렌지 | 32 | 8 |
| 5 | 사과 | 40 | 16 |
| 6 | 배 | 48 | 32 |
| 7 | 복숭아 | 56 | 64 |
| 8 | 파인애플 | 65 | 128 |
| 9 | 멜론 | 75 | 256 |
| 10 | 수박 | 90 | 512 |
점수만 보면 1, 2, 4, 8… 2의 거듭제곱입니다. 그런데 반지름은 두 배씩 늘지 않습니다. 체리 15에서 수박 90까지, 아홉 단계를 올라가는 동안 겨우 6배가 됐습니다. 두 배씩 아홉 번이면 512배가 됐어야 하는데 말입니다.
이 어긋남이 게임의 핵심입니다. 점수는 지수적으로 커지는데 크기는 완만하게만 커지도록 따로 정해둔 것입니다. 만약 반지름도 점수처럼 두 배씩 늘었다면 사과 하나가 화면을 다 덮었을 겁니다. 보상은 크게, 부담은 작게 설계한 결과입니다.

합치면 면적이 줄어든다
여기서 계산을 해봅시다. 같은 크기의 원 두 개를 합쳐 하나로 만들 때, 면적을 그대로 유지하려면 새 원의 반지름은 원래의 몇 배여야 할까요.
면적은 반지름의 제곱에 비례하니, 면적이 두 배가 되려면 반지름은 √2, 즉 약 1.414배여야 합니다. 그런데 실제 게임의 배율은 그보다 훨씬 작습니다.
| 합치는 과일 | 반지름 배율 | 면적 변화 |
|---|---|---|
| 체리 둘 → 딸기 | 1.333배 | 11% 줄어듦 |
| 포도 둘 → 오렌지 | 1.280배 | 18% 줄어듦 |
| 배 둘 → 복숭아 | 1.167배 | 32% 줄어듦 |
| 멜론 둘 → 수박 | 1.200배 | 28% 줄어듦 |
멜론 두 개가 차지하던 자리에 수박을 놓으면 28%가 비게 됩니다. 합칠 때마다 판에 여유가 생기는 것입니다. 과일이 커지는데도 판이 덜 차는 이유가 여기 있습니다.
이게 없으면 게임이 성립하지 않습니다. 면적이 그대로거나 늘어난다면 아무리 잘 합쳐도 판은 계속 채워지기만 하고, 합치는 행위 자체가 아무 이득이 없어집니다. "합치면 자리가 생긴다"는 보상이 있어야 플레이어가 합칠 이유가 생깁니다.
절약률이 뒤로 갈수록 커지는 것도 의도적으로 보입니다. 초반 11%에서 중후반 30% 안팎까지 올라갑니다. 큰 과일이 판을 많이 차지하는 후반일수록 합쳤을 때 돌아오는 여유가 크다는 뜻입니다. 버티기 힘든 구간에 보상을 몰아준 셈입니다.
수박 하나에 체리 512개
양으로 따져보면 수박이 얼마나 먼 목표인지 드러납니다. 수박은 멜론 둘, 멜론은 파인애플 둘… 이렇게 거슬러 올라가면 수박 하나는 체리 512개에서 나옵니다.
그동안 쌓이는 점수는 이렇습니다.
- 딸기 256번 × 2점 = 512점
- 포도 128번 × 4점 = 512점
- 오렌지 64번 × 8점 = 512점
- … 각 단계가 정확히 512점씩
- 수박 1번 × 512점 = 512점
단계가 아홉 개이니 총 4,608점입니다. 개수는 절반으로 줄고 점수는 두 배가 되니 각 단계의 기여가 똑같아집니다. 그래서 수박을 만들었다면 점수가 최소 4,608점은 나와 있어야 정상입니다.

수박끼리는 합쳐지지 않는다
여기에 함정이 하나 있습니다. 합치기 규칙은 마지막 단계 바로 앞까지만 적용됩니다. 즉 수박 두 개를 붙여놔도 아무 일도 일어나지 않습니다.
결과는 분명합니다. 수박은 한 번 만들어지면 판에서 사라지지 않습니다. 반지름 90짜리 덩어리가 자리를 차지한 채 끝까지 남습니다. 앞에서 본 "합치면 자리가 난다"는 보상이 마지막 단계에서만 끊기는 것입니다.
그래서 수박을 여러 개 만들수록 판이 좁아집니다. 점수는 올라가는데 남은 공간은 줄어드는 구간이 오고, 대개 여기서 게임이 끝납니다. 수박을 만들었다면 가장자리로 밀어두고 가운데는 아직 합칠 수 있는 과일들이 쓰도록 남겨두는 편이 오래 버팁니다.
게임이 끝나는 선도 정해져 있습니다. 화면 위쪽에 그어진 선을 과일이 넘어 올라오면 종료입니다. 과일이 떨어지는 위치보다 조금 아래에 있어서, 새 과일을 떨어뜨릴 자리 자체가 막히면 끝난다고 보면 됩니다.
중력을 바꾸면 게임이 달라진다
꿀도구 수박게임에는 물리 설정 프리셋이 네 가지 있습니다. 같은 규칙인데 손맛이 완전히 달라집니다.
- 기본 — 표준 설정입니다
- 달나라 — 중력이 약해 과일이 천천히 떨어집니다. 자리를 잡을 시간이 생기지만, 굴러가는 거리도 길어져 조준이 어려워집니다
- 통통볼 — 반발력이 높아 과일이 튑니다. 쌓아둔 더미가 충격에 흐트러지기 쉬워 난이도가 올라갑니다
- 접착 — 마찰이 최대라 떨어진 자리에 거의 그대로 멈춥니다. 계획대로 쌓기 좋지만, 한 번 잘못 놓으면 굴러서 정리되지 않습니다
어느 설정이든 공통으로 통하는 건 떨어뜨리는 위치입니다. 과일은 놓는 순간 굴러가기 때문에, 목표 지점 바로 위가 아니라 굴러갈 방향을 고려해 조금 옆에서 떨어뜨려야 원하는 자리에 닿습니다. 중력이 약한 설정일수록 굴러가는 거리가 길어져 이 보정이 커집니다.
실전 요령도 이 구조에서 나옵니다. 큰 과일은 한쪽 구석으로 몰고 작은 과일을 그 위나 반대편에서 처리하는 편이 낫습니다. 큰 과일이 가운데 있으면 판이 좌우로 갈려 양쪽 모두 좁아집니다. 2048에서 큰 타일을 모서리에 고정하는 것과 같은 원리입니다.
그리고 같은 과일 두 개를 붙여두는 것을 우선하세요. 합치면 자리가 나므로, 합칠 수 있는 짝을 남겨두는 것이 곧 여유 공간을 예약해두는 일입니다. 반대로 짝이 없는 과일이 여기저기 흩어지기 시작하면 그때부터 판이 급격히 차오릅니다.
물리 설정 네 가지를 바꿔가며 해볼 수 있고, 최고 점수는 자동으로 저장됩니다.
과일 열 단계의 반지름·점수와 물리 프리셋 네 가지는 꿀도구 수박게임의 소스 코드에서 읽은 값입니다. 반지름은 게임 내부 단위이고, 면적 변화는 원의 면적이 반지름의 제곱에 비례한다는 점을 이용해 "같은 과일 두 개의 면적 합"과 "합쳐서 나온 과일의 면적"을 비교해 계산했습니다. 체리 512개와 4,608점은 수박 하나를 체리만으로 만들었을 때의 값이라, 실제로는 중간부터 큰 과일이 떨어지기도 해서 이보다 적게 걸릴 수 있습니다. 전략 부분은 이 구조에서 도출한 일반적인 요령이며 정해진 정답은 아닙니다.