Last month I posted about the F-Class shooting simulator I built. I’ve now finished rolling out a full steel-target shooting simulator, which uses the same 4DOF ballistics engine and wind generator:
https://www.ballisticstoolkit.com/steel-sim/steel-sim.html
This one is a lot more dynamic than the F-Class sim. Instead of a single paper target, you get racks of reactive steel from 100 yards to 1 mile, complete with wind flags, dust effects, delayed impact audio, and full rigid-body target physics.
Controls:
This is still kind of a beta, and I’m actively looking for feedback. I’ve mostly been testing on a powerful desktop, so I’m especially interested in whether it runs smoothly on more average hardware. If anyone runs into performance issues, I may add lower-graphics presets or simplified rendering modes.
I haven’t added mirage yet. I haven’t found a good way to make it look right. Unlike the F-Class sim, I can’t reliably tell what plane the user is actually looking at, so I don’t know where to sample the wind field or how fast to advect the distortion. When/if I figure out a good approach for that, I’ll probably add it.
If you try it out, I’d really appreciate any feedback—performance, usability, bugs, anything.
Update as of 2025/12/01
Updates since launch:
Optical effects:
Added heat mirage simulation. The mirage moves with wind, strengthens at higher magnification and longer distances, and fades in strong wind. Includes depth-of-field blur based on focus distance. Toggle via the checkbox in settings.
Controls overhaul:
Added prairie dogs (100–1000 yards, pop up/down randomly) and boars (150–1200 yards, walk randomly across the range). Enable via the "Hunting" checkbox in settings.
Mobile support:
Touch controls for pan, zoom, fire, and dial adjustments. Works on Android; iOS Safari has limitations.
If performance is an issue on lower-end hardware or mobile, you can try disabling hunting or optical effects in the settings.
https://www.ballisticstoolkit.com/steel-sim/steel-sim.html
This one is a lot more dynamic than the F-Class sim. Instead of a single paper target, you get racks of reactive steel from 100 yards to 1 mile, complete with wind flags, dust effects, delayed impact audio, and full rigid-body target physics.
Controls:
Spotting scope: WASD pan, E/Q zoom- Rifle scope: mouse-lock, scroll-wheel or +/- zoom, click to fire
- MRAD dials:
- Arrow Up/Down = elevation up/down (0.1 mrad per press; Shift = 1.0 mrad)
- Arrow Left/Right = windage left/right (0.1 mrad; Shift = 1.0 mrad)
- R = reset both dials to zero
- Bullet impacts move the steel realistically (momentum transfer + rotation)
- Misses kick up dust that advects and fades with the simulated wind
- Ricochet sounds when hitting frames or flag poles
- Visible bullet trace in flight
- Impact sounds delayed by distance (speed-of-sound timing)
- Shot-to-shot variability (MV spread + accuracy error)
This is still kind of a beta, and I’m actively looking for feedback. I’ve mostly been testing on a powerful desktop, so I’m especially interested in whether it runs smoothly on more average hardware. If anyone runs into performance issues, I may add lower-graphics presets or simplified rendering modes.
I haven’t added mirage yet. I haven’t found a good way to make it look right. Unlike the F-Class sim, I can’t reliably tell what plane the user is actually looking at, so I don’t know where to sample the wind field or how fast to advect the distortion. When/if I figure out a good approach for that, I’ll probably add it.
If you try it out, I’d really appreciate any feedback—performance, usability, bugs, anything.
Update as of 2025/12/01
Updates since launch:
Optical effects:
Added heat mirage simulation. The mirage moves with wind, strengthens at higher magnification and longer distances, and fades in strong wind. Includes depth-of-field blur based on focus distance. Toggle via the checkbox in settings.
Controls overhaul:
- Dual scope system: Click either scope to enter; Tab switches between rifle and spotting scopes while in scope mode. The active scope shows a red border.
- Focus controls: F or right-click refocuses the active scope at the center crosshair distance (when mirage is enabled).
- Removed WASD: Spotting scope now uses mouse-look like the rifle scope; Tab switches between them.
Added prairie dogs (100–1000 yards, pop up/down randomly) and boars (150–1200 yards, walk randomly across the range). Enable via the "Hunting" checkbox in settings.
Mobile support:
Touch controls for pan, zoom, fire, and dial adjustments. Works on Android; iOS Safari has limitations.
If performance is an issue on lower-end hardware or mobile, you can try disabling hunting or optical effects in the settings.
Last edited:









