패치가 진행되면서 투척물의 궤적과 지형 충돌체가 미세하게 변해 기존 디폴트 유틸이 어긋난다. 문제는 감각이 아니라 버전 드리프트다. 이 글은 궤적이 흔들리는 네 가지 변수와 재훈련의 3단계(베이스라인 측정, 허용 오차 테스트, 실행 커맨드 재작성)를 제시한다.
유틸 라인은 돌판에 새겨진 것이 아니다. 많은 팀이 비시즌에 디폴트 유틸을 영상으로 녹화해 공유 드라이브에 넣고 1년 내내 그대로 던진다. 그러다 어느 경기에서 반드시 맞아야 할 연막이 폭탄 지점 가장자리에서 반 걸음 미끄러져 나간다. 이건 손맛 문제가 아니라 투척물 궤적 자체가 버전에 따라 흘러가는 곡선이기 때문이다.
1. 궤적은 왜 흔들리는가: 네 가지 변수가 동시에 움직인다
투척물의 비행은 엔진 내부에서 중력과 공기 저항 근사를 포함한 적분으로 계산된다. 이를 결정하는 것은 네 가지다: 투척 순간의 속도 벡터(시점 상하와 이동 상태에 따라 달라짐), 중력과 저항 상수, 비행 경로上的 충돌체, 그리고 서버의 위치 샘플링 주파수. 앞의 둘은 규칙이고, 뒤의 둘은 공학적 근사다.
드리프트의 원인은 공학적 근사다. 맵의 충돌체는 수학적으로 완벽한 곡면이 아니라 수많은 볼록 다면체의 조합이다. 패치에서 상자를 옮기거나 장식용 지오메트리를 추가하거나 특정 충돌체의 모서리를 조정하면 튕기는 법선 방향이 조금씩 달라진다. 한 번 튕길 때 1도가 어긋나면 착지점에서는 수십 유닛 차이가 된다.
틱 샘플링도 있다. 투척물 위치는 서버 프레임 단위로 진행되며, 고속 비행 시 두 샘플 사이의 변위가 작지 않다. 충돌 검사는 이산점에서 이루어진다. 프레임레이트와 틱에 관련된 어떤 조정이든 벽에 붙는 연막이 벽 모서리와 벽면 사이에서 다른 선택을 하게 만들 수 있다. 같은 연막이 '어떨 때는 들어가고 어떨 때는 안 들어가는' 이유다.
2. 디폴트 유틸 라인을 버전별로 재훈련해야 하는 이유
디폴트 유틸의 가치는 복제 가능성에 있다. 다섯 명이 같은 라인을 기억해야 커뮤니케이션 없이 동시에 실행할 수 있다. 복제 가능성은 두 가지에 의존한다: 궤적 안정성과 지도 지오메트리 안정성. 버전이 바뀌면 둘 다 동시에 타격을 입는다.
더 은밀한 것은 '허용 오차 창'의 변화다. 좋은 디폴트 라인은 착지점의 정확도가 아니라 착지점 주변의 허용 오차에 기댄다. 왼쪽으로 치우치든 오른쪽으로 치우치든 막아야 할 각도를 막을 수 있어야 한다. 지오메트리가 바뀌면 허용 오차 원이 통째로 이동할 수 있고, 원래 안전했던 라인이 경계선을 밟는 라인이 된다. 연습에서 열 번 중 아홉 번 맞히던 라인이 경기에서는 가장 결정적인 라운드에서 그 한 번의 편차를 만난다.
그래서 재훈련은 옛 라인을 다시 외우는 것이 아니라 각 라인의 현재 허용 오차 경계를 다시 측정하는 것이다.
3. 실행 가능한 재훈련 3단계
첫째, 베이스라인을 측정한다. 빈 맵에서 고정된 위치, 고정된 시점, 고정된 이동 상태로 각 디폴트 라인을 20번 던지고 착지점 분포를 기록한다. '맞았냐 안 맞았냐'만 보지 말고 산포의 중심과 반경을 봐야 한다.
둘째, 허용 오차를 측정한다. 각 라인에 대해 세 방향으로 오프셋을 준다: 위치 앞뒤 반 걸음, 시점 상하 2도, 점프 투척 타이밍 반 박자 빠르게/늦게. 어느 차원이 가장 먼저 유틸을 무력화하는지가 그 라인의 취약축이다. 취약축은 실전에서 그 라인을 어떻게 지켜야 하는지를 결정한다.
셋째, 실행 커맨드를 다시 쓴다. '여기 서서 저기를 조준하고 점프 투척'을 경계가 포함된 설명으로 바꾼다: 위치 허용 오차는 얼마인지, 시점은 어떤 참조물을 기준으로 하는지, 첫 점프 감이 이상하면 어떤 예비 라인으로 전환해야 하는지. 커맨드는 팀원이 음성으로 한 문장에 복창할 수 있어야 한다.
4. 놓치기 쉬운 비용
재훈련의 비용은 시간만이 아니라 근육 기억의 전환이다. 옛 라인을 반년 연습하고 새 라인을 사흘 연습하면, 실전 압박 아래에서 몸은 옛 동작으로 돌아간다. 해결책은 새 라인과 옛 라인을 같은 연습 맵에 넣고 교대로 던져, 두 라인 사이를 전환하는 것 자체가 주의력을 소모하지 않을 때까지 반복하는 것이다.
유틸 라인은 살아있다. 이것을 상수로 취급하는 사람은 어느 버전 이후 자신의 모든 디폴트가 서서히 새고 있음을 발견하게 된다.