게임 가이드게임 공략 · 1/27
2048 모서리 전략과 뱀 모양 배열
2048이 256이나 512에서 자꾸 막힌다면 대개 배치가 문제입니다. 큰 타일을 모서리에 두고 뱀 모양으로 쌓는 법을 컴퓨터로 수천 판 둬 본 결과와 함께 설명합니다.
Bob10분 읽기
핵심 요약
- 가장 큰 타일을 한 모서리에 두고, 그 옆으로 큰 수부터 한 줄씩 꺾어 쌓습니다
- 빈칸을 어디에 남기느냐로 새 타일이 생길 자리를 좁힐 수 있습니다
- 뱀 모양으로 판을 채점하며 두 수 앞까지 따진 컴퓨터는 37%의 판에서 2048을 만들었습니다
목차
2048은 규칙을 배우는 데 1분이면 충분하지만, 2048 타일까지 가는 길은 생각보다 깁니다. 아래 시뮬레이션에서 모서리를 지키는 방향 순서만 정해 두고 둔 컴퓨터는 2,000판 가운데 한 번도 1024를 만들지 못했습니다. 운보다 타일을 어디에 두느냐가 결과를 가른다는 뜻입니다. 아래 내용은 이 사이트의 2048이 실제로 동작하는 규칙을 코드로 확인해 정리했고, 표와 그래프의 숫자는 같은 규칙으로 직접 계산하거나 컴퓨터로 수천 판을 끝까지 두어 얻은 값입니다.
한눈에 보기
| 원칙 | 하는 일 | 효과가 있는 이유 |
|---|---|---|
| 모서리 고정 | 가장 큰 타일을 한 모서리(예: 왼쪽 아래)에 두고 옮기지 않는다 | 큰 타일이 가운데로 나오면 작은 타일 사이에 갇힌다 |
| 뱀 모양 배열 | 바닥 줄을 큰 수부터 채우고, 줄 끝에서 꺾어 위 줄로 이어 간다 | 이웃한 타일끼리 크기가 비슷해 연달아 합쳐진다 |
| 방향 제한 | ←·↓ 위주, →는 바닥 줄이 가득 찼을 때만, ↑는 최후의 수단 | 모서리를 비우는 방향을 쓰지 않는다 |
| 빈칸 관리 | 빈칸을 뱀의 꼬리 쪽에 모아 둔다 | 새 타일은 빈칸 중 무작위 한 곳에 생긴다 |
| 확률 감각 | 새 타일은 2가 90%, 4가 10% | 한 칸짜리 틈에 모든 계획을 걸지 않는다 |
우리 게임의 규칙에서 알아 둘 것
전략은 규칙에서 나옵니다. 이 사이트의 2048은 다음과 같이 움직입니다.
- 판은 4×4이고, 타일 두 개가 놓인 채로 시작합니다.
- 타일이 하나라도 움직이거나 합쳐지면, 빈칸 가운데 한 곳이 무작위로 골라져 새 타일이 하나 생깁니다. 2가 나올 확률은 90%, 4가 나올 확률은 10%입니다.
- 아무 타일도 움직이지 않는 방향을 누르면 아무 일도 일어나지 않고 새 타일도 생기지 않습니다. 막힌 방향을 눌러 보는 것은 손해가 아닙니다.
- 한 번 이동할 때 타일 하나는 한 번만 합쳐집니다. 4·4·8을 왼쪽으로 밀면 16이 아니라 8·8이 됩니다. 같은 수가 셋이면 미는 방향 쪽 두 개가 먼저 합쳐지고(2·2·2를 오른쪽으로 밀면 오른쪽 끝이 4, 그 옆이 2), 넷이면 두 쌍이 따로 합쳐집니다.
- 두 타일이 합쳐지면 새로 생긴 타일의 숫자만큼 점수가 오릅니다.
- 2048 타일을 만들면 축하 화면이 뜨고, '계속 도전'을 누르면 더 큰 타일에 도전할 수 있습니다. 더 밀 수 있는 방향이 없으면 끝납니다.
- 되돌리기는 없습니다. 대신 진행 상황이 이 브라우저에 자동 저장되니, 급하게 두지 말고 쉬었다가 이어서 두어도 됩니다.
2014년 3월 가브리엘레 치룰리가 공개한 원조 2048도 타일 두 개로 시작하고 새 타일을 90% 대 10%로 만듭니다. 공개된 소스 코드에서 직접 확인할 수 있습니다.
모서리 전략: 가장 큰 타일의 집을 정하기
가장 먼저 할 일은 가장 큰 타일이 머물 모서리를 하나 정하는 것입니다. 이 글은 왼쪽 아래를 기준으로 설명하지만, 어느 모서리든 한 곳을 정해 끝까지 지키는 것이 중요합니다.
모서리가 좋은 이유는 이웃이 적기 때문입니다. 가운데 칸은 네 방향으로 다른 타일과 맞닿아 있어서, 큰 타일이 가운데 있으면 작은 타일들이 그 주위를 둘러싸고 서로 떨어져 버립니다. 모서리 칸은 이웃이 둘뿐이라, 그 두 이웃만 크기가 비슷하게 유지하면 됩니다.
뱀 모양 배열: 한 줄씩 꺾어 가며 작아지게
모서리를 정했다면 그 모서리에서 출발해 숫자가 차례로 작아지도록 놓습니다. 바닥 줄을 1024, 512, 256, 128처럼 오른쪽으로 갈수록 작아지게 채우고, 줄 끝의 128 위에서 방향을 꺾어 64, 32, 16, 8로 이어 가는 식입니다. 위에서 보면 뱀이 구불구불 기어가는 모양이라 흔히 뱀 모양 배열이라고 부릅니다.
이 배열의 장점은 합병이 사슬처럼 이어진다는 데 있습니다. 그림에서 둘째 줄 왼쪽 끝의 8 위에 8이 하나 더 만들어지면 ↓로 합쳐 16이 되고, 옆의 16과 합쳐 32가 되는 식으로 줄을 따라 하나씩 커지다가 결국 바닥 줄의 큰 수까지 닿습니다. 반대로 큰 수와 작은 수가 뒤섞여 있으면, 합치고 싶은 두 타일 사이에 다른 수가 끼어 아무리 밀어도 붙지 않습니다.
완벽한 뱀을 만들 필요는 없습니다. 핵심은 큰 수 옆에는 그다음으로 큰 수가 오게 한다는 한 가지입니다. 512 옆에 2가 박히는 것처럼 이 원칙이 무너지는 순간이 대개 판이 막히기 시작하는 지점입니다.
방향은 셋만, 그중 둘을 주로
왼쪽 아래 모서리를 지킨다면 주로 쓰는 방향은 ←와 ↓입니다. 이 두 방향은 가장 큰 타일을 모서리 쪽으로 누르기만 할 뿐 떼어 내지 않습니다.
→는 조심해서 써야 합니다. 바닥 줄이 네 칸 모두 차 있고 그 안에 합칠 쌍이 없다면 →를 눌러도 바닥 줄은 꿈쩍하지 않으니 안전합니다. 문제는 바닥 줄에 빈칸이 있을 때입니다.
위 그림의 판에서 →를 누르면 바닥 줄 전체가 오른쪽으로 한 칸씩 밀리면서 256이 모서리를 떠납니다. 이때 빈칸은 8개이고 새 타일은 그중 한 곳에 떨어지니, 모서리에 새 타일이 박힐 확률은 1/8입니다. 운 좋게 피하더라도 256을 모서리로 되돌리려면 한 수를 더 써야 합니다. 같은 판에서 ↓를 누르면 위에 있던 4가 내려와 바닥 줄의 빈칸을 메우고, 바닥 줄이 가득 차서 이후의 →도 안전해집니다. 바닥 줄의 빈칸은 옆이 아니라 위에서 채운다고 기억해 두면 좋습니다.
↑는 다른 세 방향이 모두 막혔을 때만 씁니다. 가장 큰 타일 위쪽에 빈칸이 하나라도 있다면 ↑를 누르는 순간 그 타일이 떠오르고, 비워진 모서리에 새 타일이 들어올 수 있습니다. 어쩔 수 없이 ↑를 눌렀는데 모서리가 아직 비어 있다면, 바로 ↓로 큰 타일을 다시 내려 보내세요. 반대로 모서리가 있는 세로줄 네 칸이 모두 차 있고 그 안에 합칠 쌍이 없다면, ↑를 눌러도 모서리 타일은 움직이지 않습니다.
새 타일이 생길 자리를 통제하기
새 타일은 빈칸 가운데 한 곳에 똑같은 확률로 생깁니다. 빈칸이 8개면 각 칸이 1/8, 빈칸이 2개면 1/2입니다. 그래서 빈칸이 적을수록 새 타일이 어디에 떨어질지 예측하기 쉬워지고, 빈칸이 하나뿐이면 새 타일은 반드시 그 자리에 생깁니다.
이 사실을 거꾸로 쓰면 새 타일을 원하는 곳으로 유도할 수 있습니다. 모서리와 바닥 줄은 비우지 않고 빈칸을 뱀의 꼬리 쪽(위의 그림에서는 윗줄)에 모아 두면, 새 타일은 늘 꼬리 쪽에서 태어나 작은 수끼리 합쳐지며 머리 쪽으로 흘러갑니다.
4가 나올 확률 10%도 무시할 수 없습니다. 열 번 움직이면 적어도 한 번 4가 나올 확률이 약 65%입니다(1 − 0.9의 10제곱). 2와 2를 합치려고 남겨 둔 칸에 4가 떨어지면 계획이 틀어지니, 한 칸짜리 틈 하나에 판 전체를 거는 수는 피하는 편이 좋습니다.
숫자로 보는 2048
타일을 합쳐도 판 위 숫자의 합은 변하지 않습니다. 합이 늘어나는 것은 새 타일이 생길 때뿐이고, 새 타일 하나의 평균값은 2 × 0.9 + 4 × 0.1 = 2.2입니다. 그래서 2048 타일 하나를 만들려면 판 위 숫자의 합이 적어도 2048이 되어야 하고, 처음 두 타일을 빼면 평균적으로 900번 넘게 움직여야 합니다.
| 만들 타일 | 적어도 필요한 이동 수(평균) | 그 타일을 만들며 쌓이는 점수(약) |
|---|---|---|
| 256 | 약 114번 | 1,750점 |
| 512 | 약 231번 | 4,000점 |
| 1024 | 약 464번 | 9,030점 |
| 2048 | 약 929번 | 20,110점 |
| 4096 | 약 1,860번 | 44,310점 |
점수 열은 2만으로 만들었을 때의 점수(2048이면 2048 × 10 = 20,480점)에서, 처음부터 4로 태어나 2+2 합병을 건너뛴 타일(평균 열 개 중 하나)의 몫을 뺀 값입니다. 실제로 아래 시뮬레이션에서 2048을 만든 판들은 평균 1,002번째 이동에서, 점수가 약 20,800점일 때 2048에 도달했습니다. 점수가 1만 점 근처라면 1024 하나를 만들 만큼 온 셈이고, 2048까지는 비슷한 길이 한 번 더 남아 있다는 뜻입니다.
전략별로 얼마나 차이가 날까
같은 규칙으로 컴퓨터가 끝까지 두게 하고, 게임이 끝났을 때 판에 남은 가장 큰 타일을 모았습니다. 정해진 규칙만 따르는 방식은 2,000판씩, 앞을 내다보며 계산하는 방식은 시간이 오래 걸려 300판을 두었습니다.
- 무작위로 누르기: 91%가 128 이하에서 끝났고 512는 한 번도 나오지 않았습니다. 평균 119번 움직이고 끝났습니다.
- 모서리 순서 고정(↓, ←, →, ↑ 순서로 움직일 수 있는 첫 방향): 512까지 간 판이 5%로 늘었지만 1024는 없었습니다.
- 빈칸이 가장 많이 남는 방향: 512 이상이 12%였습니다.
- 모서리 + 빈칸(↓와 ← 가운데 빈칸이 많이 남는 쪽, 둘 다 막히면 →, 그래도 막히면 ↑): 512 이상 15%, 1024 이상 0.25%였습니다.
- 뱀 모양 평가 + 두 수 앞보기: 왼쪽 아래에서 뱀 모양으로 따라가며 칸마다 절반씩 줄어드는 가중치와 빈칸 수로 판을 채점하고, 내 수와 그다음 수까지 새 타일이 생길 수 있는 모든 경우를 따져 방향을 고르게 했습니다. 1024 이상이 83%, 2048 이상이 37%였습니다.
결과가 말해 주는 것은 두 가지입니다. 첫째, 방향 규칙만으로는 부족합니다. 모서리를 지키는 순서를 정하는 것만으로 무작위보다 훨씬 오래 버티지만, 85~95%의 판이 512에 닿기 전에 끝났습니다. 둘째, 같은 모서리 전략이라도 한 수마다 '이 방향으로 밀면 판이 뱀 모양에 가까워지는가, 새 타일은 어디에 떨어질 수 있는가'를 따지기 시작하면 결과가 한두 단계씩 달라집니다. 사람이 둘 때도 마찬가지입니다. 방향 규칙은 뼈대이고, 두세 수 앞을 그려 보는 습관이 2048을 만듭니다.
흔한 실수
- 급하게 연타하기. 특히 휴대폰에서 스와이프를 연달아 하면 의도하지 않은 방향이 섞여 모서리가 빠지기 쉽습니다. 되돌리기가 없으니 한 번 빠진 모서리는 돌이키기 어렵습니다.
- 눈에 띄는 쌍부터 합치기. 합칠 수 있는 쌍이 여러 개면 큰 타일 쪽으로 연쇄가 이어지는 쌍을 먼저 고르세요. 윗줄의 작은 쌍을 합치느라 바닥 줄을 흔드는 것은 손해입니다.
- 바닥 줄의 빈칸을 옆에서 메우기. 앞의 그림처럼 바닥 줄의 빈칸을 →로 메우려 하면 모서리가 빕니다. 빈칸은 위에서 내려 채웁니다.
- 큰 타일 두 개를 따로 키우기. 512가 서로 떨어진 두 곳에서 자라면 둘을 붙이기 어렵습니다. 두 번째로 큰 타일은 가장 큰 타일 바로 옆에서 키웁니다.
- 기준 모서리를 바꾸기. 판이 답답하다고 모서리를 옮기면 지금까지 쌓은 순서가 모두 무너집니다.
연습 방법
- 1024까지는 방향 두 개만 써 보기. ←와 ↓만으로 버틸 수 있는 데까지 가 보고, 정말 막혔을 때만 →를 씁니다. 모서리를 지키는 감각이 빨리 잡힙니다.
- 한 판에 한 가지만 신경 쓰기. 어떤 판은 '바닥 줄 가득 채우기'만, 다음 판은 '큰 수 옆에 다음 큰 수'만 지켜 보는 식으로 나눠 연습하면 무엇이 판을 망치는지 보입니다.
- 밀기 전에 빈칸 세기. 이 방향으로 밀면 빈칸이 몇 개 남고, 새 타일이 어디에 떨어질 수 있는지 세어 보는 습관을 들이세요. 빈칸이 하나뿐인 순간에는 새 타일의 위치를 정확히 알 수 있습니다.
- 점수보다 최대 타일을 목표로. 점수는 최대 타일을 따라오므로, 처음에는 512, 다음은 1024처럼 최대 타일을 목표로 잡는 편이 실력이 느는 것을 확인하기 쉽습니다.
정리
2048의 핵심은 가장 큰 타일을 한 모서리에 박아 두고, 그 옆으로 큰 수부터 차례로 뱀처럼 이어 붙이는 것입니다. 주로 두 방향을 쓰고, 세 번째 방향은 바닥 줄이 가득 찼을 때만, 네 번째 방향은 마지막 수단으로 남겨 두세요. 새 타일은 빈칸 중 무작위 한 곳에 2(90%)나 4(10%)로 생기므로, 빈칸을 뱀의 꼬리 쪽에 모아 두면 새 타일이 태어날 곳을 통제할 수 있습니다. 방향 규칙만으로는 512를 넘기기 어렵고, 매 수마다 두세 수 앞을 그려 보는 습관이 2048로 가는 길입니다. 읽은 내용은 2048에서 바로 연습해 볼 수 있습니다.
참고 자료
도움이 됐다면 공유해 주세요
글쓴이
Bob
개발자로 일하면서 경제 지표와 시장 데이터를 직접 찾아보고 정리해 왔습니다. 공식 통계와 1차 자료를 기준으로, 처음 보는 사람도 흐름을 따라올 수 있게 씁니다.
운영 원칙 보기게임 공략
27편- 2048 모서리 전략과 뱀 모양 배열지금 읽는 글
- 지뢰찾기 1-2-1 패턴과 확률 계산
- 스도쿠를 찍지 않고 푸는 기본 기법
- 숫자야구는 몇 번 만에 맞힐 수 있을까
- 오목 열린 3과 4-3 공격, 첫 수와 금수 정리
- 솔리테어 잘 푸는 습관 다섯 가지
- 사과 게임, 짝부터 지울까 크게 묶을까
- 블록 쌓기, 4줄 한 번에와 연속 지우기 중 무엇이 점수가 클까
- 블록 끼우기에서 오래 버티는 배치
- 벽돌깨기, 패들 어디에 맞히느냐가 점수를 가릅니다
- 버블 팡, 터뜨리기보다 떨어뜨리기가 큰 이유
- 파닥파닥 비행, 틈 가운데보다 어디를 노려야 할까
- 과일 합치기에서 어디에 떨어뜨려야 점수가 오를까
- 보석 맞추기, 아래부터 맞추면 정말 점수가 오를까
- 동네 가게 키우기, 회수 기간 순서로 사면 얼마나 빨라질까
- 카드 짝 맞추기 어려움 판을 24번 안에 끝내려면
- 도시 방어, 탄두보다 얼마나 앞을 찍어야 할까
- 네모로직을 찍지 않고 푸는 줄 읽기 기법
- 가격 정하기 10일에서 이익이 가장 큰 가격 찾기
- 반응속도 테스트, 찍어서 누르면 왜 손해일까
- 길 건너기에서 오래 살아남는 법, 봇 2,000판으로 비교
- 색 순서 기억하기, 10단계를 넘기는 끊어 외우기
- 숫자 밀기 퍼즐 윗줄부터 맞추는 법과 마지막 두 장
- 스네이크, 먹이로 곧장 갈까 판을 돌까
- 우주 방어, 바깥 열부터 없애면 시간이 얼마나 벌릴까
- 탑 쌓기 퍼펙트 타이밍 오차와 층수
- 두더지 잡기, 점수는 몇 마리보다 연속이 가릅니다