스네이크 규칙과 잘하는 법

뱀을 몰아 먹이를 먹고, 길어진 몸을 피해 가며 얼마나 오래 버티는지를 겨루는 게임입니다. 규칙은 세 줄이면 끝나지만 점수가 갈리는 곳은 규칙이 아니라 습관입니다. 처음 잡는 사람이 읽을 부분부터 백 점 위를 노리는 사람이 볼 요령까지 순서대로 실었습니다.

스네이크는 어떤 게임인가

격자 위를 뱀 한 마리가 쉬지 않고 기어갑니다. 플레이어가 하는 일은 방향을 트는 것 하나뿐이고, 멈추게 하거나 뒤로 물리는 일은 할 수 없습니다. 먹이를 먹으면 몸이 한 칸 길어지는데, 길어진 몸은 그대로 다음 순간의 장애물이 됩니다. 잘할수록 판이 좁아지는 구조라서, 이기는 방법이 곧 자기를 가두는 방법이기도 한 게임입니다.

시작은 1976년 아케이드 기판 블로케이드로 알려져 있습니다. 두 사람이 각자 선을 그어 상대를 가두는 대전 게임이었고, 여기서 상대를 빼고 먹이를 넣은 1인용 형태가 여러 기종으로 퍼졌습니다. 지금처럼 온 세상이 아는 게임이 된 계기는 1997년 노키아 6110 휴대전화에 기본 탑재된 것이었죠. 화면이 작고 조작 키가 몇 개 없는 기계에서도 성립한다는 점이 이 게임의 힘이었습니다.

기본 규칙

뱀은 알아서 나아갑니다

뱀은 정해진 간격마다 바라보는 쪽으로 한 칸씩 나아갑니다. 방향키를 누르는 것은 나아가라는 명령이 아니라 어느 쪽으로 나아갈지를 바꾸는 명령입니다. 손을 떼도 계속 가기 때문에, 이 게임에서 아무것도 하지 않는다는 선택은 직진한다는 선택과 같습니다.

먹이를 먹으면 길어집니다

머리가 먹이 칸에 들어가면 점수가 1 오르고 몸이 한 칸 늘어납니다. 늘어난다는 말을 정확히 하면, 그 순간에만 꼬리를 줄이지 않는다는 뜻입니다. 평소에는 머리가 한 칸 나가는 동시에 꼬리가 한 칸 빠지기 때문에 길이가 그대로 유지됩니다. 그리고 먹이는 곧바로 판 어딘가에 새로 나타납니다.

끝나는 조건은 둘뿐입니다

판 밖으로 나가거나 자기 몸에 머리를 박으면 그 판은 거기서 끝납니다. 다른 위험은 없습니다. 시간 제한도 없고 목표 점수도 없어서, 죽지만 않으면 얼마든지 계속됩니다. 그래서 스네이크의 점수는 실력보다 실수의 횟수에 가깝습니다.

이 앱의 세부 규칙

여기부터는 이 앱이 실제로 하는 일입니다. 스네이크는 만든 곳마다 판 크기와 속도, 벽 처리가 제각각이라 이 절을 한 번 읽어 두면 억울하게 죽는 일이 줄어듭니다.

판은 열다섯 칸 정사각형

가로 열다섯, 세로 열다섯으로 모두 이백스물다섯 칸입니다. 시작할 때 뱀은 판 한가운데에 길이 세 칸으로 놓이며 오른쪽을 봅니다. 첫 방향 입력을 받기 전까지는 멈춰 있으니 화면을 먼저 살펴본 다음 시작해도 됩니다. 아무 방향키나 스와이프 한 번이 출발 신호입니다.

속도는 처음부터 끝까지 같습니다

이 부분이 다른 스네이크와 가장 크게 다른 점입니다. 이 앱은 0.16초에 한 칸씩 나아가고, 그 간격은 점수가 몇이든 몸이 얼마나 길든 바뀌지 않습니다. 먹을수록 빨라지는 판이 아니고 단계가 올라가지도 않으며 속도를 고르는 설정도 없습니다. 그래서 후반이 어려워지는 이유는 손이 못 따라가서가 아니라 순전히 판이 좁아져서입니다. 앞에서 넉넉히 벌어 둔 여유가 뒤에서 그대로 점수가 되는 구조라, 초반에 급하게 굴 이유가 전혀 없습니다.

벽은 통과할 수 없습니다

위쪽 끝에서 위로 더 가면 반대편 아래로 나오는 방식이 아닙니다. 판 밖으로 한 칸이라도 나가는 순간 그대로 끝납니다. 이 규칙은 가장자리 전술의 값을 정해 줍니다. 벽을 끼고 도는 길은 몸에 걸릴 걱정이 없어 안전하지만, 동시에 도망칠 쪽이 한 방향 줄어드는 길이기도 합니다.

꼬리가 있던 칸은 밟아도 됩니다

몸에 박혔는지는 꼬리가 빠져나간 다음의 몸을 기준으로 봅니다. 그래서 꼬리 끝이 지금 있는 칸으로 머리를 들이미는 것은 죽음이 아닙니다. 같은 순간에 꼬리가 그 칸을 비우기 때문입니다. 다만 그 틱에 먹이를 먹으면 꼬리가 빠지지 않으니, 먹이가 꼬리 끝에 붙어 있는 모양이 되면 그 칸은 밟을 수 없는 칸이 됩니다.

반대로 꺾기와 그 함정

오른쪽으로 가는 중에 왼쪽을 누르면 그 입력은 그냥 버려집니다. 몸에 박히지 않고 무시만 되니 안심해도 됩니다. 다만 한 칸이 나아가기 전에 두 번을 꺾으면 이야기가 달라집니다. 오른쪽으로 가다가 위를 누르고 이어서 왼쪽을 누르면 두 입력 모두 반대 방향이 아니라서 통과되고, 뱀은 자기 목으로 들어갑니다. 급할 때 방향키를 연타하면 이렇게 죽습니다.

먹이가 나오는 자리

먹이는 뱀이 깔려 있지 않은 칸 전부를 후보로 놓고 그중 하나를 고릅니다. 판 가운데가 잘 나온다거나 머리 근처를 피한다거나 하는 보정은 없습니다. 고르는 데 쓰는 난수는 그날 날짜에서 뽑기 때문에 같은 날 들어온 사람은 같은 흐름을 받습니다. 다만 뱀이 차지한 칸은 후보에서 빠지므로, 어떻게 몰았느냐에 따라 실제로 찍히는 자리는 사람마다 달라질 수 있습니다. 같은 조건에서 겨루기에는 충분하지만 완전히 똑같은 판을 보장하지는 않습니다.

조작과 없는 기능

키보드는 방향키 네 개만 받습니다. 알파벳 키로는 조작할 수 없습니다. 손가락으로는 판 위를 쓸어 주면 되고, 스무 픽셀보다 짧게 움직인 것은 눌렀다 뗀 것으로 보고 넘깁니다. 대각선으로 쓸면 더 많이 움직인 축으로 정해집니다.

없는 것도 분명히 적어 둡니다. 일시정지가 없고, 다시 시작 단추가 없어서 한 판이 끝나면 새로고침을 해야 합니다. 진행 상황을 저장하지 않으므로 도중에 창을 닫으면 그 판은 사라지고, 최고 점수를 기록해 두는 곳도 없습니다. 되돌리기나 목숨 추가 같은 것도 없습니다. 판이 도는 곳은 브라우저 안뿐이라 계정도 필요 없습니다.

끝나고 나면

죽으면 그 자리에서 점수가 뜨고 공유 단추가 나옵니다. 누르면 날짜와 점수만 담긴 짧은 문구가 복사됩니다. 어디로 몰았는지도 먹이가 어디 나왔는지도 담기지 않으니, 아직 안 해 본 사람에게 보내도 재미를 깎지 않습니다.

기본 요령

아래는 사람이 눈과 손으로 하는 일입니다. 이 앱은 경로를 그려 주지 않고 위험한 칸을 표시해 주지도 않으니 전부 직접 판단해야 합니다. 대신 한 번 익히면 어느 스네이크에서나 그대로 쓰입니다.

먹이보다 다음 수를 보세요

초보와 숙련자의 차이는 먹이를 먹느냐가 아니라 먹은 다음에 어디로 빠지느냐에서 갈립니다. 먹이 칸에 들어가는 순간 몸이 한 칸 늘어난다는 것을 기억하고, 그 자리에서 나갈 길이 몇 개인지를 먼저 세어 보세요. 나갈 길이 하나뿐인 먹이는 한 판을 통째로 날릴 수 있습니다.

방향은 미리, 한 번씩

방향 전환은 다음 칸으로 나아갈 때 반영됩니다. 부딪히기 직전에 누르는 것보다 두어 칸 앞에서 미리 눌러 두는 편이 훨씬 안전합니다. 연타는 앞에서 말한 목 물기를 부르니, 한 번 누르고 한 칸 나아가는 것을 눈으로 확인한 다음 다음 방향을 누르는 습관을 들이세요.

가장자리를 등지고 도세요

가운데를 가로지르면 판이 좌우로 잘려서 남은 공간이 두 조각이 됩니다. 몸이 짧을 때는 아무 문제가 없지만 스무 칸을 넘어가면 이 한 번의 횡단이 나중에 발목을 잡습니다. 벽을 끼고 크게 돌면서 필요할 때만 안쪽으로 들어갔다 나오는 편이 낫습니다.

고급 요령

속도가 일정한 판이라 후반의 난이도는 전부 공간 관리에서 나옵니다. 아래 세 가지는 그 공간을 다루는 방법입니다.

S자로 훑기

한 줄을 끝까지 가고 한 칸 내려와 반대로 돌아오는 왕복 경로를 정해 두고 그 위에서만 움직이는 방법입니다. 지루해 보이지만 판 전체를 빠짐없이 지나기 때문에 먹이가 어디에 찍히든 결국 경로 안으로 들어옵니다. 열다섯 줄이라 한 바퀴가 그리 길지도 않습니다. 몸이 길어져 계산이 벅찰 때 안전판으로 삼기 좋습니다.

꼬리를 놓치지 않기

갇혔는지 아닌지를 재는 가장 단순한 잣대는 지금 자리에서 꼬리까지 갈 길이 남아 있느냐입니다. 꼬리는 매 순간 앞으로 비켜나므로 꼬리를 쫓아가는 길은 좀처럼 막히지 않습니다. 먹이가 멀거나 위험해 보이면 먹이를 포기하고 꼬리 뒤를 따라 시간을 버는 선택이 언제나 있습니다. 이 게임에는 제한 시간이 없다는 사실이 여기서 값을 합니다.

공간을 쪼개지 않기

몸이 길어지면 뱀 자체가 판을 나누는 벽이 됩니다. 어떤 이동이 남은 빈칸을 두 덩어리로 갈랐고 그중 작은 쪽에 머리가 있다면, 그 작은 덩어리의 칸 수보다 몸이 길 때 빠져나갈 방법은 없습니다. 그래서 후반에는 먹이로 가는 최단 경로가 아니라 빈칸을 한 덩어리로 유지하는 경로를 고릅니다. 벽을 끼고 도는 것이 좋은 이유도 결국 이것인데, 가장자리를 지나는 몸은 판을 자르지 않고 바깥쪽을 감싸기만 하기 때문입니다.

자주 막히는 부분

누른 적 없는데 죽었을 때

대개 두 가지 중 하나입니다. 한 칸이 나아가기 전에 방향키를 두 번 눌러 목으로 들어갔거나, 앞서 누른 방향이 아직 반영되지 않은 상태에서 하나를 더 눌러 예상과 다른 칸으로 갔거나입니다. 한 번 누르고 뱀이 실제로 도는 것을 본 다음 다음 키를 누르면 대부분 사라집니다.

벽을 스치다 나가는 자리

가장자리를 끼고 도는 전술은 좋지만 모서리에서는 판단할 시간이 반으로 줄어듭니다. 여기는 벽을 통과할 수 없는 판이라 늦게 꺾으면 만회가 안 됩니다. 벽에 닿기 두 칸 전에 꺾을 방향을 정해 두고 들어가세요.

먹이가 구석에 박혔을 때

모서리에 붙은 먹이는 들어가는 길과 나오는 길이 사실상 하나씩뿐입니다. 몸이 짧으면 그냥 가도 되지만 길어진 뒤라면 먼저 주변을 한 바퀴 정리해서 나올 길을 만든 다음에 들어가세요. 먹이는 사라지지 않고 기다려 주니 서두를 이유가 없습니다.

한 판이 끝나 버렸을 때

다시 시작 단추가 없어서 새로 하려면 새로고침을 해야 합니다. 이어 하기도 없으니 죽은 판은 그대로 끝입니다. 대신 먹이 흐름은 그날 하루 동안 같은 자리에서 시작하므로, 방금 판에서 어디에 먹이가 나왔는지를 기억해 두면 다음 판을 훨씬 편하게 시작할 수 있습니다.