반응 속도는 한 번만 놓쳐도 평균이 36ms 밀립니다
핵심 요약 — 반응 속도는 다섯 번의 평균이라, 한 번 놓치면 그 손해가 5분의 1로 나뉘어 남습니다. 네 번을 220밀리초로 치고 한 번을 400밀리초로 치면 평균이 256밀리초가 됩니다. 잘 친 네 번보다 못 친 한 번이 기록을 정합니다.
반응 속도 게임을 하다 보면 억울한 순간이 옵니다. 네 번은 잘 눌렀는데 한 번 딴 데를 봤을 뿐인데 평균이 확 올라갑니다.
얼마나 올라가는지 계산해 봤습니다.
한 번의 실수가 평균을 얼마나 미나
| 잘 친 네 번 | 놓친 한 번 | 평균 | 밀린 양 |
|---|---|---|---|
| 220ms | 400ms | 256ms | +36ms |
| 200ms | 500ms | 260ms | +60ms |
| 180ms | 350ms | 214ms | +34ms |
200밀리초로 네 번을 치고 한 번을 500밀리초에 놓치면 평균이 260밀리초가 됩니다. 실력은 200인데 기록은 260입니다.
다섯 번은 그래서 고른 숫자입니다. 한 번이면 운이 절반이고, 열 번이면 지루해집니다. 다섯이면 한 번의 실수가 아프되 회복이 불가능하지는 않습니다.
박자를 외울 수 없게 만들어 두었다
기다리는 시간은 회차마다 1.2초에서 3.4초 사이로 흩어집니다. 평균은 2.30초이고, 한 판에서 기다리는 시간의 합이 평균 11.5초입니다.
간격이 일정하면 몇 번 해 보고 박자를 맞춰 버릴 수 있습니다. 그러면 반응이 아니라 박자 감각을 재게 됩니다. 흩어 두면 미리 누르는 것이 손해가 됩니다 — 신호 전에 누르면 그 회차를 처음부터 다시 하고, 기다리는 시간도 다시 뽑힙니다.
사람의 하한은 100밀리초 언저리다
빛이 눈에 들어와 신경을 거쳐 손가락이 움직이기까지는 아무리 빨라도 시간이 걸립니다. 단순 시각 반응의 기록도 100밀리초 아래로는 내려가지 않습니다. 그래서 110밀리초보다 짧은 기록은 인정하지 않습니다. 그런 값이 나왔다면 신호를 보고 누른 것이 아니라 미리 누른 것입니다.
보통은 이 정도가 나옵니다.
- 200~250밀리초면 흔한 편입니다
- 180밀리초 아래로 꾸준히 나오면 빠른 축입니다
- 화면과 기기에 따라 20~50밀리초가 오갑니다 — 같은 사람이라도 휴대폰과 컴퓨터의 값이 다릅니다
기록은 어떻게 지켜지나
기다리는 시간이 판마다 정해져 있다는 점이 검증의 뼈대입니다. 서버는 그 판에서 얼마를 기다렸어야 하는지 알고 있으므로, 기다린 시간과 반응 시간을 더한 값이 실제 경과 시간과 맞는지 봅니다. 반응 시간만 짧게 적어 보내면 총합이 어긋납니다.
더 자세한 것은 반응 속도 가이드에 있습니다. 손이 아니라 눈을 재는 숫자 찾기도 함께 보세요.
가장 크게 놓치면 얼마나 밀리나
한 회차가 아무리 늦어도 기록에는 2,000밀리초까지만 적힙니다. 딴 데를 보다가 몇 초 뒤에 눌렀어도 그 회차는 2,000밀리초로 계산되므로, 한 번 크게 놓쳤을 때의 손해에도 끝이 있습니다.
| 잘 친 네 번 | 놓친 한 번 | 평균 | 밀린 양 |
|---|---|---|---|
| 200ms | 2,000ms(상한) | 560ms | +360ms |
| 250ms | 2,000ms(상한) | 600ms | +350ms |
한 회차가 평균에 보탤 수 있는 몫은 최대 400밀리초(2,000 ÷ 5)입니다. 그래도 200밀리초를 치는 사람의 기록이 560밀리초가 되니, 상한이 있다고 가벼운 손해는 아닙니다.
다섯 번을 모두 셉니다
흔히 "가장 느린 한 번은 빼 주겠지"라고 생각하지만, 여기서는 다섯 번을 전부 더해 5로 나눕니다. 제일 나쁜 회차를 버려 주지 않으니 앞의 표처럼 한 번의 실수가 그대로 남습니다.
평균은 정수로 반올림합니다. 다섯 번의 합이 1,102밀리초면 220.4라 220, 1,103밀리초면 220.6이라 221입니다. 합이 1밀리초만 달라도 기록이 1밀리초 달라질 수 있습니다.
기다리는 시간을 숫자로 보면
기다리는 시간은 회차마다 1,200~3,400밀리초 사이에서 고르게 뽑힙니다. 폭이 2.2초라 대략 이렇게 나뉩니다.
- 1.5초 안에 신호가 오는 회차: 약 14% (0.3 ÷ 2.2)
- 3초가 넘어서 신호가 오는 회차: 약 18% (0.4 ÷ 2.2)
일곱 번에 한 번꼴로 1.5초 안에 신호가 오니, "아직 멀었겠지" 하고 긴장을 풀면 그 회차가 늦어집니다. 그렇다고 미리 누르면 그 회차를 다시 해야 합니다.
한 판을 신호대로 쳤을 때 걸리는 시간은 기다린 시간 다섯 번과 반응 시간 다섯 번의 합입니다. 기다림 평균 11.5초에 다섯 번을 220밀리초씩 쳤다면 1.1초가 더해져 약 12.6초입니다. 서버가 실제 경과 시간과 맞춰 보는 기준이 이 합입니다. 이 검증 방식은 순위표의 기록은 어떻게 지켜지나에 더 자세히 적었습니다.
설정값은 반응 속도 소개에도 있고, 바로 재 보려면 반응 속도 플레이로 가면 됩니다.
재현 방법
숫자는 lib/casual/reaction.ts의 상수로 계산했습니다 — 재는 횟수 TRIALS(5), 기다림 WAIT_MIN·WAIT_MAX(1,200·3,400), 인정 범위 MIN_MS·MAX_MS(110·2,000). 평균은 같은 파일의 scoreTimes, 경과 시간 기준은 expectedMs이고, 화면에서 늦은 회차를 2,000밀리초로 잘라 적는 부분은 components/game/casual/Reaction.tsx에 있습니다. 저장소 루트에서 npx tsx -e 'import { scoreTimes } from "./lib/casual/reaction"; console.log(scoreTimes([200, 200, 200, 200, 2000]))'를 돌리면 560이 나옵니다.
자주 묻는 질문
왜 다섯 번인가요?
한 번이면 운이 절반이고 열 번이면 지루합니다. 다섯이면 한 번의 실수가 아프되 회복이 불가능하지는 않습니다.
신호 전에 누르면 어떻게 되나요?
그 회차를 처음부터 다시 합니다. 기다리는 시간도 다시 뽑히므로 연타로는 얻는 것이 없습니다.
코인이 드나요?
들지 않습니다. 코인을 걸지 않는 기록형 게임이라 연령 제한도 없습니다. 기록은 명예 순위이며 현실 가치 보상과 무관합니다.