ShootOFF: Open Source Laser Dry Fire Training Software

I have often lamented that there is not enough open source software in the shooting world. In contrast to just about every other industry, we have more open source hardware, like 3D printable designs, than we have open source software. A group of open source software and gun enthusiasts are developing a laser training system.  Shoot: OpenFire Framework (ShootOFF) uses a commodity (Commercial, Off The Shelf) webcam combined with a laser trainer, such as LaserLyte’s range of trainers, to facilitate realistic “dry fire” training.

The software at the heart of of ShootOFF is powered by Intel’s popular OpenCV computer vision library. You first program in your target by creating a virtual target using the target editor. Once programed in, the software automatically detects your target using the webcam. When you fire “shots” it sees where the laser hit and records the shot placement and your score.

The system can detect multiple targets taped alongside each other, or multiple targets printed on the same piece of paper. This feature can be combined with the software’s training protocol feature. The “Random Shoot” protocol, for example, calls out targets (using the computer’s speakers) at random records your speed and accuracy. Training protocols are implemented as plugins so any computer programmers can write their own.

ShootOFF is free, both free as in cost and free as in open source. Anyone can contribute to the project through the popular GitHub website. A number of volunteers are contributing code but they would love to have more people helping build it.


Steve Johnson

Founder and Dictator-In-Chief of TFB. A passionate gun owner, a shooting enthusiast and totally tacti-uncool. Favorite first date location: any gun range. Steve can be contacted here.


  • Rob Lund

    Very cool. I just tried it out at my desk, and it seems to work pretty well. It lacks some UI polish, but so do most open source projects that are as young as this one. I hope the developer continues to work on it.

    • phrack

      I do most of the new development and there are four other fairly consistent contributors. Two of them are good about testing releases/reporting bugs and the other two tend to submit patches if something isn’t working quite right on Mac OS X (I cover Linux/Windows well).

      Anyway, I’ve been slowly planning and researching the next release as time allows (my day job has had a time crunch the last few weeks). You can see what I am planning here:

      Note that I’ll be switching to the use of themed widgets soon. That won’t fix the need for a designer to help with usability and to make consistent iconography, but it should be a bit less ugly!

      • Steve (TFB Editor)

        I wonder if it could be ported to mobile phones.

        • phrack

          The wiki very briefly addresses this when discussing alternative software. The short version is that it can be ported to Android by changing nothing but the GUI and fixing any bugs that pop up on the new platform (if any). It would take a Saturday to change the GUI for someone already familiar with the code, but I have no idea if any interesting issues will pop up on Android. This will get even easier with some small code organization changes I plan to make for the next version.

          Other mobile platforms are not so easy. For example, iOS has most of what is needed, but the pieces that are missing are really critical and not pretty to introduce (but also not impossible).

          I am definitely interested in porting to Android eventually (I personally don’t care for iOS), but for now I am more interested in maturing the desktop version and growing the user/contributor base.

  • iksnilol

    This looks awesome! And I mean it in the awe-inspiring sense of the word. Being able to practice withouit firing a shot. It is good for people who want to save money or cant go to the range everyday.