탑 쌓기 게임을 하다 보면 20층 근처에서 블록이 손톱만 해져서 끝나는 일이 많아요. 결론부터 말하면 스택 쌓기는 움직이는 블록을 쫓는 게임이 아니라, 아래 층의 모서리 한 점을 보고 일정한 박자로 누르는 게임이에요. 스미스 게임 연구소 스택 쌓기 기준으로 PERFECT 판정은 아래 층과 ±5px 이내, 시작 속도(초당 150px)에서 시간으로 약 0.067초 창이고, 한 번 잘린 폭은 PERFECT를 3번 연속 낸 뒤부터만 10px씩 되찾을 수 있어요. 그래서 "조금 잘려도 괜찮겠지"가 쌓이는 순간 게임이 끝나요.
이 글은 게임 코드에 들어 있는 숫자를 그대로 가져와서, 블록이 어떻게 잘리는지, 속도가 몇 층에서 얼마나 빨라지는지, 퍼펙트 연속이 실제로 폭을 얼마나 돌려주는지를 계산해 봤어요. 감으로 하던 게임을 숫자로 보면 어디서 손해를 보고 있었는지가 바로 보이더라고요.
스택 쌓기 게임 기본 규칙
규칙은 한 줄이에요. 받침대 위로 블록이 좌우로 오가고, 탭(또는 Space·클릭)하면 그 자리에 떨어져요. 그런데 세부 규칙을 정확히 알아야 전략이 생겨요.
- 게임 화면 가로는 400px 기준이고, 첫 블록과 받침대 폭은 200px이에요. 받침대는 가운데(x=100~300)에 있어요.
- 블록은 화면 끝까지 갔다가 튕겨서 돌아와요. 홀수 층은 왼쪽 끝에서, 짝수 층은 오른쪽 끝에서 출발해요.
- 떨어진 블록 중 아래 층과 겹치는 부분만 남고, 밖으로 삐져나온 부분은 잘려서 회전하며 떨어져요.
- 다음 블록은 방금 남은 폭 그대로 나와요. 폭이 줄면 다시 늘릴 방법은 PERFECT 연속뿐이에요.
- 블록이 아래 층과 1px도 겹치지 않으면 블록 전체가 떨어지고 게임 오버예요.
- 점수는 쌓은 층 수예요. 보너스 점수는 없고, 대신 최대 퍼펙트 연속 기록이 따로 저장돼요.
이 중에서 가장 중요한 건 "블록이 튕긴다"는 점이에요. 놓칠 것 같으면 무리하게 누르지 말고 한 번 보내도 돼요. 블록은 벽에 닿고 돌아와서 같은 자리를 다시 지나가요. 시간이 조금 들 뿐 손해는 없어요.
블록이 잘리는 원리: 어긋난 만큼 그대로 사라져요
계산은 단순해요. 블록 폭이 w이고 아래 층과 d px 어긋났다면, 남는 폭은 w − d예요. 왼쪽으로 어긋나든 오른쪽으로 어긋나든 똑같아요. 그래서 실력 차이는 "평균 몇 px 어긋나느냐"로 거의 다 설명돼요.
6px은 PERFECT 판정(5px)을 겨우 벗어난 거리예요. PERFECT 없이 6px씩만 어긋나도 33번째 블록에서 폭이 2px만 남아요.
표로 보기
| 구분 | 매번 6px | 매번 10px | 매번 20px |
|---|---|---|---|
| 0층 | 200 | 200 | 200 |
| 5층 | 170 | 150 | 100 |
| 10층 | 140 | 100 | 0 |
| 15층 | 110 | 50 | 0 |
| 20층 | 80 | 0 | 0 |
| 25층 | 50 | 0 | 0 |
| 30층 | 20 | 0 | 0 |
차트에서 보듯 매번 20px씩 어긋나면 딱 10층에서 끝나요. 10px이면 20층, PERFECT 판정을 아슬아슬하게 놓치는 6px이어도 30층을 조금 넘기면 폭이 바닥나요. 즉 PERFECT 없이 30층 이상은 사실상 불가능하고, 높이 쌓으려면 PERFECT가 중간중간 반드시 섞여야 해요.
한 가지 더, 블록이 좁아지면 난이도가 두 배로 올라요. 폭이 좁으면 오갈 거리(400 − 폭)가 길어져 박자가 바뀌고, 겹칠 수 있는 범위도 줄어서 한 번의 큰 실수가 바로 게임 오버로 이어져요. 폭 30px 블록은 30px만 어긋나도 겹치는 곳이 없어서 끝이에요.
PERFECT 판정과 퍼펙트 연속 규칙
PERFECT는 블록 왼쪽 모서리가 아래 층 왼쪽 모서리와 5px 이내일 때예요. 판정되면 블록을 아래 층 위치로 정확히 옮겨 놓기 때문에 4px 어긋났어도 0px로 처리돼요. 잘리는 부분이 하나도 없고, 그 위로 쌓는 기준선도 깔끔하게 유지돼요.
연속 규칙은 이래요.
| 연속 PERFECT | 폭 변화 | 비고 |
|---|---|---|
| 1번째 | 그대로 | 아무것도 잘리지 않음 |
| 2번째 | 그대로 | 폭이 줄어 있으면 화면에 "다음 퍼펙트에 폭 +10" 표시 |
| 3번째 | +10px | 여기서부터 넓어짐 |
| 4번째 이후 | PERFECT마다 +10px | 처음 폭 200px까지만 |
| 한 번이라도 잘림 | 연속 0으로 초기화 | 다시 3번째부터 넓어짐 |
넓어질 때는 아래 층 중심을 기준으로 양쪽에 5px씩 붙어요. 그래서 넓어진 블록은 아래 층보다 살짝 튀어나오는데, 이건 정상이에요. 다음 층은 이 넓어진 블록을 기준으로 판정해요.
이 규칙을 숫자로 보면 회복이 생각보다 어렵다는 게 보여요. 잃은 폭 L px을 되찾으려면 넓어지는 PERFECT가 L ÷ 10번 필요하고, 앞의 2번은 폭을 주지 않으니 연속 PERFECT가 (L ÷ 10) + 2번 필요해요.
| 잃은 폭 | 필요한 연속 PERFECT |
|---|---|
| 10px | 3연속 |
| 30px | 5연속 |
| 50px | 7연속 |
| 100px | 12연속 |
중간에 한 번 잘리면 처음부터 다시 세야 해요. 그래서 실전 감각으로는 "잃은 폭은 거의 안 돌아온다"고 생각하고, 처음부터 덜 잃는 쪽이 훨씬 효율적이에요. 퍼펙트 연속은 회복 수단이라기보다 실수 한두 번을 메워 주는 보험 정도로 보는 게 맞아요.
층별 속도 곡선: 63층까지 계속 빨라져요
블록 속도는 초당 150px + 쌓은 층 수 × 4px이고, 63층에서 초당 400px에 닿은 뒤로는 더 빨라지지 않아요. 게임 위쪽 속도 칸의 ×1.00, ×1.48 같은 숫자는 처음 속도의 몇 배인지예요.
한 층마다 초당 4px씩, 63층부터는 고정이에요.
표로 보기
| 구분 | 블록 속도 |
|---|---|
| 0층 | 150 |
| 10층 | 190 |
| 20층 | 230 |
| 30층 | 270 |
| 40층 | 310 |
| 50층 | 350 |
| 63층 | 400 |
| 80층 | 400 |
한 층에 4px은 체감하기 어려울 만큼 작아요. 그래서 몇 층 사이에서는 박자를 그대로 써도 되고, 10층쯤마다 "조금 빨라졌네" 하고 박자를 당겨 주면 돼요. 반대로 30층과 0층을 비교하면 1.8배라서, 처음 박자로 계속 누르면 늦게 누르는 실수가 쌓여요.
움직임은 1/120초 고정 간격으로 계산해요. 60Hz 모니터든 120Hz 휴대폰이든 같은 시간에 같은 거리를 움직이니, 기기를 바꿔도 박자가 그대로예요.
PERFECT 시간 창: 생각보다 넉넉하고, 점점 좁아져요
±5px이면 PERFECT 구간 폭은 10px이에요. 이걸 속도로 나누면 손가락이 맞춰야 하는 시간 창이 나와요.
0층의 0.067초는 꽤 넉넉한 편이에요. 하지만 반응속도 테스트를 해 보면 알 수 있듯이 사람은 보고 반응하는 데 0.2초 안팎이 걸려요. 블록이 맞는 자리에 온 걸 보고 누르면 이미 30px쯤 지나간 뒤예요. 결국 PERFECT는 반응이 아니라 예측으로 내야 해요. 다음 두 요령이 그 예측을 쉽게 만들어 줘요.
요령 1: 블록 말고 아래 층 모서리를 보세요
움직이는 블록 전체를 눈으로 따라가면 시선이 계속 흔들려서 위치 판단이 늦어요. 대신 이렇게 해 보세요.
- 블록이 어느 쪽에서 오는지 확인해요. 홀수 층은 왼쪽에서, 짝수 층은 오른쪽에서 출발해요.
- 블록이 다가오는 쪽의 아래 층 모서리 한 점에 시선을 고정해요. 왼쪽에서 오면 아래 층의 왼쪽 모서리, 오른쪽에서 오면 오른쪽 모서리예요. 움직이는 블록도 같은 쪽 모서리만 봐요. 블록과 아래 층의 폭이 같으니 한쪽 모서리만 맞으면 반대쪽도 저절로 맞아요.
- 두 모서리가 겹치기 직전, 손가락은 이미 내려가고 있어야 해요.
모서리 하나만 보면 비교할 대상이 "선 두 개"로 줄어서 판단이 훨씬 빨라요. 게임 그림은 윗면과 오른쪽 옆면이 보이는 입체 블록이라, 앞면의 세로 모서리를 기준으로 보세요. 윗면 모서리는 오른쪽으로 12px 비켜 그려져 있어서 기준으로 쓰면 오차가 생겨요.
요령 2: 박자를 세면 PERFECT가 반복돼요
이 게임의 숨은 성질이 하나 있어요. 탑이 가운데에서 크게 벗어나지 않으면, 블록이 나와서 PERFECT 지점에 닿기까지 걸리는 시간이 매 층 거의 같아요. 폭 w인 블록이 끝에서 출발해 아래 층 위치까지 오는 거리는 대략 (400 − w) ÷ 2이니까요.
| 쌓은 층 | 속도 | 200px 블록 | 100px 블록 | 50px 블록 |
|---|---|---|---|---|
| 0층 | 150px/초 | 0.67초 | 1.00초 | 1.17초 |
| 10층 | 190px/초 | 0.53초 | 0.79초 | 0.92초 |
| 20층 | 230px/초 | 0.43초 | 0.65초 | 0.76초 |
| 30층 | 270px/초 | 0.37초 | 0.56초 | 0.65초 |
| 63층 이후 | 400px/초 | 0.25초 | 0.38초 | 0.44초 |
탑이 가운데에 있을 때, 블록이 나온 뒤 PERFECT 지점까지 걸리는 시간이에요. 첫 블록이라면 블록이 나오고 "하나, 둘"보다 조금 빠른 0.67초 뒤가 정답이에요. 이 박자를 한 번 잡으면 같은 리듬으로 몇 층을 연달아 맞출 수 있어요.
반대로 표에서 위험 신호도 보여요. 블록이 좁아질수록 박자가 길어져요. 폭이 줄었는데 예전 박자로 누르면 일찍 눌러서 또 잘리고, 그래서 또 좁아지는 악순환이 생겨요. 블록이 눈에 띄게 줄었다면 반 박자 늦게 누르는 걸 의식해 보세요.
탑이 한쪽으로 쏠리면 출발점에서의 거리가 층마다 달라져서 박자가 깨져요. 가운데를 유지하는 것 자체가 박자를 지키는 방법이에요.
흔한 실수와 고치는 법
- 급하게 연타하기: 블록이 바뀌자마자 누르면 블록은 화면 끝에 있어서 대개 완전히 빗나가요. 블록은 튕겨서 다시 오니, 늦었다 싶으면 한 바퀴 기다리세요.
- 잘린 걸 만회하려고 반대로 맞추기: 아래 층보다 넓게 놓을 방법은 없어요. 판정은 늘 바로 아래 층 기준이라 지난 실수를 반대쪽으로 상쇄할 수 없어요. 매번 아래 층 모서리에만 맞추세요.
- PERFECT 직후 긴장 풀기: 연속 2회 뒤 화면에 "다음 퍼펙트에 폭 +10"이 뜨면 가장 중요한 순간이에요. 여기서 맞춰야 폭이 늘기 시작해요.
- 속도 증가 무시: 10층마다 블록이 처음보다 약 0.27배씩 빨라져요(×1.00 → ×1.27 → ×1.53). 위쪽 속도 칸을 가끔 보세요.
- 다른 창 보기: 창이 포커스를 잃으면 바로 일시정지돼요. 실수로 탭을 바꿔도 블록이 떨어지지 않으니 걱정하지 마세요.
모바일에서 스택 쌓기 하는 법
휴대폰에서는 게임 화면 아무 곳이나 탭하면 돼요. 게임 중에는 화면을 만져도 페이지가 스크롤되지 않게 막아 뒀어요. 손가락을 화면 위에 살짝 띄워 두고 있다가 박자에 맞춰 톡 치는 게 가장 정확했어요. 손가락이 화면을 가리면 모서리가 안 보이니, 게임 화면 아래쪽(이미 쌓인 탑 부분)을 탭하세요. 위치와 상관없이 판정은 같아요.
비슷하게 타이밍이 중요한 게임으로는 공룡 달리기가 있어요. 점프 박자를 정리한 공룡 게임 잘하는 법도 같이 보면 "보고 누르지 말고 예측해서 누르기" 감각을 익히는 데 도움이 돼요.
자주 묻는 질문
PERFECT는 정확히 몇 px까지 인정되나요?
아래 층과 5px 이내로 어긋나면 PERFECT예요. 게임 화면 가로 400px 기준으로 약 1.25%이고, 시작 속도에서는 약 0.067초, 63층 이후에는 0.025초 창이에요. PERFECT가 나면 블록을 아래 층 위치로 정확히 맞춰 줘요.
줄어든 블록을 다시 넓힐 수 있나요?
PERFECT를 3번 연속 낸 순간부터, 이어지는 PERFECT마다 폭이 10px씩 넓어져요. 처음 폭인 200px보다 넓어지지는 않고, 한 번이라도 잘리면 연속이 0으로 돌아가요. 50px을 되찾으려면 7연속이 필요해요.
몇 층부터 어려워지나요?
속도는 층마다 초당 4px씩 꾸준히 올라서 뚜렷한 벽은 없어요. 다만 30층이면 처음보다 1.8배 빨라지고, PERFECT 없이 6px씩만 어긋나도 30층 언저리에서 폭이 바닥나요. 보통은 속도보다 줄어든 폭 때문에 끝나요.
놓칠 것 같으면 어떻게 하나요?
누르지 말고 한 번 보내세요. 블록은 화면 끝에서 튕겨 돌아와서 같은 자리를 다시 지나가요. 시간 제한이 없으니 기다려도 손해가 없어요.
최고 기록은 어디에 저장되나요?
최고 층수, 최대 퍼펙트 연속, 판 수가 이 브라우저 쿠키에만 저장되고 서버로는 전송되지 않아요. 게임 아래의 기록 초기화 버튼으로 지울 수 있어요.
정리
스택 쌓기에서 블록 폭은 어긋난 만큼 정확히 줄어들고, 되찾으려면 PERFECT 3연속이라는 비싼 대가가 필요해요. 그래서 높이 쌓는 비결은 화려한 회복보다 처음부터 덜 잃는 데 있어요. 아래 층 모서리 한 점을 보고, 블록이 나와서 PERFECT 지점까지 오는 박자를 세고, 10층마다 박자를 조금씩 당기세요. 놓칠 것 같으면 한 바퀴 보내는 여유도 기억하고요.
지금 바로 스택 쌓기에서 박자 세기를 연습해 보세요. 처음 10층을 PERFECT로만 쌓아 보는 게 가장 좋은 연습이에요.