탑 쌓기 게임을 하다 보면 20층 근처에서 블록이 손톱만 해져서 끝나는 일이 많아요. 결론부터 말하면 스택 쌓기는 움직이는 블록을 쫓는 게임이 아니라, 아래 층의 모서리 한 점을 보고 일정한 박자로 누르는 게임이에요. smith lab 스택 쌓기 기준으로 PERFECT 판정은 아래 층과 ±5px 이내, 시작 속도(초당 150px)에서 시간으로 약 0.067초 창이고, 한 번 잘린 폭은 PERFECT를 3번 연속 낸 뒤부터만 10px씩 되찾을 수 있어요. 그래서 "조금 잘려도 괜찮겠지"가 쌓이는 순간 게임이 끝나요.
이 글은 게임 코드에 들어 있는 숫자를 그대로 가져와서, 블록이 어떻게 잘리는지, 속도가 몇 층에서 얼마나 빨라지는지, 퍼펙트 연속이 실제로 폭을 얼마나 돌려주는지를 계산해 봤어요. 감으로 하던 게임을 숫자로 보면 어디서 손해를 보고 있었는지가 바로 보이더라고요.
핵심 요약
어긋난 만큼 정확히 잘려 나가고, 다음 블록은 남은 폭으로 나와요. 20px씩 열 번 어긋나면 200px 블록이 사라져요.
PERFECT는 아래 층과 5px 이내로 맞춘 경우예요. 아무것도 잘리지 않고, 3번째 연속 PERFECT부터 PERFECT마다 폭이 10px씩 넓어져요(최대 200px).
속도는 초당 150px + 층 수 × 4px이고 63층부터 400px로 고정이에요. PERFECT 시간 창은 0층 0.067초에서 63층 0.025초까지 줄어요.
블록을 눈으로 따라가지 말고 아래 층 모서리를 고정해서 보고, 블록이 나오고 나서 PERFECT 지점까지 걸리는 박자를 몸에 익히세요.
스택 쌓기 게임 기본 규칙
규칙은 한 줄이에요. 받침대 위로 블록이 좌우로 오가고, 탭(또는 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로만 쌓아 보는 게 가장 좋은 연습이에요.