✛WINDCALLERPRECISION RANGE
RANGE DESK

Your next string.

Development beta
READ THE WIND. MAKE THE CALL.
PICK UP WHERE YOU LEFT OFF

Sign in to see saved strings.

New to the range? Setup → Zero → Train → Review
PREPARE YOUR STRING
Equipment & target details

Published reference ammunition; performance in this rifle awaits range validation.

2 sighters20 record shots20 minutes

Optional local wind meter under Instruments.

THE COMPETITION DESK

Make your mark.

Shared conditions. Fixed equipment. One attempt.

Standings

Daily challenges run midnight to midnight UTC. Past standings stay available in the event list; load older events for more history.

Score → X count → reverse shot countback. Identical cards share a rank.

YOUR RANGE LOGBOOK

Learn from every string.

Select a string to inspect it, or compare two completed sessions.

Personal bests & milestones

Full completed strings only, compared within the same range, distance, rifle, activity and simulation version.

Practice milestones

100 practice XP for a full string, 50 for a full training session. Zero sessions earn a milestone. Awards update from saved results and corrections. These are game milestones, not an official shooting classification; they do not change ballistics or standings.

YOUR WINDCALLER PROFILE

Meet you at the range.

Invited? Create your profile once. Returning players can use a passkey or their recovery key.

Add a passkey in Account security after joining. Keep your recovery key private as a backup; we cannot restore an account from a callsign alone.

YOUR ACCOUNT

Keep your profile secure.

Your passkeys, recovery key and sessions all access the same saved profile.

Confirm your identity

Security changes require a recent sign-in.

Competition access

Practice and training are available with beta access. New reviewed competitions require a single-use ranked invitation or administrator approval. Restore your existing profile to keep the same access and event entries.

Open Refresh to check your status.

Reviewers use profile references, invitation history and your message. Sharing a household network does not exclude you. No new device fingerprints or IP history are collected for eligibility. Deletion removes your request and profile linkage; anonymous event reservations remain to prevent repeat entries.

Passkeys

Signed-in sessions

Recovery

Store your backup key privately. Replacing it invalidates the old key and signs out other sessions.

Your data

Download your profile, settings, feedback and score history. Private replays remain available individually in your logbook after any event embargo ends.

Delete your profile

This permanently removes sign-in access, settings, feedback, practice history and private replays. Competition scores and bracket positions remain under “Deleted player” so other players’ results stay valid. Backup copies expire separately; deletion records must be reapplied during any recovery.

Private match data is removed in the background. Save your export first.

My feedback

WINDCALLER OPERATIONS

Beta administration

Administrative actions require a recent sign-in. Invitation links are shown once; copy them before closing.

Ranked eligibility and invitations

Confirm the intended player before approving. One competition identity may have several profiles, with one approved ranked profile at a time. A shared beta code grants practice access only. Revocation stops new controlled entries and active shots; earlier results require a separate result review.

Single-use ranked invitations

Service status

        
      
Invitations
Tester feedback
Competition result reviews

Open tournament reviews hold bracket advancement. Eligibility rulings update standings without editing shots. Resolved brackets stay locked; use support for a reviewed reopening.

Private integrity investigation

Available after the event closes. Evidence supports a human review; it cannot identify cheating by itself. No automatic penalty is applied.

Schedule a tournament

Qualifiers feed a seeded playoff. Times below use your device’s local timezone. Published event settings cannot be edited.

Fixed event atmosphere

Otherwise the range preset is frozen at publication. Entrants cannot change it.

Use pressure at the firing line, not a sea-level weather report or altimeter setting. Leave blank to estimate pressure from the range altitude.

THE FIRST STRING

Watch. Adjust. Commit.

  1. Read the range. Flags show air movement; the meter measures only the firing line. Downrange conditions can differ.
  2. Watch the mirage. In Spot or Scope, select a near, middle or far layer. Heat shimmer drifts with the crosswind and boils when crosswind eases. Ground heating controls its visibility in practice.
  3. Use your range card. Calm elevation is already dialled in. Windage is your call.
  4. Fire two sighters. Check the electronic target and adjust elevation or windage.
  5. Shoot for record. Twenty shots, with a twenty-minute server clock. Unfired record shots count as misses.

Drag the scope view to move your aim. Use arrow keys for fine adjustments. Press Space or tap FIRE. You can return to the lobby and resume from your logbook; the clock keeps running.

Daily events allow one attempt with the same .308 load for every player. Detailed trajectories unlock after the event closes. All locations are procedural interpretations, and the simulation is still being validated.

Credits and model notes

Original game concept and prototype: Richard. Rifle artwork supplied by the WindCaller team, depicting the Savage 12 F/TR and Vortex Golden Eagle HD ECR-1. Rear support and range scenery are procedural assets.

Range voice: prerecorded synthetic stock voice, Deepgram Aura-2 via Cloudflare Workers AI. No person is being impersonated. Voice model.

Rendering uses Three.js (MIT). Input validation uses Zod (MIT). Passkeys use SimpleWebAuthn (MIT).

Flags use an XPBD cloth approximation with gravity and aerodynamic drag. Fabric mass and response are declared simulation assumptions, awaiting real-flag calibration. Terrain grass is procedural, with a simplified bending response. Range layouts are interpretations, not surveys.

The comparison lab lists load provenance and uncertainty. Published nominal data, numerical agreement and physical field validation are different forms of evidence. The game does not predict ammunition assembly or internal ballistics.

Rifle and target timing

New sessions use a five-second rifle cycle: three seconds to reload, then two to settle. This is game pacing, not a measured action speed. Flight happens at the same time. New Practice sessions and Training mark at impact; delivery also depends on your connection. Competition target timing follows the event rules, normally seven seconds after impact. Wait for both the rifle and target before firing again. Early input does not consume a shot. Saved sessions keep their original rules.

New to WindCaller? Start here.
  1. Choose your setup. Select your optic and controls, then save.
  2. Zero in calm conditions. Keep aim and dials fixed for three shots, then save the group-centre correction.
  3. Read a steady crosswind. Compare flags, near/middle/far mirage and the local meter. Make an unaided call, then check the optional hold aid.
  4. Review and repeat. Inspect your shots in the logbook, then complete a practice string before competing.

END THIS STRING

Leave the firing line?

HELP SHAPE WINDCALLER

What did you notice?

Visible only to the WindCaller team. Do not include invitation codes, recovery keys or personal information.

Result reviews

Ask an administrator to review your competition result. File before the bracket advances. Accepted shot positions and scores stay unchanged; a ruling can exclude or reinstate a result.

Compare your strings

Equipment comparison lab

Compare existing presets in the same conditions. This separate exercise does not use an event's wind or affect your scores. Savage loads use nominal 24-inch test-barrel velocities; the displayed 30-inch rifle has no measured velocity profile yet.

Bore centre to scope centre. These are declared comparison inputs. Blank uses the unmeasured 44.5 mm simulation default. Each load is zeroed using its own accepted height.

Use pressure at the firing line, not a sea-level weather report or altimeter setting. Leave blank to estimate pressure from the entered altitude.

YOUR RANGE SETUP

Settle into your setup.

Bore centre to scope centre. Saved for this rifle and optic; player-declared values are not independently verified. Blank uses the unmeasured 44.5 mm simulation default. Geometry changes apply to new strings and require a matching zero.

SFP markings keep their apparent size; the marked angular values apply at the calibration magnification. FFP markings retain their angular values at every zoom.

Optional supported motion and Steady aim control. Overrides the older breathing exercise when enabled; existing sessions keep their original controls.

Motion applies to new training lessons only. The visible aim at trigger time is saved with the shot. Zeroing and competitions stay stable.

Athena is a prerecorded synthetic female voice. Captions stay visible. Flight trace is illustrative and never shown during a competition.

Range details

Your workbench

Inspect your rifle or compare published equipment presets in the same conditions.

Practice atmosphere

Applies to practice and training. Event conditions are fixed.

Use pressure at the firing line, not a sea-level weather report or altimeter setting. Leave blank to estimate pressure from the range altitude.

WindCaller

A precision range game by UltiSim. Built from Richard’s original range simulation, with custom rifle artwork and community testing.

Rendering: Three.js. Reference rifle: Savage 12 F/TR. Reference optic: Vortex Golden Eagle HD. Product names identify simulated reference equipment; no affiliation or endorsement is implied.

Simulation presets and locations remain under validation. No paid competition.

Open-source licenses: Three.js · Zod · SimpleWebAuthn

Engineering diagnostics

Timing and rendering diagnostics for unranked sessions. These are simulation measurements, not an independent calibration of real-world wind.