이런 때 추천합니다
두 사람이 같은 기기에서 순간 반응을 짧게 비교하되 부정 출발까지 포함한 명확한 승부를 원할 때 잘 맞습니다.
- 친구와 같은 키보드 또는 화면에서 순발력을 비교할 때
- 2분에서 3분 안에 끝나는 짧은 반응 게임이 필요할 때
- 빠른 입력뿐 아니라 부정 출발을 참는 집중력도 겨루고 싶을 때
시작 전 준비
- 시작을 누르면 매 라운드 약 1.35–3.75초 범위의 변동 대기 시간이 설정됩니다.
- 대기 중에는 화면이 아직 신호 상태가 아닌지 확인합니다.
규칙과 승리 조건
- 신호 전에 누르면 부정 출발로 처리되어 상대편이 1점을 얻습니다.
- 신호 후 두 입력을 12ms 동안 수집해 각 플레이어의 반응 시간을 비교합니다.
- 두 반응 시간의 차이가 8ms 이하이면 라운드 무승부로 처리하고 점수를 주지 않습니다.
승리 조건
3점을 먼저 얻은 플레이어가 매치에서 승리합니다.
조작 방법
데스크톱
- P1은 F, P2는 J를 누릅니다. 키 자동 반복은 무시됩니다.
- 각 플레이어 버튼에 포커스한 뒤 Enter 또는 Space로도 누를 수 있습니다.
모바일
- 화면을 양쪽으로 나눈 각 플레이어의 큰 버튼을 누릅니다.
- 동일한 pointer ID의 중복 입력과 터치 뒤 발생하는 compatibility click은 한 번만 판정됩니다.
공정성
- 대기 시간은 게임 변화를 위한 Math.random()을 사용합니다. 보안 난수나 감사 가능한 추첨으로 설명하지 않습니다.
- DOM 이벤트 시각을 performance clock 기준으로 정규화해 반응 시간을 비교합니다.
- 8ms 이하의 근접한 차이를 무승부로 처리해 입력 순서만으로 과도한 우선권을 주지 않습니다.
- 기기, 브라우저, 키보드와 터치 하드웨어의 지연 차이는 실제 결과에 영향을 줄 수 있습니다.
한 판 따라하기
- 두 플레이어가 F·J 키 또는 화면 양쪽 버튼에 손을 가볍게 올리고, 카운트다운이 아니라 실제 신호 변화를 기다립니다.
- 신호 전에는 손가락에 힘을 주지 않습니다. 먼저 누른 부정 출발은 자신의 기록이 아니라 상대의 한 점이 됩니다.
- 신호 뒤에는 한 번만 명확하게 누릅니다. 누른 채 유지하거나 같은 터치에서 생긴 중복 click은 새 반응으로 계산되지 않습니다.
- 결과의 밀리초 값은 같은 기기 안의 상대 비교용으로 사용합니다. 다른 기기나 브라우저의 숫자를 절대 기록처럼 비교하지 않습니다.
직접 구현하고 확인한 항목
- 이벤트 시각을 performance clock 기준으로 정규화하고 신호 뒤 12ms 수집 창 안의 두 입력을 비교합니다.
- 반응 시간 차이가 8ms 이하이면 무승부, 신호 전 입력이면 상대 점수로 처리되는 경계를 단위 테스트로 확인합니다.
- 동일 pointer의 중복 입력과 터치 뒤 compatibility click이 한 라운드에 두 번 판정되지 않는지 검사합니다.
실수하기 쉬운 점과 팁
- 대기 시간의 리듬을 예측하기보다 신호 상태가 바뀌는 것을 직접 확인하세요.
- 조금이라도 먼저 누르면 상대편이 점수를 얻으므로 성급한 선입력을 피하세요.
- 버튼을 누른 채 유지하는 것은 다음 라운드의 새 반응으로 인정되지 않습니다.
접근성과 화면 방향
- 양쪽 조작 영역은 키보드로도 작동하는 실제 버튼으로 제공됩니다.
- 점수, 라운드, 대기·신호·결과 상태를 DOM 텍스트와 라이브 안내로 전달합니다.
- 지원하는 기기에서는 신호 시 25ms 진동을 선택적으로 사용하며, 진동이 없어도 규칙은 바뀌지 않습니다.
- 작은 가로 화면을 위한 한 화면 압축 배치가 있지만, 세로 방향 권장 안내는 표시하지 않습니다.
반응속도 대결 자주 묻는 질문
신호 전에 누르면 어떻게 되나요?
부정 출발로 처리되어 상대 플레이어가 1점을 얻습니다.
거의 동시에 누르면 누가 이기나요?
반응 시간 차이가 8ms 이하이면 해당 라운드는 무승부로 처리합니다.
기기마다 반응속도 결과가 달라질 수 있나요?
네. 브라우저, 화면, 키보드와 터치 하드웨어의 지연 차이가 결과에 영향을 줄 수 있습니다.
관련 게임
바로 한 판 시작하기
신호가 켜지는 순간 먼저 누르되 성급한 부정 출발을 조심하는 2인 대결.
반응속도 대결 열기