Repository navigation
Releases: vkorost/screenplink
Release list
ScreenPlink v1.0.0
A laser dry-fire shooting game. Your matte monitor is the target, an ordinary
webcam beside it watches the screen rather than you, and a laser trainer pistol
leaves bullet holes where it hits.
🎬 Trailer, what it is · 🔬 How it actually works
Getting it running
Unzip anywhere and run Play.cmd. Doctor.cmd checks your cameras first and
writes a report.
Or do not set it up yourself. Open the unzipped folder in Claude Code and ask
it to set the app up. The release ships a CLAUDE.md written for that job and an
.mcp.json, so there is nothing to configure first: it runs the camera check,
picks the camera actually pointed at your monitor by what each one measures
rather than by its name, starts the app, and tells you either to shoot or which
one physical thing to fix.
What you need
Windows, a matte (anti-glare) monitor, a webcam that does 60 fps, and a
red laser trainer. Glossy screens and TVs do not work, and that is physics rather
than a missing feature: a matte coating scatters the dot so a camera off to one
side can see it, while glossy glass reflects it away in a direction that changes
with every shot. The camera does not need to be square to the screen.
Calibration costs no ammunition: the app photographs its own markers.
Verified on hardware
On an install that had never run, configured without a human touching it:
camera chosen by measurement 60 fps, exposure spread 100%, flash 43
first launch READY, 12 of 12, held-out 0.92 mm,
3.9 mm position error, 52.8 fps,
margin 9.75, 0 control writes, 0 findings
then, with the gun 85 real shots at 4.2x to 12.1x margin
An independent microphone channel counts trigger pulls separately from the
camera: 84 to 89% of heard trigger pulls become a detected shot.
Tested on exactly one rig: a Dell U4320Q 42.5" 4K matte monitor, a Razer Kiyo
Pro, and two LaserLyte LT-TTL trainers. TROUBLESHOOTING.md lists the numbers a
healthy setup gives, so you can tell how far yours is from working.
In the download
The one-folder Windows build, the full source including all 30 test suites and
the PyInstaller spec, the thirteen-chapter user guide with its PDF and EPUB, and
the documents a stranger needs: TROUBLESHOOTING, PROJECT-LAYOUT, MCP (the
app answers questions about itself while it runs), LESSONS-LEARNED and
THIRD-PARTY-NOTICES.
230 MB zipped, 401 MB unpacked. No Python needed. Code is Apache-2.0; the assets
carry their own terms and are credited in the README.