무엇을 하는 게임인가
노란 원 하나를 조종해 미로 바닥에 놓인 작은 점 104개를 전부 먹으면 승리하고, 그 사이 쫓아오는 두 술래(파랑·보라) 중 하나라도 같은 칸에 닿으면 즉시 패배하는 추격 게임입니다. 한 번 방향을 정하면 벽에 막힐 때까지 자동으로 달리는 방식이라 "언제 꺾을지"를 미리 눌러 두는 감각이 중요합니다. 시간제한은 없지만 술래가 계속 거리를 좁히므로 사실상 시간과의 싸움입니다.
조작법과 움직임 규칙
- 키보드 방향키, 화면의 ▲◀▼▶ 버튼, 캔버스 위에서 24px 이상 쓸어넘기는 동작 중 어느 것으로나 방향을 정할 수 있습니다.
- 첫 방향을 입력하기 전에는 시간이 흐르지 않습니다. 입력과 동시에 170ms마다 한 칸씩 움직이는 진행이 시작됩니다.
- 누른 방향이 막혀 있으면 그 입력이 예약되어, 처음으로 길이 열리는 칸에서 자동으로 꺾습니다. 현재 방향도 막히면 그 자리에 멈춥니다.
- 점은 칸에 들어서는 순간 먹히며 한 개당 1점입니다. 시작 칸에는 점이 없어서 점은 모두 104개입니다.
- 술래와 같은 칸에 있으면 패배입니다. 서로 칸을 맞바꾸며 스치는 경우도 충돌로 처리합니다.
- 최고 기록은 한 판에서 모은 점의 최대치로, 이겼을 때뿐 아니라 졌을 때도 갱신됩니다. 브라우저 localStorage의
maze-chase-best키에 저장되고 사이트 데이터를 지우면 초기화되며 다른 기기와 공유되지 않습니다. - 미로 구조는 항상 같습니다. 달라지는 것은 술래가 일으키는 무작위 움직임뿐입니다.
미로 구조: 기둥이 있는 열린 광장
칸 크기 22px, 가로 15칸×세로 11칸(330×242px)의 격자이며, 테두리가 벽이고 안쪽의 세 줄(2·5·8번 줄)에 4개씩, 모두 12개의 기둥(칸 하나짜리)이 있습니다. 복도가 이어진 전통적인 미로가 아니라 기둥 사이를 돌아다니는 열린 공간이라, 막다른 길이 하나도 없습니다. 이동 가능한 바닥은 105칸이고 각 칸에서 열려 있는 방향 수는 다음과 같습니다.
| 열린 방향 수 | 칸 수 | 의미 |
|---|---|---|
| 4방향 | 28칸 | 사방이 열린 교차로 |
| 3방향 | 62칸 | 기둥이나 테두리 옆, 한쪽이 막힌 갈림길 |
| 2방향 | 15칸 | 모서리 또는 기둥 사이의 통로 |
막다른 길이 없다는 사실은 뒤에서 설명할 술래 규칙과 맞물려 중요한 의미를 가집니다. 줄별 점 개수는 아래와 같습니다. 기둥이 있는 줄(2, 5, 8번 줄)은 점이 적습니다.
| 줄(바깥 벽이 0번) | 점 개수 | 기둥 수 |
|---|---|---|
| 1번 줄 | 12 | 0 |
| 2번 줄 | 9 | 4 |
| 3번 줄 | 13 | 0 |
| 4번 줄 | 13 | 0 |
| 5번 줄 | 9 | 4 |
| 6번 줄 | 13 | 0 |
| 7번 줄 | 13 | 0 |
| 8번 줄 | 9 | 4 |
| 9번 줄 | 13 | 0 |
| 합계 | 104 | 12 |
술래의 이동 규칙
- 술래는 두 개이며 오른쪽 위 구석 칸과 오른쪽 아래 구석 칸에서 출발합니다. 나는 왼쪽 위 구석 칸에서 출발합니다.
- 내가 2번 움직일 때 술래는 1번 움직입니다. 즉 술래의 속도는 나의 정확히 절반입니다.
- 술래는 갈 수 있는 방향 중 나와의 가로·세로 거리 합이 가장 작아지는 방향을 고릅니다. 다만 매번 20%의 확률로 갈 수 있는 방향 중 아무 곳이나 무작위로 고릅니다.
- 술래는 직전에 온 방향으로 되돌아가지 않습니다. 이 미로에는 막다른 길이 없으므로 술래는 U턴을 하지 않으며, 최소한 한 번은 앞으로 나아가거나 옆으로 꺾어야 합니다.
- 두 술래는 서로의 존재를 신경 쓰지 않아 같은 칸에 겹치거나 한 줄로 몰려다니기도 합니다.
속도 비교표
한 칸 이동이 170ms이므로 나는 초당 약 5.88칸, 술래는 약 2.94칸을 갑니다. 술래가 없다고 가정했을 때 거리별 소요 시간은 다음과 같습니다.
| 구간 | 칸 수 | 나(초) | 술래(초) |
|---|---|---|---|
| 가로 12칸 (왼쪽 끝 열에서 오른쪽 끝 열까지) | 12 | 2.04 | 4.08 |
| 세로 8칸 (윗줄에서 아랫줄까지) | 8 | 1.36 | 2.72 |
| 출발점에서 첫 번째 술래 위치까지 최단 거리 | 12 | 2.04 | 4.08 |
| 출발점에서 두 번째 술래 위치까지 최단 거리 | 20 | 3.40 | 6.80 |
검산한 계산 예시
- 점을 모두 모으는 최단 시간. 한 칸에 점이 하나뿐이고 한 번에 한 칸만 가므로 최소 104번 움직여야 합니다. 104 × 170ms = 17.68초가 어떤 코스로도 넘을 수 없는 하한입니다.
- 단순 코스의 실제 시간. 지금 있는 자리에서 가장 가까운 점부터 차례로 먹는 단순한 코스를 그려 보면 이동 칸 수가 120칸이고 시간은 120 × 170ms = 20.40초입니다. 하한 17.68초와의 차이는 이미 먹은 길을 되돌아가는 구간에서 생깁니다.
- 술래가 처음 닿는 시점. 첫 번째 술래는 출발점까지 최단 12칸, 두 번째는 20칸 떨어져 있습니다. 술래는 한 칸에 두 틱이 걸리므로 가만히 서 있는 나를 곧장 잡으려면 각각 24틱(4.08초), 40틱(6.80초)이 필요합니다. 무작위 20%가 끼기 때문에 실제로는 이보다 늦을 때가 많습니다.
마주 달릴 때 충돌까지 걸리는 시간
내가 술래 쪽으로 곧장 달리고 술래도 나를 향해 곧장 온다고 가정하면, 한 틱에 나는 한 칸, 술래는 두 틱에 한 칸 움직이므로 둘 사이 간격은 두 틱마다 3칸씩 줄어듭니다. 아래 표는 게임 코드와 같은 순서(내가 움직인 뒤 충돌 검사, 술래가 짝수 틱에 움직인 뒤 다시 검사)로 빌드 시 계산한 값입니다. 간격은 두 캐릭터 사이의 칸 차이입니다.
| 처음 간격(칸) | 충돌까지 틱 | 충돌까지 시간(초) |
|---|---|---|
| 2칸 | 2틱 | 0.34초 |
| 3칸 | 2틱 | 0.34초 |
| 4칸 | 3틱 | 0.51초 |
| 6칸 | 4틱 | 0.68초 |
| 8칸 | 6틱 | 1.02초 |
| 10칸 | 7틱 | 1.19초 |
| 12칸 | 8틱 | 1.36초 |
간격이 6칸인데도 충돌까지는 0.7초가 안 됩니다. 손가락이 방향키까지 가는 시간을 생각하면, 술래가 정면으로 6칸 안쪽에 보일 때는 이미 늦었다고 보고 옆길로 빠지는 입력을 미리 눌러 두는 편이 안전합니다. 반대로 술래가 나와 같은 방향으로 뒤에서 쫓아올 때는 두 틱마다 간격이 1칸씩 벌어지므로, 직선 12틱을 달리면 처음 2칸이던 간격이 8칸이 됩니다.
점 개수별 최소 소요 시간
한 틱에 한 칸만 가고 점은 한 칸에 하나뿐이므로, 점 n개를 모으는 데는 아무리 효율적으로 다녀도 n틱 이상이 듭니다. 다음 표는 진행 정도에 따른 시간의 하한입니다. 실제 기록은 되돌아가는 구간 때문에 이보다 깁니다.
| 진행률 | 모은 점 | 최소 시간(초) |
|---|---|---|
| 25% | 26개 | 4.42초 |
| 50% | 52개 | 8.84초 |
| 75% | 78개 | 13.26초 |
| 100% | 104개 | 17.68초 |
상황별 판단 예시
시작 직후. 나는 왼쪽 위 구석에서 출발하고 첫 방향 입력 전에는 시간이 멈춰 있습니다. 술래가 닿을 수 있는 최단 시간은 위 검산 예시에 나온 값이므로, 처음 몇 초는 술래 걱정 없이 점이 몰린 줄을 훑는 데 쓸 수 있습니다.
점이 거의 남지 않았을 때. 마지막 점들이 두 곳으로 갈라져 남으면 한쪽을 먹고 반대쪽으로 가는 동안 술래가 두 곳 사이를 따라옵니다. 술래는 나와의 가로세로 거리 합이 줄어드는 쪽을 고르므로, 한쪽 구석에서 대기하다가 술래가 가까워진 순간 반대쪽으로 크게 이동하는 방식이 통합니다.
기둥을 이용한 따돌리기. 기둥 하나의 둘레(바깥 8칸)를 한 바퀴 도는 데 나는 8틱이 걸리고 같은 시간에 술래는 4칸만 갑니다. 술래가 한 마리뿐이거나 같은 쪽에서 따라올 때는 기둥 주변을 돌며 간격을 벌릴 수 있습니다. 다만 두 술래가 반대 방향에서 접근하면 이 방법이 막히므로 그때는 열린 교차로로 빠지세요.
코드로 확인한 동작 세부
- 화면이 백그라운드 탭으로 가면 브라우저가 타이머 실행 빈도를 줄일 수 있어 진행이 느려지거나 멈출 수 있습니다. 게임에 일시정지 기능은 없으므로 다른 탭을 보고 오면 위치를 다시 확인하세요.
- 방향키 입력은 게임이 끝난 뒤에도 페이지 스크롤을 막습니다. 게임이 끝나면 마우스 휠로 스크롤하세요.
- 화면의 버튼과 쓸어넘기기 입력은 키보드와 똑같이 예약 방향만 바꿉니다. 한 틱 안에 여러 번 눌러도 마지막 입력 하나만 적용됩니다.
- 새 게임 버튼은 기존 타이머를 멈추고 새로 시작하므로 여러 번 눌러도 속도가 빨라지지 않습니다.
실전 전략
- 술래는 속도가 절반이라 미로 전체를 한 바퀴 도는 동안 나는 두 바퀴를 돕니다. 정면충돌만 피하면 술래를 따돌릴 수 있습니다.
- 술래는 U턴을 하지 않습니다. 술래와 마주 보고 달리다가 스치듯 반대편으로 빠져나가면 술래는 곧바로 방향을 바꾸지 못하고 앞으로 가야 해서 한 바퀴 돌아오는 시간이 벌어집니다.
- 술래 둘이 반대쪽에서 몰려오는 상황이 가장 위험합니다. 이 미로는 사방이 열린 교차로가 28칸이나 있어 기둥을 사이에 두고 한쪽으로 빠지는 길이 많습니다.
- 점이 많은 줄(13개짜리 줄)을 한 번에 훑고 지나가면 효율이 좋습니다. 줄 하나를 가로로 끝까지 가는 데 12틱, 약 2초가 걸립니다.
- 마지막 점들은 대개 구석에 남습니다. 술래를 반대쪽으로 유인한 뒤 구석으로 가야 합니다. 구석 칸은 열린 방향이 2개뿐이라 갇히기 쉬우니 술래와의 거리를 여러 칸 이상 확인한 뒤 들어가세요.
흔한 실수와 한계
- 방향을 한 번만 누르고 기다리면 예약된 방향이 계속 남아 있어 의도하지 않은 곳에서 꺾을 수 있습니다. 길을 지나친 뒤에 누른 입력은 다음 열린 길에서 적용됩니다.
- 술래의 20% 무작위는 예측 불가능한 면이 있지만 80%는 규칙적입니다. 규칙을 믿되 너무 가까이 붙지 마세요.
- 점은 104개로 고정이고 레벨, 파워 아이템(술래를 잡아먹는 기능), 추가 목숨은 없습니다.
- 난수는 Math.random이며 놀이용입니다.
- 작은 화면에서는 캔버스가 축소됩니다. 쓸어넘기기가 어려우면 아래 버튼을 쓰세요.
자주 묻는 질문
미로 구조가 매번 바뀌나요?
미로 구조 자체는 고정되어 있지만, 술래의 움직임에는 20%의 무작위성이 섞여 있어 매판 다른 추격 양상을 보입니다.
술래를 피해서 계속 도망만 다녀도 되나요?
게임은 점을 모두 모아야 끝나므로 도망만 다니면 승리하지 못합니다. 대신 시간제한이 없으니 술래의 위치를 살피며 점이 남은 구역으로 이동하는 계획이 필요합니다.
술래는 나보다 얼마나 느린가요?
정확히 절반입니다. 내가 한 칸을 170ms에 가는 동안 술래는 340ms에 한 칸을 갑니다.
최고 기록은 무엇을 뜻하나요?
한 판에서 모은 점의 최대 개수입니다. 이기면 104점이 되고, 져도 그 판의 점수가 이전 최고보다 높으면 갱신됩니다. 저장된 기록은 브라우저 데이터를 지우면 없어집니다.
방향키를 눌러도 화면이 스크롤되나요?
방향키는 게임 조작에만 쓰이고 페이지 스크롤은 막아 둡니다. 스크롤하려면 마우스 휠이나 스크롤바를 쓰세요.
술래 두 마리가 같은 칸에 있으면 어떻게 되나요?
서로 부딪히거나 막지 않습니다. 같은 칸에 겹쳐 한 마리처럼 보일 수 있고, 이때는 둘이 같은 방향으로 따라오는 것이라 한 마리만 피하는 것과 비슷합니다.
벽에 부딪히면 멈추나요, 점수가 깎이나요?
멈출 뿐 감점은 없습니다. 멈춘 동안에도 시간이 흐르므로 술래는 계속 다가옵니다. 길이 열리는 칸에서 꺾으려면 방향 입력을 미리 눌러 예약해 두세요.
한 번도 지지 않는 필승법이 있나요?
술래에 20% 무작위가 섞여 있어 완벽한 필승 순서를 단정할 수 없습니다. 다만 내 속도가 술래의 두 배이고 막다른 길이 없는 구조이므로, 마주 달리는 표의 시간을 기준으로 술래와의 간격을 넉넉히 유지할수록 유리합니다.
다른 미로·두뇌 게임도 즐겨보세요
출구를 찾는 미로 게임을 원한다면 미로 탈출 게임도, 기울여서 구슬을 굴리는 미로가 궁금하다면 구슬 기울이기 미로 게임도, 타일을 돌려 길을 잇는 타일 회전 퍼즐도 확인해보세요.