본문으로 건너뛰기
bobob

게임 가이드게임 공략 · 9/27

블록 끼우기에서 오래 버티는 배치

블록 끼우기가 막히는 이유를 같은 조각 순서의 200판으로 자동 플레이 봇에 돌려 비교했습니다. 붙여 놓기, 3×3 자리, 구멍, 세 조각의 순서, 콤보를 하나씩 바꿔 본 결과입니다.

Bob10분 읽기

핵심 요약

  • 같은 조각 순서의 200판에서 벽과 이미 놓인 칸에 맞닿게 놓는 봇은 점수만 보고 놓는 봇의 평균 186점을 3,615점으로 올렸습니다
  • 막힌 판의 마지막 손에는 3×3 정사각형이 43% 들어 있었는데, 새 조각 세 개에 하나라도 있을 확률은 9.6%입니다
  • 세 조각의 순서와 자리를 모두 따진 봇은 평균 18,585점 이상으로 왼쪽부터 놓는 봇(3,868점)의 약 4.8배였고, 구멍 피하기는 점수를 올리지 못했습니다
목차

블록 끼우기에서 판이 막히는 순간은 대개 빈칸이 모자라서가 아닙니다. 붙여 놓는 봇이 막힌 판에는 평균 41칸이 비어 있었는데도, 손에 든 조각이 들어갈 모양의 자리가 없어서 끝났습니다. 아래 비교는 이 사이트 엔진을 그대로 불러온 자동 플레이 봇들을 같은 조각 순서의 판에서 돌려 얻은 숫자입니다. 봇은 사람이 아니니 점수를 그대로 기대하면 안 되고, 전략 하나를 바꿨을 때 결과가 어느 쪽으로 움직이는지를 보는 용도입니다.

한눈에 보기

전략봇이 하는 일같은 200판 결과(평균 점수)
붙여 놓기벽이나 이미 놓인 칸에 닿는 변이 많은 자리를 고른다점수만 보면 186점, 붙여 놓으면 3,615점
3×3 자리 남기기판 어딘가에 빈 3×3이 남도록 가산점을 준다3,615점에서 4,600점
구멍 피하기사방이 막힌 빈칸을 만드는 자리를 감점한다3,615점에서 2,912점, 감점을 가볍게 하면 오차 범위 안
세 조각 순서세 조각을 놓는 순서와 자리를 모두 따진다왼쪽부터 3,868점, 골라 놓기 8,087점, 순서 탐색 18,585점 이상
콤보 이어 가기콤보 곱을 점수 계산에 넣는다순서 탐색 봇에서 15,730점에서 18,585점

우리 게임의 규칙에서 알아 둘 것

  • 판은 10×10이고 조각은 21종입니다. 한 칸짜리 점부터 5칸 막대, 3×3 정사각형, ㄱ자 5칸까지 있습니다. 조각은 돌릴 수 없습니다.
  • 조각 세 개가 한 묶음으로 나옵니다. 세 개를 모두 놓아야 새 묶음이 나옵니다. 같은 모양 세 개가 한 묶음에 나오는 일은 없습니다.
  • 조각마다 나오는 가중치가 다릅니다. 가중치 합 45.5 가운데 점은 2, 3×3 정사각형은 1.5, 5칸 막대는 가로와 세로 각각 1.5입니다. 새 묶음 세 개에 3×3이 하나라도 있을 확률은 9.6%입니다.
  • 가로나 세로 한 줄이 차면 지워집니다. 줄 점수는 한 줄 10점, 두 줄 30점, 세 줄 60점, 네 줄 100점, 다섯 줄 150점이고 여기에 콤보 수를 곱합니다. 조각을 놓을 때마다 놓은 칸 수만큼 점수도 붙습니다.
  • 줄을 지우면 콤보가 1 오릅니다. 지우지 못한 채 조각을 세 번 놓으면 콤보가 0으로 돌아갑니다. 줄을 지운 뒤 세 번째 놓기까지 다시 지워야 이어집니다.
  • 판이 통째로 비면 200점 보너스입니다.
  • 손에 있는 조각이 어느 것도 판에 들어가지 않으면 끝납니다. 한 조각만 들어가지 않으면 그 조각은 손에 남고, 나머지를 놓아도 세 개가 다 비기 전에는 새 묶음이 나오지 않습니다.
  • 오늘의 판은 같은 날 누구에게나 같은 조각이 같은 순서로 나옵니다. 묶음은 시드와 몇 번째 묶음인지로만 정해지고 판 상태와는 무관해서, 어떻게 놓아도 다음 묶음은 같습니다.

계산 조건

  • 판: 엔진의 새 판 함수에 시드 1001부터 1200까지 200판을 넣었습니다. 조각 묶음은 시드와 묶음 번호로만 정해지므로 봇이 달라도 같은 시드의 판은 조각 순서가 똑같습니다. 한 판은 막힐 때까지 두되, 1,500수에서 멈춥니다.
  • 모든 수는 엔진의 놓기 함수로 실제로 놓았습니다. 봇이 미리 계산할 때 쓰는 모의 놓기는 무작위 533수에서 엔진 결과와 판, 콤보, 점수가 모두 같은지 확인했습니다.
  • 봇의 판단식은 이렇습니다. 그 수의 점수(놓은 칸 수에 줄 점수와 콤보 곱, 전부 비움 보너스)에 다음을 더하거나 뺍니다. 붙여 놓기는 조각의 변 가운데 벽이나 이미 놓인 칸에 닿는 변마다 3점, 구멍 피하기는 사방이 막힌 빈칸 하나마다 30점 감점, 3×3 자리는 놓은 뒤 판에 빈 3×3이 하나라도 있으면 25점입니다. 이 가중치는 시드 1~60에서 몇 번 시험해 정했고 최적화한 값이 아닙니다. 비교한 200판은 그와 다른 시드입니다.
  • 무작위 봇은 놓을 수 있는 모든 조각과 자리 가운데 하나를 고르고, 점수만 보는 봇은 위 판단식에서 그 수의 점수만 남깁니다(같은 값이면 무작위).
  • 조각 고르는 방식은 셋입니다. 순서 고정은 왼쪽 조각부터 놓고, 골라 놓기는 손의 세 조각과 모든 자리 가운데 판단식이 가장 높은 수 하나를 고릅니다. 순서 탐색은 남은 조각의 모든 순서와 자리를 따져 세 조각을 다 놓은 뒤의 값이 가장 좋은 수를 고릅니다. 한 단계마다 상위 4개 후보만 남깁니다.
  • 숫자 옆의 ±는 평균의 95% 신뢰구간 반폭입니다. 두 봇의 차이는 같은 시드끼리 짝지어 비교했습니다.
배치 전략을 하나씩 더한 봇 일곱 종류의 평균 점수 비교
배치 전략을 하나씩 더한 봇 일곱 종류의 평균 점수 비교

벽과 놓인 칸에 붙여 놓기

가장 큰 차이는 여기서 났습니다. 점수만 보고 놓는 봇은 평균 28수에 끝났고 186점(±20)이었습니다. 같은 판에 같은 조각이 나와도 판 한가운데에 흩어 놓으면 빈칸이 조각 크기로 갈라져 줄이 채워지지 않습니다. 벽이나 이미 놓인 칸에 닿는 변이 많은 자리를 고르게 하자 평균 258수를 버텼고 점수는 3,615점(±413)이었습니다. 지운 줄은 판당 4.4줄에서 91.7줄로 늘었습니다.

반대로 닿는 변이 적은 자리를 고르게 한 봇은 80점(±6)으로 무작위(84점)와 같은 수준이었습니다. 붙여 놓기를 뺀 골라 놓기 봇은 8,087점에서 379점으로 떨어졌습니다. 이번 실험에서 붙여 놓기는 가장 먼저 지켜야 할 한 가지였습니다.

사람의 말로 풀면 이렇습니다. 판의 한쪽 모서리에서 시작해 조각이 이미 있는 쪽으로 이어 붙이고, 빈칸은 한 덩어리로 남겨 둡니다. 빈칸이 한 덩어리면 줄이 한꺼번에 비는 자리가 생기고, 큰 조각이 들어갈 자리도 남습니다.

3×3 자리 남겨 두기

막힌 판의 마지막 손에 3×3, 5칸 막대, ㄱ자 5칸, 2×3이 들어 있던 비율과 새 손의 확률 비교
막힌 판의 마지막 손에 3×3, 5칸 막대, ㄱ자 5칸, 2×3이 들어 있던 비율과 새 손의 확률 비교

붙여 놓기와 구멍 피하기를 쓴 봇은 200판이 모두 막혀서 끝났습니다. 막힌 순간 판은 평균 58.7칸이 차 있었고, 손에 남은 조각은 평균 1.15개였습니다. 그 조각 가운데 가장 작은 것도 3칸 이상이었습니다. 빈칸이 41칸쯤 있어도 점이나 2칸 조각은 늘 들어가니, 막힌 이유는 큰 조각이 들어갈 자리의 부족입니다.

어떤 조각이었는지 세어 보니 3×3 정사각형이 있던 판이 86판(43%)이었습니다. 새 조각 세 개에 3×3이 하나라도 있을 확률은 9.6%이니 네 배 넘게 많은 것입니다. 5칸 막대(17.5%), ㄱ자 5칸(20%), 2×3(23%)은 새 손에 있을 확률(18.5%, 34.6%, 24.1%)과 비슷하거나 낮았습니다. 3×3은 가로 세 줄과 세로 세 줄이 한꺼번에 비어 있어야 해서, 판에 조각이 쌓일수록 가장 먼저 자리가 사라지는 모양으로 보입니다. 3×3 자리 보너스를 켜면 3,615점이 4,600점(차이 +985, ±610)이 됐습니다. 골라 놓기 봇에서 보너스를 빼면 8,087점에서 6,611점으로 내려갔습니다.

보너스를 키울수록 오르는 것도 아니었습니다. 같은 봇에서 3×3 보너스를 0, 10, 25, 60, 150으로 바꾸자 평균 점수는 2,912, 3,543, 3,868, 4,398, 4,340점이었습니다. 60 이상에서는 더 오르지 않았습니다. 이 보너스는 판에 빈 3×3이 하나라도 있으면 주는 방식이어서, 한 곳만 지켜도 효과가 났습니다.

구멍 만들지 않기

게임 안내는 사방이 막힌 빈칸 한 개를 구멍이라 하며 만들지 말라고 권합니다. 구멍을 감점하게 하면 막힌 판의 구멍은 평균 1.43개에서 0.41개로 줄었습니다. 그런데 점수는 오르지 않았습니다. 붙여 놓기와 3×3 보너스를 쓴 봇에서 구멍 감점을 0, 5, 10, 30, 60으로 바꾸자 평균 점수는 4,600, 5,178, 4,728, 3,868, 3,650점이었습니다. 감점이 클수록 점수가 내려갔고, 0과 5의 차이는 오차(±600 안팎) 안이었습니다. 골라 놓기 봇에서는 구멍 감점 30을 빼자 8,087점이 10,186점으로 올랐습니다.

이 결과를 구멍이 괜찮다는 뜻으로 읽으면 안 됩니다. 이 봇의 구멍 정의가 사방이 막힌 한 칸뿐이고, 감점이 붙여 놓기와 충돌했을 수 있습니다. 이번 계산에서 확인된 것은 구멍 감점이 클수록 점수가 낮아졌다는 데까지입니다. 구멍은 가능하면 피하되, 그것 때문에 붙여 놓기를 포기하지는 마세요.

세 조각을 놓는 순서

순서가 가장 큰 폭으로 점수를 바꿨습니다. 같은 판단식으로 왼쪽 조각부터 놓는 봇은 평균 3,868점(±442), 275수였습니다. 세 조각 가운데 가장 좋은 수를 하나씩 고르게 하자 8,087점(±909), 510수였고, 조각의 모든 순서와 자리를 따지게 하자 18,585점(±1,233) 이상, 1,048수였습니다. 순서 탐색 봇은 200판 중 83판이 1,500수에서 멈췄으니, 실제 평균은 이보다 높습니다.

한 조각만 보면 자리가 많아 보여도, 세 조각을 함께 놓으면 앞 조각이 뒤 조각의 자리를 막는 일이 생깁니다. 순서를 바꿔 가며 세 조각이 모두 들어가는지, 줄이 몇 개 지워지는지 그려 본 뒤 첫 수를 두세요. 게임 안내도 줄을 채우는 조각을 마지막에 놓으라고 권합니다.

한 가지 더, 한 조각이 판에 들어갈 곳이 없으면 그 조각은 손에 남아 새 묶음을 막습니다. 그 조각이 들어갈 자리를 먼저 만들 수 있는 순서를 찾아보세요.

콤보 이어 가기

봇이 낸 점수의 73~76%는 줄 점수(콤보 곱 포함)였습니다. 놓은 칸 수로 얻는 점수는 24~27%, 전부 비움 보너스는 거의 없었습니다. 순서 고정과 골라 놓기 봇이 200판 동안 보너스를 받은 것은 각각 2판, 4판뿐이었습니다. 보너스 200점을 노리기보다 콤보를 길게 잇는 쪽이 점수를 만듭니다.

콤보는 조각 세 번 안에 다시 줄을 지워야 이어집니다. 봇은 세 번 놓을 때 한 번꼴로 줄을 지웠고(지운 수의 94%가 한 줄 지우기), 지운 수의 68~73%는 콤보 2 이상이었습니다. 콤보 곱을 계산에 넣지 않는 봇과 비교하면 이렇습니다.

봇콤보 곱을 안 셈콤보 곱을 셈차이
골라 놓기7,150점8,087점+937 (±1,181), 오차 범위 안
순서 탐색15,730점18,585점+2,855 (±1,645)

순서 탐색 봇에서는 평균 최대 콤보도 11.3에서 14.7로 늘었습니다. 콤보가 끊기는 수에 감점을 더 붙여도 점수는 오르지 않았습니다. 골라 놓기에서 7,646점, 순서 탐색에서 16,972점으로 둘 다 낮았고, 순서 탐색의 차이는 오차 범위 경계였습니다. 콤보를 억지로 지키려 하기보다, 세 조각을 미리 읽고 줄 점수를 크게 만드는 수를 고르는 편이 낫다는 쪽입니다.

흔한 실수

  1. 조각을 아무 데나 흩어 놓기. 닿는 변이 적은 자리를 고른 봇은 무작위와 같은 80점이었습니다.
  2. 3×3 자리가 사라진 줄 모르기. 막힌 판의 43%에 3×3이 손에 있었습니다. 판이 절반쯤 차면 빈 3×3이 있는지 먼저 보세요.
  3. 구멍 하나 때문에 판을 가르기. 구멍 감점을 가장 크게 한 봇(60점)이 같은 비교에서 가장 낮았습니다.
  4. 왼쪽 조각부터 아무 생각 없이 놓기. 같은 판단식인데도 순서만 고르게 했더니 점수가 두 배가 됐습니다.
  5. 콤보 기한을 세지 않기. 줄을 지운 뒤 세 번째 놓기까지 줄 하나를 지울 수 있는지 확인하지 않으면 곱이 초기화됩니다.

연습 방법

  • 오늘의 판에서 첫 묶음을 놓기 전에 세 조각의 순서를 6가지로 그려 봅니다. 조각 순서가 모두에게 같으니 다른 날과 견주기 좋습니다.
  • 한 판은 붙여 놓기만, 다음 판은 3×3 자리 지키기만 신경 써서 둡니다. 한 가지씩 바꿔야 무엇이 효과가 있는지 보입니다.
  • 판이 절반쯤 차면 놓기 전에 빈 3×3이 있는지, 5칸 막대가 들어갈 줄이 있는지 셉니다.
  • 손에 안 들어가는 조각이 생기면 그 조각 자리부터 만들 수 있는 순서를 찾습니다.
  • 줄을 지운 뒤에는 다음 세 번의 놓기 안에 지울 줄이 어디인지 정해 둡니다.

정리

같은 200판에서 가장 크게 달랐던 것은 붙여 놓기(186점에서 3,615점)와 세 조각의 순서(3,868점에서 18,585점 이상)였습니다. 막히는 판에서는 손에 3×3이 남아 있던 비율이 43%로 눈에 띄게 높아서, 빈 3×3 한 곳을 지키는 일은 3,615점을 4,600점으로 올렸습니다. 구멍 피하기는 이 봇에서는 점수를 올리지 못했고, 콤보 곱을 계산에 넣는 효과는 순서를 깊게 따질 때 더 분명했습니다. 모든 숫자는 정해진 방식의 자동 플레이 봇이 낸 것이라 사람의 점수와는 다릅니다. 읽은 내용은 블록 끼우기에서 바로 확인해 볼 수 있습니다.

참고 자료

도움이 됐다면 공유해 주세요

글쓴이

Bob

개발자로 일하면서 경제 지표와 시장 데이터를 직접 찾아보고 정리해 왔습니다. 공식 통계와 1차 자료를 기준으로, 처음 보는 사람도 흐름을 따라올 수 있게 씁니다.

운영 원칙 보기

게임 공략

27편
  1. 2048 모서리 전략과 뱀 모양 배열
  2. 지뢰찾기 1-2-1 패턴과 확률 계산
  3. 스도쿠를 찍지 않고 푸는 기본 기법
  4. 숫자야구는 몇 번 만에 맞힐 수 있을까
  5. 오목 열린 3과 4-3 공격, 첫 수와 금수 정리
  6. 솔리테어 잘 푸는 습관 다섯 가지
  7. 사과 게임, 짝부터 지울까 크게 묶을까
  8. 블록 쌓기, 4줄 한 번에와 연속 지우기 중 무엇이 점수가 클까
  9. 블록 끼우기에서 오래 버티는 배치지금 읽는 글
  10. 벽돌깨기, 패들 어디에 맞히느냐가 점수를 가릅니다
  11. 버블 팡, 터뜨리기보다 떨어뜨리기가 큰 이유
  12. 파닥파닥 비행, 틈 가운데보다 어디를 노려야 할까
  13. 과일 합치기에서 어디에 떨어뜨려야 점수가 오를까
  14. 보석 맞추기, 아래부터 맞추면 정말 점수가 오를까
  15. 동네 가게 키우기, 회수 기간 순서로 사면 얼마나 빨라질까
  16. 카드 짝 맞추기 어려움 판을 24번 안에 끝내려면
  17. 도시 방어, 탄두보다 얼마나 앞을 찍어야 할까
  18. 네모로직을 찍지 않고 푸는 줄 읽기 기법
  19. 가격 정하기 10일에서 이익이 가장 큰 가격 찾기
  20. 반응속도 테스트, 찍어서 누르면 왜 손해일까
  21. 길 건너기에서 오래 살아남는 법, 봇 2,000판으로 비교
  22. 색 순서 기억하기, 10단계를 넘기는 끊어 외우기
  23. 숫자 밀기 퍼즐 윗줄부터 맞추는 법과 마지막 두 장
  24. 스네이크, 먹이로 곧장 갈까 판을 돌까
  25. 우주 방어, 바깥 열부터 없애면 시간이 얼마나 벌릴까
  26. 탑 쌓기 퍼펙트 타이밍 오차와 층수
  27. 두더지 잡기, 점수는 몇 마리보다 연속이 가릅니다