에어하키 게임

오른쪽 말렛(나)을 자유롭게 움직여 퍽을 컴퓨터 쪽 골대로 밀어 넣으세요. 먼저 5점을 내면 승리합니다!

⚫ 컴퓨터: 0🔵 나: 0

마우스나 터치로 오른쪽 말렛을 자유롭게(상하좌우) 움직여 퍽을 쳐내세요. P 키나 Esc로 일시정지할 수 있습니다.

코트와 규칙

코트는 480×300 픽셀입니다. 퍽(흰 원)은 반지름 11px, 말렛(손잡이)은 반지름 22px의 원이고, 컴퓨터는 왼쪽, 나는 오른쪽에 있습니다. 위·아래 벽과 좌우 벽은 퍽을 튕겨 내지만, 양쪽 벽 중앙에는 노란색 골대가 있어 퍽 중심이 그 틈 안(중앙에서 위아래 42px, 총 84px로 벽 길이의 약 28%)에서 벽에 닿으면 득점입니다.5점을 먼저 내면 승리합니다. 득점 뒤 새 퍽은 중앙에서 약 0.7초 정지해 있다가 출발하며, 방금 득점한 쪽을 향해 날아갑니다.

퍽은 말렛 중심에서 바깥쪽으로 튕겨 나간다

퍽과 말렛이 겹치면(두 중심 사이 거리가 33px보다 가까워지면) 퍽은 말렛 중심에서 퍽 중심을 향하는 방향으로 튕겨 나갑니다. 즉 퍽이 말렛의 오른쪽 위를 맞으면 오른쪽 위로, 왼쪽 아래를 맞으면 왼쪽 아래로 갑니다. 이 게임에서 퍽의 새 방향은 오직 접촉한 각도로만 정해지고, 말렛을 얼마나 빠르게 휘둘렀는지는 방향에도 속도에도 영향을 주지 않습니다. 그래서 세게 휘두르기보다 말렛을 퍽의 어느 쪽에 갖다 대느냐가 훨씬 중요합니다. 상대 골대 쪽으로 곧장 보내려면 퍽의 정확히 반대편(내 쪽)에서 접촉하고, 벽을 맞히는 뱅크샷을 만들려면 퍽의 위나 아래쪽에서 비스듬히 닿아야 합니다.

퍽 속도는 맞을 때마다 올라가고 줄지 않는다

퍽이 말렛에 닿을 때마다 새 속도는 "현재 속도 × 1.08 + 0.4"가 되며 최대 9px/프레임에서 멈춥니다. 내 말렛이든 컴퓨터 말렛이든 똑같이 적용되고, 벽에 부딪혀도 속도는 줄지 않으며 마찰도 없습니다. 속도가 줄어드는 유일한 순간은 득점 후 새 퍽이 3.6px/프레임으로 다시 놓일 때입니다.

말렛 타격 횟수(누적)퍽 속도(px/프레임)초당 이동(px, 60fps)코트 폭을 가로지르는 시간(ms)
0회3.602162222
1회4.292571866
2회5.033021590
3회5.833501371
5회7.644581048
7회 (최고 속도)9.00540889

7번째 타격에서 최고 속도에 도달하면, 퍽은 코트 폭 480px를 약 0.9초에 가로지릅니다. 서브 속도로는 약 2.2초 걸리는 거리입니다. 랠리가 길어질수록 퍽은 빨라지기만 하므로, 일찍 점수를 내는 것이 유리하고 끝없는 수비전은 시간이 갈수록 반응하기 어려워집니다. 속도 변화는 화면 주사율이 아닌 시간 기준으로 보정되어 60Hz가 아닌 화면에서도 비슷하게 진행됩니다.

컴퓨터 말렛의 제약과 공략 방법

컴퓨터 말렛은 x=70 위치에 고정되어 위아래로만 움직입니다. 목표는 항상 퍽의 현재 높이이고, 한 프레임에 최대 2.6px(초당 156px)까지 움직입니다. 퍽이 어디로 갈지 예측하지 않고 지금 위치만 따라가므로, 퍽의 세로 속도가 2.6px/프레임보다 크면 그 차이만큼 컴퓨터가 점점 뒤처집니다. 퍽을 비스듬한 각도로 보냈을 때 세로 속도가 얼마나 되는지는 다음과 같습니다(퍽 속도 × sin(진행 각도)).

가로축과 이루는 각도속도 3.6일 때 세로 속도속도 6.0일 때속도 9일 때
0°0.000.000.00
15°0.931.552.33
30°1.803.00 (컴퓨터보다 빠름)4.50 (컴퓨터보다 빠름)
45°2.554.24 (컴퓨터보다 빠름)6.36 (컴퓨터보다 빠름)
60°3.12 (컴퓨터보다 빠름)5.20 (컴퓨터보다 빠름)7.79 (컴퓨터보다 빠름)

표처럼 서브 속도에서는 60° 정도 각도를 줘야 세로 속도가 컴퓨터의 추적 속도를 넘습니다. 하지만 속도가 6이 되면 45°에서도 앞서고, 최고 속도 9에서는 약 17° 이상이면 앞섭니다. 속도가 오른 뒤에는 작은 각도의 뱅크샷만으로도 컴퓨터가 쫓아오지 못합니다. 단, 컴퓨터 말렛은 반지름이 22px이고 퍽 반지름까지33px 이내에 있으면 막아내므로, 약간 뒤처지는 정도로는 득점이 나지 않습니다. 골대 폭이 위아래 42px라는 점과 합쳐서 "속도를 먼저 올리고, 벽을 이용해 각도를 만들어서, 컴퓨터가 반대편으로 끌려간 순간 골대 쪽으로 보낸다"가 기본 공략입니다.

컴퓨터가 퍽이 건너오는 동안 움직일 수 있는 거리

컴퓨터의 추적 속도(프레임당 2.6px)는 고정이고 퍽만 빨라집니다. 그래서 같은 랠리라도 퍽이 느릴 때는 컴퓨터에게 위치를 고칠 시간이 충분하고, 빠를 때는 거의 없습니다. 아래 표는 퍽 중심이 두 말렛의 초기 위치 사이를 수평으로 274px 이동하는 동안(두 말렛과 퍽 반지름 합을 뺀 거리) 컴퓨터 말렛이 세로로 갈 수 있는 최대 거리입니다. 말렛의 세로 이동 범위는 256px(벽에서 말렛 반지름 안쪽부터 반대편까지)입니다.

말렛 타격 횟수(누적)퍽 속도(px/프레임)건너는 시간(ms)컴퓨터의 최대 세로 이동(px)
0회3.601269198
1회4.291065166
2회5.03908142
3회5.83783122
5회7.6459893
7회9.0050779

서브 속도에서는 컴퓨터가 약 198px를 움직일 수 있어 세로 범위 256px의 대부분을 커버하므로, 한가운데로 보낸 퍽은 거의 막힙니다. 반면 타격이 쌓여 속도가 오르면 이동 가능 거리가 79px까지 줄어, 퍽을 컴퓨터의 반대쪽 높이로 보내는 샷이 통하기 시작합니다. 위·아래 끝으로 보낼수록 컴퓨터가 이동해야 할 거리가 길어진다는 점도 함께 기억하세요. 다만 이 값은 퍽이 수평으로만 달린다고 가정한 상한이고, 실제로는 벽에 맞아 반사되는 동안 컴퓨터의 목표 높이도 계속 바뀝니다. 표의 숫자는 "랠리가 길어질수록 내게 유리해지는 경향"을 보여 주는 용도로만 읽으세요.

상황별 운영 예시

첫 점수를 내고 싶을 때. 서브 직후 속도가 3.6라 컴퓨터가 충분히 따라옵니다. 이때는 무리하게 득점을 노리기보다 말렛으로 퍽을 두세 번 쳐서 속도를 올린 뒤(3번째 타격 속도는 위 표 참고), 벽을 한 번 맞히는 각도로 반대편 높이를 노리는 편이 합리적입니다.

점수 차이가 벌어졌을 때. 먼저 5점을 내는 규칙이라 4:4 이후의 한 골이 승패를 가릅니다. 마지막 한 골 상황에서는 수비를 먼저 안정시키고 퍽이 최고 속도에 오르기를 기다린 뒤 공격하세요. 득점 직후 새 퍽은 방금 득점한 쪽으로 날아오므로, 내가 점수를 냈다면 퍽이 내 쪽으로 오는 서브이니 첫 타격을 내가 가져가 속도를 올릴 수 있습니다. 반대로 컴퓨터가 득점했다면 퍽이 컴퓨터 쪽으로 가서 내가 먼저 받을 일은 없습니다.

터치 화면에서 할 때. 손가락이 퍽과 말렛을 가리기 쉬우니 캔버스의 오른쪽 아래 구석에 손가락을 두고 퍽의 높이만 따라 끌고 다니는 방식이 편합니다. 캔버스를 누르는 순간 말렛이 그 위치로 즉시 이동하므로 퍽 가까이를 갑자기 누르면 의도치 않게 퍽을 쳐낼 수 있습니다.

내 골대를 지키는 요령

한 판의 흐름을 읽는 법

한 판은 먼저 5점을 내면 끝나므로 최소 5골, 최대 9골(4:4 이후 한 골)이 나옵니다. 각 골마다 새 퍽이 서브 속도로 돌아오기 때문에 한 판 동안 속도 상승이 여러 번 초기화됩니다. 따라서 한 번의 긴 랠리에서 속도를 올리는 것이 아니라, 득점 직후 서브 구간의 첫 몇 번 타격을 얼마나 알차게 쓰느냐가 승패를 가릅니다. 퍽이 3.6에서 9까지 오르려면 위 표대로 7번의 말렛 타격이 필요하므로, 그 사이 상대 진영 벽을 한두 번 맞히는 뱅크샷을 섞으면 컴퓨터의 추적 거리를 늘릴 수 있습니다. 처음 몇 판은 점수보다 퍽 방향이 말렛 어느 쪽에서 나오는지 익히는 연습에 쓰고, 익숙해진 뒤에는 한 골을 낼 때까지 걸리는 시간을 줄이는 것을 목표로 삼으면 좋습니다.

이 게임의 한계

1인 대 컴퓨터 모드만 있고 난이도 선택, 2인 대전, 공격 시간 제한 같은 실제 에어하키의 규칙은 없습니다. 실제 에어하키 테이블에서는 말렛의 휘두르는 속도가 퍽 속도에 반영되지만, 이 게임은 접촉 각도만으로 방향을 정하는 단순화된 물리 모델입니다. 퍽의 처음 방향(±0.4라디안 이내)은 Math.random으로 정해지며 보안용이 아닙니다.

다른 아케이드 게임도 즐겨보세요

위아래로만 움직이는 패들로 대결하는 클래식한 방식이 궁금하다면 패들 볼 게임, 공이 튀는 물리를 즐기려면 핀볼 게임, 패들로 벽돌을 깨는벽돌깨기 게임도 확인해보세요.

자주 묻는 질문

컴퓨터 말렛도 자유롭게 움직이나요?

아니요, 컴퓨터 말렛은 x=70 위치에서 퍽의 높이를 따라 위아래로만 움직이고 한 프레임에 2.6px를 넘지 못합니다. 퍽의 세로 속도가 그보다 빠르면 컴퓨터가 뒤처집니다.

모바일에서도 조작할 수 있나요?

네, 캔버스를 터치하거나 끌면 말렛이 손가락 위치로 이동합니다. 내 진영(오른쪽 절반)을 벗어난 위치를 누르면 중앙선 바로 오른쪽까지만 움직입니다.

말렛을 세게 휘둘러도 퍽이 더 빨라지지 않아요.

정상입니다. 이 게임의 퍽 속도는 맞기 직전 속도에 1.08을 곱하고 0.4를 더한 값이며, 말렛이 움직인 속도는 반영되지 않습니다. 방향만 접촉 각도로 정해집니다.

퍽이 왜 점점 빨라지나요?

말렛에 맞을 때마다 속도가 커지고 마찰이 없기 때문입니다. 최고 속도는 프레임당 9px이며, 득점이 나면 다시 3.6px로 돌아갑니다.

득점 직후 퍽은 어느 쪽으로 나오나요?

방금 득점한 쪽을 향해 중앙에서 약 0.7초 멈춰 있다가 출발합니다. 내가 득점했다면 퍽은 내 쪽으로, 컴퓨터가 득점했다면 컴퓨터 쪽으로 날아갑니다. 처음 방향은 가로축 기준 ±0.4라디안 안에서 무작위입니다.

퍽이 말렛에 끼어 튕겨 나오지 못할 때가 있나요?

충돌이 일어나면 퍽을 말렛 바깥 경계로 즉시 밀어내고 속도를 바꾸므로 말렛 안에 박혀 있지는 않습니다. 다만 벽과 말렛 사이 좁은 틈에서는 반복해서 튕길 수 있으니 말렛을 빼 주면 풀립니다.

탭을 바꿨다 돌아오면 어떻게 되나요?

다른 탭으로 이동하면 자동으로 일시정지되고 "계속하기"를 눌러야 다시 진행됩니다. 일시정지 중에는 점수와 퍽 위치가 그대로 유지됩니다.

점수나 기록이 저장되나요?

저장하지 않습니다. 새 게임을 누르거나 페이지를 새로 고치면 처음부터 시작합니다.