cbdmaul edited this page Jan 11, 2017 · 17 revisions

View a brief video tutorial here

Click the preview above for a brief video tutorial

ShootOFF can be configured by either the command line or GUI. In general, the following properties can be configured:

  • Cameras: you can add an arbitrary number of cameras in the GUI and rename them. You may also register IP cameras to use a camera on your network for shot detection. Names persist across sessions, thus in semi-permanent and permanent setups we recommend giving cameras names that describe what they are pointed at (e.g. "Wall" and "Projector"). If no camera is configured the system's default camera is used.
  • Marker Radius: the radius in pixels of the marker that is drawn over each shot that is detected. This value can range from 1 to 20. The default marker radius is 4 pixels.
  • Ignore Laser Color: the color of the laser that ShootOFF should ignore when detecting shots. This value can be red, green, or none. ShootOFF does not ignore any laser color by default.
  • Red and Green Laser Sound: the sound to play when red and green shots are detected respectively.
  • Virtual Magazine: whether or not the virtual magazine is on and how many rounds it holds. If the virtual magazine is on, the shot after the last round in your magazine will be ignored and ShootOFF will say, "Reload!" This value can range from 1 to 45. The default is for the magazine to be off and its capacity to be 7 rounds (this is not a political statement, it's the default because a developer owns a Sig P232 with a magazine capacity of 7 rounds).
  • Inject Malfunctions: whether or not ShootOFF should inject malfunctions and the probability of a malfunction occurring. When malfunctions are on, every time a shot is detected ShootOFF will randomly decide a malfunction occured with the probability you set earlier. If a malfunction did occur, the shot is ignored and ShootOFF will say, "Malfunction!" This value can range from 0.1 to 99.9. The default is for malfunctions to be off and the probability of a malfunction to be 10.0%.

GUI Configuration

To edit the options via the GUI click File -> Preferences on the main ShootOFF window. To configure one or more cameras, check the box to the left of each camera you want to use. You may also click "Register IP Camera" and enter a descriptive name for the camera and its URL to register a camera on your network for shot detection. After it is registered it will appear in the add camera popup just like a camera plugged into your computer.

Register IP camera dialog

The shootoff preferences window.

Clicking Save in the preferences slide will update your settings for the current ShootOFF session and persist the changes across sessions. Clicking the back button will discard any setting changes you made aside from deregistering IP cameras. If you want to deregister an IP camera select it in the webcam list and hit the delete or backspace key on your keyboard.

Command Line Configuration

Preferences set on the command line are not persisted across ShootOFF sessions. If you want to persist setting changes, edit or use the GUI configuration option.

There are additional configuration options available on the command line that cannot be accessed from the GUI. From the command line you can turn on debug mode, which will print additional debug messages that may be helpful in troubleshooting problems, enables click-to-shoot, and provides additional tools to debug shot detection. Automatic error reporting is off if debug mode is on.


  • Enable Debug Mode: -d, --debug
    Example: java -jar ShootOFF.jar -d
    Example: java -jar ShootOFF.jar --debug
  • Marker Radius: -m, --marker-radius
    Example: java -jar ShootOFF.jar -m 5
    Example: java -jar ShootOFF.jar --marker-radius 5
  • Ignore Laser Color: -c, --ignore-laser-color
    Example: java -jar ShootOFF.jar -c red
    Example: java -jar ShootOFF.jar --ignore-laser-color green
  • Virtual Magazine: -u, --use-virtual-magazine
    Example: java -jar ShootOFF.jar -u 7
    Example: java -jar ShootOFF.jar --use-virtual-magazine=7
  • Inject Malfunctions: -f, --use-malfunctions
    Example: java -jar ShootOFF.jar -f 10.0
    Example: java -jar ShootOFF.jar --use-malfunctions=10.0

You can use any combination of the options you'd like. For example, the following command line will turn on debug mode, increase the marker radius to 5 pixels, and ignore red lasers:

java -jar ShootOFF.jar --debug -m 5 -c red

Stream Configuration

You can turn shot detection on and off for certain sectors of a feed by right clicking the feed and clicking "Toggle Shot Detection Sectors". Turning off sectors is useful if you have regions that are getting false shots that you also don't need for your training purposes. For shot detection, the feed is split into 9 sectors like a tic-tac-toe board. After you click "Toggle Shot Detection Sectors" a grid of check boxes appear on the top left view of the feed. Checked boxes mean the corresponding sector is on. Your changes take affect as soon as you hit "Done". These settings are not persisted across ShootOFF sessions.

In the following screenshot, the far left third of the feed will not have shots detected in it and the right two thirds will work as normal:

Toggling shot sectors.