Guide

Game scope, optic zoom and magnification systems explained

Harbor Ridge's mid-map lane is a 35–55 m rifle duel corridor: defenders hold window lines with 4x scopes while attackers swing wide with 1.25x red dots. The first production build treated every optic as a single “ADS mode” with one FOV lerp and one sensitivity divisor. Players on 8x scopes over-rotated at 40 m and reported enemies “teleporting”; 4x users could not track strafers at 15 m because enter time was tuned for snipers. Support tagged 48% of ranked dispute tickets as “scope feels wrong” and telemetry showed 37% of long-range kills used hip fire because scoped aim felt unusable. After engineering shipped per-optic magnification tables, FOV-scaled sensitivity curves, tiered ADS enter times, scope sway budgets, and ranked glint rules, long-range dispute rate fell to 15%, scoped kill share at 40+ m rose from 41% to 78%, and median time-to-first-shot after ADS settled dropped 0.22 s on low-magnification optics without buffing rifle damage.

Scope and optic zoom systems define how much the player's view magnifies when aiming, how fast they enter that view, and how input sensitivity maps to on-screen motion at each tier. They sit inside the broader ADS and hip-fire FSM but deserve their own data model: a red-dot at 1.0× and an 8x sniper scope are not the same feature with different art. Magnification couples to damage falloff bands, sensitivity scaling, and reticle presentation. This guide covers optic taxonomy, FOV vs true zoom, ADS timing per class, sensitivity tables, sway and breath mechanics, glint and visibility rules, Harbor Ridge's refactor, a technique decision table, pitfalls, and a production checklist.

What optic zoom is (and is not)

Optic zoom answers three player questions at once: how big does the target appear, how fast can I acquire them after pressing ADS, and how much of my peripheral vision do I sacrifice. It is not the same as spread tightening (that lives in recoil and spread systems) or movement slowdown (often shared across all ADS modes). A common mistake is bolting magnification onto the ADS flag without a separate optic_profile asset that carries FOV, sensitivity multiplier, enter/exit duration, sway amplitude, and optional glint mesh.

Competitive shooters usually author discrete magnification tiers (1.0×, 1.25×, 2.0×, 4.0×, 6–8×) rather than a continuous slider. Discrete tiers make balance patches legible (“4x enter time +0.05 s”) and let players build muscle memory. Battle royales sometimes allow custom zoom on variable scopes; if you ship that, clamp the set of legal FOV values server-side so replication and sensitivity tables stay finite.

Optic taxonomy and design roles

Group optics by engagement band and information cost, not just by art mesh:

  • Iron sights / 1.0× reflex — fastest ADS, full peripheral awareness, widest effective hip-to-ADS transition. Primary band: 0–20 m. Minimal or zero magnification; spread benefit is the main reason to ADS.
  • Low magnification (1.25–2.0×) — red dot, holo, some LPVO low settings. Sweet spot for 15–35 m tracking; slight FOV reduction without tunnel vision.
  • Mid magnification (3–4×) — assault scopes, ACOG-class. Holds 30–55 m duels; enter time and sway higher than reflex. Often the default “rifle optic” in tactical shooters.
  • High magnification (6–12×) — sniper scopes, DMR glass. Dominates 50+ m but punishes close swings. Usually pairs with glint, breath-hold, and longer ADS commits.
  • Specialty optics — thermal, NVG overlay, range finder HUD. Magnification may be fixed; information advantage is the product, not raw zoom.

Each class should declare a design intent band in data so level designers place sightlines accordingly and economy prices optics against map geometry.

FOV scaling vs true magnification

Engines implement zoom by narrowing camera field of view. The relationship between labeled magnification (e.g. “4x”) and FOV is:

effective_magnification ≈ tan(hip_fov / 2) / tan(ads_fov / 2)

If hip FOV is 90° and ADS FOV is 22.5°, effective magnification is roughly 4×. Marketing labels rarely match math exactly; players notice when a “4x” scope feels like 2.5× because base FOV changed in a patch. Document the hip reference FOV in your optic table and version it.

Two implementation patterns:

  • Camera FOV lerp — smooth transition on ADS enter; risk of motion sickness if lerp is slow or non-monotonic. Prefer ease-out curves that reach target FOV before the crosshair is considered “accurate.”
  • Instant FOV snap with overlay fade — FOV jumps at a keyed frame while a scope ring alpha-fades in; feels crisp for competitive play if enter animation is short.

Weapon viewmodel FOV can diverge from world FOV to reduce scope ring clipping. Keep viewmodel and world zoom ratios consistent or players perceive parallax errors at range.

ADS timing and spread coupling per optic

Higher magnification should not automatically mean longer ADS unless that is a deliberate trade. A workable starting template:

Optic tierADS enter (ms)Spread multiplierMove speed scale
Reflex / iron150–2200.55–0.700.85–0.92
2x200–2800.45–0.600.78–0.88
4x250–3500.35–0.500.70–0.82
8x+320–4500.25–0.400.55–0.70

Tie accuracy readiness to FOV settle: the shot may not be fully accurate until enter animation completes and movement settle gates pass. Snipers often add a post-enter sway decay window before first-shot dispersion reaches minimum.

Sensitivity scaling across zoom levels

Constant centimeters-per-360 across magnifications is wrong for most PC shooters: players expect roughly constant angular sensitivity on screen. The standard approach is a per-optic multiplier on hip sensitivity:

ads_sens = hip_sens * (tan(ads_fov/2) / tan(hip_fov/2))

This is the same math as FOV-based sensitivity scaling. Expose a user slider that scales the entire ADS curve, but never one global divisor for all optics. Controller aim assist should re-tune inner/outer radii per magnification tier or long-range sticks feel magnetized while reflex fights feel empty.

For variable-zoom scopes, precompute a lookup table from zoom step index to multiplier; do not re-derive tangents every frame on mobile GPUs.

Scope sway, breath hold and stabilization

Sway adds skill expression at high magnification. Implement as low-amplitude Perlin or sinusoidal offset on pitch/yaw applied after sensitivity scaling so it is felt in degrees, not pixels. Parameters:

  • Base sway amplitude — scales with magnification; 8x can be 2–3× 4x.
  • Hold breath action — temporary sway reduction with stamina cost or fixed duration (3–5 s); cooldown prevents permanent laser modes.
  • Crouch and support bonuses — leaning on cover or bipod (if equipped) reduces sway; document stacking rules.
  • Damage flinch interaction — taking hits while scoped should spike sway or exit ADS; otherwise duels become stat checks.

Replicate sway seed or phase server-side for kill-cam consistency; pure client sway causes “I was on head” disputes in lag-compensated environments.

Glint, occlusion and fair visibility

High-magnification optics trade concealment for reach. Common rules:

  • Scope glint — directional specular flash visible to enemies beyond a distance threshold when lens faces them; disable on 2x and below to avoid noise.
  • Hide-on-lean — glint suppressed when majority of lens is behind hard cover; raycast from enemy camera to optic glass mesh.
  • Scope shadow / black ring — tunnel vision is a debuff; flashbangs and smoke occlusion should affect scoped players more because FOV is narrow.

Ranked integrity modes often tone glint brightness for accessibility while keeping a faint cue; document the competitive vs casual presets.

Engagement bands and falloff alignment

Magnification is useless if damage falloff ends before the optic's readable band. Align optic tiers with weapon class TTK curves: DMRs with 4x should remain viable to the distance where falloff slope is still flat; SMGs with reflex should not receive 4x attachments unless you accept a close-range ADS penalty. Harbor Ridge mapped each rifle attachment slot to allowed optic tiers server-side to block 8x on auto weapons without a client UI hack.

Harbor Ridge refactor (worked example)

The Ridge patch introduced an OpticProfile ScriptableObject per attachment with fields: ads_fov, enter_ms, sens_scale, sway_amp, glint_intensity, allowed_weapon_tags. ADS FSM reads profile on equip and caches sensitivity row in the player settings blob. Enter animation length was decoupled from accuracy gate: 4x reaches min spread at 280 ms while 8x needs 380 ms + sway decay. Ranked glint uses a 120° cone check from observer to glass bone. Result: dispute tickets down 48% → 15%, scoped long-range kill share up 37 points, zero change to base rifle TTK tables.

Technique decision table

ApproachBest forWeak when
Single ADS FOV for all opticsArcade shooters, fast TTKMixed-range tactical maps, sniper lanes
Discrete per-optic profilesCompetitive tac-shooters, esportsVery large attachment counts without tooling
Continuous variable zoomBattle royale, sim realismRanked muscle memory, sensitivity QA surface
PiP overlay (magnified window)Co-op clarity, lower GPU FOV shiftCompetitive fairness, parallax complaints
No magnification (spread-only ADS)Arena shooters, hero FPSLong-range readability on realistic maps

Common pitfalls

  • One sensitivity divisor — 8x feels like a different game from hip; players abandon scopes.
  • FOV lerp longer than enter animation — crosshair shows “ready” while view still zooms; trust breaks.
  • Magnification without glint on snipers — defenders cannot counter-play; attackers hold unfair angles.
  • 8x on full-auto weapons — unless recoil is extreme, players beam at range with no skill gate.
  • Client-only sway — kill cams disagree with shooter POV; dispute volume spikes.
  • Patch changes hip FOV silently — all optic labels lie until tables are recomputed.
  • Reticle not scaling with zoom — mil-dot spacing wrong for range callouts; see reticle customization.

Production checklist

  • Define OpticProfile data: FOV, enter/exit ms, spread scale, move scale, sens multiplier.
  • Compute effective magnification from hip reference FOV; label UI honestly.
  • Build per-tier ADS enter curves independent of weapon class unless intentional.
  • Wire FOV-based sensitivity table; allow user ADS scale slider on top.
  • Gate accuracy readiness on FOV settle + movement penalty clearance.
  • Author sway amplitude vs magnification; add breath-hold with cooldown.
  • Implement glint cone for 6x+; respect cover occlusion rays.
  • Restrict optic tiers per weapon class server-side.
  • Align falloff curves with optic readable distance bands.
  • Replicate sway phase or seed for kill-cam match.
  • Telemetry: ADS time, zoom tier at kill, miss rate by distance band.
  • Playtest 20–55 m duels at 40–80 ms simulated latency per optic.

Key takeaways

  • Optic zoom is its own system, not a skin on generic ADS.
  • FOV math drives both magnification and sensitivity; keep a versioned hip reference.
  • Discrete tiers beat continuous zoom for competitive muscle memory.
  • Sway and glint are fairness tools that pay for long-range power.
  • Harbor Ridge cut scope disputes 48% → 15% with per-optic profiles and ranked glint rules.

Related reading