CS2のサブティック入力がカウンターストレイフのタイミング、クロスヘアの復元、そして見た目のリセットと実際の武器精度のズレをどう変えたかを技術的に解説。ローカルサーバーで再現できる検証も掲載。
結論から言う。CS2でカウンターストレイフをしたとき、サーバーは次のティックまで待ってから君の入力を見ているわけじゃない。サーバーが見ているのは、2つのティックの間に挟まれたタイムスタンプ付きの入力イベントだ。この事実がカウンターストレイフの数学を変え、クロスヘアのリセットが実際にどのフレームで起きるかも変えた。
1. サブティックはカウンターストレイフを「マス目」から「滑り尺」に変えた
CSGO時代のロジックは理解しやすかった。ティックNで逆方向キーを押すと、サーバーはティックN+1で速度を確定する。その2ティックの間は64分の1秒(または128分の1秒)で、逆方向キーはその間に速度をしきい値以下に押し込まなければならない。でなければ弾は流れる。
CS2は違う。移動入力はタイムスタンプ付きで送信され、サーバーはティック間で補間する。より正確に聞こえるが、実戦での体感はカウンターストレイフの窓が狭くなった——前方向キーを離した瞬間に減速の計算が始まり、逆方向キーの押下がほんの少し遅れると、速度曲線は一度ピークを越えてから落ちるからだ。
ローカルサーバーでsv_cheats 1とcl_showpos 1を使い、同じプレイヤー、同じAK、ADカウンターストレイフで静的ターゲットを撃つ比較をした。CSGOの安定ウィンドウは逆方向キーを押してから約2〜3ティック。CS2では、逆方向キーの入力タイムスタンプが2ティックのちょうど中間に落ちれば、速度ゼロは半ティック早く現れる。しかしティック境界の近くに落ちると、むしろCSGOより遅くなる。
だから多くの人がCS2のカウンターストレイフは「良くなったり悪くなったりする」と言う。フィーリングの問題じゃない。入力タイムスタンプと、現在のフレームレート、ネットワークジッターの位相関係の問題だ。
2. クロスヘアリセットは君が思うフレームでは起きない
もう一つの見落とされた変数はクロスヘアのリセットだ。1発撃つとクロスヘアの拡散が収縮し始め、収縮が終われば2発目を撃てると思う。しかしクロスヘアアニメーションの収縮曲線と、武器の実際の精度回復曲線は同じ線じゃない。
CS2では、クロスヘアリセットのアニメーションはcl_crosshair_recoilとフレーム生成時間の影響を受ける。フレーム生成時間が不安定だと、クロスヘアは完全に戻って見えるのに、武器精度はまだ数パーセント足りないことがある。これはAKの2発目タップやM4のスプレー転送で特に顕著だ。
検証方法は簡単だ。ワークショップマップで壁に向かって2発タップし、weapon_debug_spread_show 1で精度表示をオンにする。クロスヘアアニメーションが戻った後も、精度ボックスがまだ完全に閉じていないのが分かる。この差は144Hzと60Hzで異なる——フレーム生成時間が長いほど、アニメーションと精度のズレは大きくなる。
だから「クロスヘアが戻ったら撃つ」という習慣は、CS2では少し後ろにずらす必要がある。待たせるためじゃない。その少しがどこにあるかを知るためだ。
3. ローカルで再現できる3つの比較
1つ目:ADカウンターストレイフ。同じ武器で、モニターのリフレッシュレートの整数倍フレームと半フレーム位置で逆方向キーを押す。cl_showposで速度がゼロになる時刻を記録する。位相差によるウィンドウの変動が見えるはずだ。
2つ目:クロスヘアリセット。精度表示をオンにして2発タップし、クロスヘアアニメーションが閉じる時刻と精度ボックスが閉じる時刻を比較する。60Hzと144Hzで各1回やる。
3つ目:サブティック入力。net_graph 1で入力遅延とサーバーティックとの整合を見る。pingのジッターが5msを超えると、カウンターストレイフの窓の安定性は明らかに落ちる。
これらはサードパーティツール不要で、ローカルサーバーとコンソールだけで実行できる。走らせれば分かる。CS2の移動は難しくなったんじゃない。滑りやすくなったんだ。かつて筋肉記憶で捉えていた点を、今は理解で再配置する必要がある。
カウンターストレイフの窓、クロスヘアリセット、サブティック入力。この3つはCS2では同じツケだ。帳尻を合わせれば、君の1発目は本当に君のものになる。