본문 바로가기

블로그 / 공략·가이드

반응속도 공략, 신호탄 한 번에 끝나는 8초짜리 승부

랜선포차 반응속도 게임의 규칙과 요령. 신호는 준비 뒤 1.5~5초 사이 무작위, 0.1초보다 빠르면 부정 출발. 네트워크 지연을 어떻게 공정하게 보정하는지까지 코드 수치로 정리했다.

Salmonholic ·· 4분 읽기

랜선포차 반응속도 게임에서 신호를 기다리는 화면과 결과 순위 화면

반응속도는 랜선포차 미니게임 중 가장 짧다. 개발 중 자동 시뮬레이션 300판 분석에서 한 판 중앙값이 8.0초였다. “준비…“가 뜨고, 몇 초 뒤 신호가 뜨면 탭한다. 그게 전부다. 결정 기록에도 30초 미만의 짧은 게임(눈치게임, 룰렛, 반응속도, 밸런스, 경마)은 긴 게임 사이에서 템포를 바꿔 주는 역할로 그대로 두기로 적혀 있다.

짧은 만큼 억울함도 짧고 강하다. “분명 내가 먼저 눌렀는데”가 가장 많이 나올 수 있는 게임이라, 판정에 가장 공을 들였다.

규칙: 늦으면 지고, 빨라도 진다

항목 값
시작 → “준비…” 1.2초 (앞 화면에서 누르던 손가락은 무시)
“준비…” → 신호 1.5~5초 사이, 서버가 몰래 정함
신호 뒤 탭 제한 2.5초
부정 출발 신호 전에 누름, 또는 신호 후 0.1초 안에 누름
벌칙 아래 순서대로
라운드 1등 가장 빨리 누른 사람 (물 한 잔 + 포인트)
최소 인원 살아 있는 사람 2명

벌칙 대상은 우선순위가 있다.

  1. 부정 출발한 사람이 있으면 그 사람들만 흰 우유를 마신다. 꼴찌는 살아난다.
  2. 부정 출발이 없으면, 신호를 보고도 2.5초 안에 못 누른 사람이 마신다.
  3. 둘 다 없으면 가장 늦은 사람이 마신다. 동률이면 모두.

1번이 중요하다. 누군가 성급하게 먼저 누르는 순간 나머지 전원은 안전해진다. 서버는 부정 출발을 바로 공개한다(“부정 출발. 육상연맹에서 실격 처리했습니다”). 그 뒤로 남은 사람은 여유 있게 눌러도 된다.

이기는 요령

1. 신호 시각을 예측하지 말 것. 신호는 “준비…” 뒤 1.5초에서 5초 사이 아무 때나 뜬다. 3초쯤이겠지 하고 미리 누르는 순간 부정 출발이다. 게다가 신호 후 0.1초 안의 탭도 부정 출발로 친다. 육상의 0.1초 규칙처럼, 사람이 보고 반응할 수 없는 속도는 예측 출발로 보기 때문이다. 찍어서 맞히는 전략은 통하지 않는다.

2. 손가락을 화면 위에 대 두기. 탭 입력은 누르는 순간 올라간다. 엄지를 화면 가까이에 두고 있으면 수십 ms를 번다.

3. 누가 부정 출발하면 긴장을 푼다. 위에서 말한 대로 부정 출발자가 생기면 나머지는 안전하다. 급하게 따라 누르다가 0.1초 규칙에 걸리는 게 더 위험하다. 단, 부정 출발자가 없는 상태에서는 신호 뒤 2.5초가 생각보다 짧다.

4. 소리와 진동을 켜 둔다. 신호가 도착하는 순간 화면이 “지금! 탭!!“으로 바뀌면서 딩 소리가 나고 폰이 짧게 진동한다. 채팅창이나 다른 칸을 보고 있어도 소리와 진동으로 알아챌 수 있다. 신호 전의 화면은 “손 떼세요”(시작 직후 1.2초)와 “준비…” 두 가지뿐이니, “준비…“가 뜨면 화면 가운데에 눈을 고정해 두자.

반응속도 결과 화면. 내 칸에는 실격, 다른 다섯 칸에는 279ms에서 358ms까지 반응 시간이 표시돼 있다 테스트 판에서 일부러 먼저 눌러 본 결과. 내가 부정 출발하자 나머지 다섯 명은 279~358ms 기록만 남기고 모두 살았다.

흔한 실수

실수 결과
“준비…” 보자마자 대기 탭 부정 출발, 혼자 벌칙
신호를 예측하고 먼저 누름 0.1초 안이면 부정 출발
다른 사람 부정 출발 보고 다급하게 누름 신호 전이면 같이 부정 출발
채팅 보다가 신호 놓침 2.5초 초과, 벌칙

구현 포인트: “먼저 눌렀는데 졌다”를 막는 법

폰마다 네트워크 지연이 다르다. 서버가 탭이 도착한 순서로 순위를 매기면, 서버와 가까운 와이파이 사용자가 LTE 사용자보다 항상 유리하다. 그래서 순위는 각 클라이언트가 직접 잰 값, 즉 “신호를 화면에 받은 순간부터 탭까지”의 시간(rt)으로 매긴다.

문제는 이 값을 클라이언트가 보낸다는 것이다. 숫자를 줄여 보내면 조작이 된다. 그래서 서버는 자기가 잰 시간(신호 발사부터 탭 도착까지)과 클라이언트가 보낸 값을 맞대어 보고, 말이 안 되는 값은 서버 기준으로 바로잡는다. 신호를 보기 전에 누른 탭은 늦게 도착했더라도 부정 출발로 친다.

처음에는 모든 사람에게 같은 폭의 지연을 인정했다. 새벽 품질 수정 커밋(833b183)에서 이 폭을 사람마다 실제 연결 상태에 맞춰 좁혔다. 정직하게 누른 사람은 손해가 없고, 값을 줄여 보내는 조작으로 얻을 수 있는 이득은 거의 남지 않게 했다.

사람마다 연결 상태를 재는 방법은 단순하다. 화면이 신호를 받는 순간, 탭과 별개로 “봤다”는 신호를 서버에 바로 돌려보낸다. 서버는 신호를 보낸 시각과 이 답이 돌아온 시각의 차이로 그 폰의 왕복 지연을 알고, 그만큼만 인정 범위로 쓴다. 신호 시각을 서버가 미리 알려 주지 않고 상태가 바뀌는 순간 화면에 띄우는 것도 같은 이유다. 신호 시각을 미리 알면 화면 쪽 코드를 고쳐 정확히 그때 누르게 만들 수 있다.

반응속도는 9월 26일 밤, 제로 게임·참참참과 함께 “지연 보정 반응시간”이라는 이름으로 처음 들어왔다(3b03215). 가장 빠른 사람이 200ms 이하이면 결과 화면 명장면에 기록이 남는다.

마무리

반응속도는 실력보다 참을성의 게임이다. 예측하지 말고, 신호를 보고, 누가 먼저 실수하면 느긋해지면 된다. 개발 중 시뮬레이션 분석에서도 한 판당 벌칙 받는 사람이 평균 1.10명으로, 부정 출발이 가끔 판을 흔든다는 게 보인다.

손보다 버릇이 중요한 게임은 참참참 공략에, 서버와 클라이언트 시계를 맞추는 이야기는 리듬 게임 판정 엔진 글에 더 적었다. 신호탄을 직접 기다려 보려면 랜선포차 게임 페이지로 가면 된다.

#랜선포차#반응속도#미니게임 공략#네트워크 지연

함께 읽으면 좋은 글

전체 글 →