Clever Quest Lab ← Games

Target Range

Stand inside a 3D shooting range, turn around and hit the targets that appear on every side: precision, speed and tracking rounds.

0Score
–Best
30 sTime
–Accuracy

Target Range

Move the mouse (or drag on a touch screen) to aim, click or tap FIRE to shoot.

Mode
Time
Size

Three still targets. The red centre scores most, a miss costs 25.

No mouse? Press Enter to start, then the arrow keys turn the view (hold Shift for fine moves) and Space shoots.

Drag the view to look around. Tap FIRE to shoot at the crosshair, or tap a target directly (hold FIRE in Tracking).

Mouse: move to aim, click to shoot (pointer not captured: push it to an edge of the view to turn) · No mouse: ←↑→↓ turn (Shift fine), Space shoots · P / Esc pause · F full screen · M sound

How to play

Target Range is a first-person aim trainer. You stand in the middle of an indoor range hall and round targets appear around you: up to 100° to either side of straight ahead, from 8° below eye level to 25° above it, 6 to 25 m away. Turn until a target sits under the central crosshair and shoot. Arrows at the edge of the view point to targets you cannot see. A round lasts 30 or 60 seconds.

Controls

How it works

The hall, its columns, crates and stands are flat-shaded polygons drawn on a 2D canvas. The camera never moves, it only turns. Its yaw (left–right angle) and pitch (up–down, limited to ±60°) give three unit vectors:

forward = (sin yaw · cos pitch, sin pitch, cos yaw · cos pitch)
right = (cos yaw, 0, −sin yaw)    up = forward × right

The offset of every corner from the eye, measured along these directions, gives camera coordinates x, y and z. Every frame, all corners are projected again:

x_screen = f · x / z    y_screen = f · y / z
f = (w / 2) / tan(FOV / 2)

w is the longer side of the playfield in pixels. With w = 800 px and FOV = 90°, f = 400, so a point 1 m right and 10 m ahead lands 40 px right of the centre. Polygons are first cut at a plane 5 cm in front of the eye, because corners behind it cannot be divided by z.

A shot is a ray from the eye O in direction D through the crosshair or the tapped pixel. Each target is a sphere with centre C and radius R:

t = (C − O) · D    d² = |C − O|² − t²
hit when t > 0 and d ≤ R

t is where the ray comes closest to the centre and d how far it passes from it. In Precision, d ≤ R/3 is the centre and d ≤ 2R/3 the white ring.

Why far, small targets take longer

Fitts’s law predicts the movement time MT from the distance D to a target and its width W:

MT = a + b · log₂(D / W + 1)

a and b are measured for a person and a device. In first person, D is the angle you turn and W the angle the target covers, 2 · asin(R / distance). A Medium Precision target (R = 0.4 m) 10 m away covers about 4.6°; 45° away, log₂(45 / 4.6 + 1) ≈ 3.4.

Tips

Frequently asked questions

Why does the mouse pointer disappear?

In first person the page uses the browser’s Pointer Lock, which hides the pointer and reports only how far the mouse moved. Esc gives it back. If the browser cannot capture the mouse, push it to the edge of the view to keep turning.

First person or point and click?

First person trains turning the view onto targets all around you; point and click trains moving a pointer in a fixed view. Their best scores are kept separately.

Are my results saved?

Your best score for each mode, round length, target size and aim style, and your settings, stay in this browser only. Nothing is sent anywhere.

Can I play without a mouse?

Yes: on a touch screen drag to look and tap FIRE or a target, or use the arrow keys and Space.

More free games