Light gun guide

If you've ever been in a video game arcade before it's almost guaranteed you've seen a specially large cabinet featuring a fake “light” gun which could be used to aim at a screen displaying the game, one example being Terminator 2: Judgment Day. Thanks to the efforts of various developers and hardware manufacturers, it is now possible to bring that experience to the home using Batocera! This also includes the various home ports of such light gun games such as the infamous Duck Hunt.

Once the light guns are connected, a crosshair will appear on the screen:

The game list will also indicate which games are light gun compatible with a small theme-specific icon next to the name (this can be optionally disabled):

You might come across few games that are not gun games … and you are right! They have optional light gun support for easter egg, specific scene, mini-game, etc. In Batocera v35, they are not configured automatically by the system. However, it is possible to manually configure them if you know what you are doing.

In case you wish to remove those optional light gun games from your collection, do the following:

  1. Download the updated gungames.xml by right clicking this link and Save As.
  2. Connect to your Batocera's machine via SFTP.
  3. Put gungames.xml you just saved inside /usr/share/emulationstation/resources and overwrite when asked.
  4. Open the terminal and run batocera-save-overlay to save the changes.
  5. Reboot and now the optional light gun games are gone from your collection!

These optional light gun games may be automatically configured in the future.

So first and foremost a light gun is needed, possibly multiple if intending on doing multiplayer (be careful of having enough physical space for both collision avoidance and tracking). Various light guns have entered the market and each offer their own advantages and disadvantages. If not specified, the light gun is compatible with all displays. Click the light gun to go to its section.

All prices are subject to differ based on local availability and are only estimates; listed in USD.

Light gun Tracking method Precision Connectivity Estimated price Notes
Direct Wiimote gun with IR bar
Wiimote in a gun-shaped holster.
Infrared
USB-powered IR LED bar.
★★★☆ Bluetooth $10-20 second-hand Wiimote + $3-$10 IR bar Need to have a powered IR sensor bar, but is far more accurate than using the Dolphinbar. Also, the Wiimote itself is wireless (most other light guns are wired).
Mayflash Dolphinbar with Wiimote gun
Wiimote in a gun-shaped holster.
Infrared
The Mayflash Dolphinbar in all its old glory.
★☆☆☆ Connect Dolphinbar to machine via USB cable, then Wiimotes to Dolphinbar via Bluetooth $10-20 second-hand Wiimote + $35 Dolphinbar Works universally across machines and Wiimotes, but tends to jitter. No calibration possible, crosshair is mandatory. This is the only option on v34 and lower. Also, the Wiimote itself is wireless (most other light guns are wired).
Namco GunCon/G-Con
Original Namco GunCon.
Cathode ray timing
An old CRT TV.
★★★☆ Composite/component cable $25-$50 second-hand, low availability Limited to analogue displays which supports composite/component input. This cannot be used on a modern digital display.
Ultimarc Aimtrak
aimtrakred_qyws-ao.jpg
Infrared
The Aimtrak IR bar, thicker than the Wii's IR bar.
★★★☆ USB cable (370 cm) $95 (w/o recoil)/$120 (w/ recoil)
AE Lightgun
AE Lightgun.
Infrared ★★★☆ USB cable (290 cm) $125 Requires at least nine feet/three metres of space to use.
Sinden Lightgun
Sinden Lightgun.
White border on display ★★★☆ USB cable (480 cm) $100 (w/o recoil)/$160 (w/ recoil) Recoil can optionally be disabled. Requires shrinking the game screen to display the white borders. Has limitations on how many guns can be used per USB hub.
GUN4IR
GUN4IR light gun.
Infrared
Various IR LEDs needed for the GUN4IR.
★★★★ USB cable $80 (DIY)/$200 (pre-assembled) Larger displays require more physical distance. Only partially supported (FIXME how? What's missing?).

When a light gun is connected, a light gun symbol will appear in place of the controller activity icons (if that is enabled and the theme supports it). In addition, a new menu item will appear in the CONTROLLERS & BLUETOOTH SETTINGS menu specific to the light guns that are currently connected. This can be used to adjust settings specific to that light gun.

Depending on the light gun, global calibration may be required. All global calibration can be performed at any time, even during gameplay, however this sort of calibration will always be for global calibration (it is not saved per-game, it's only needed to be done once). Refer to the section relevant to your light gun below for instructions.

There must be one proper controller pad connected in addition for each light gun connected. So for example, if you have one light gun connected, you will need to have one regular controller connected; if you have two light guns, then two controllers connected, etc.

The controllers duplicate the mapping of the gun in port order. So for instance, if the light gun is missing a coin button ([SELECT]), then this can be pressed on the respective controller to activate that light gun's coin button.

This may change in the future.

Wiimote in a gun-shaped holster. USB-powered IR LED bar.

The Wii was revolutionary for its motion-based controls when it released back in 2006. This technology can now be used to emulate a light gun in Batocera, useful if you happen to have an old Wiimote and sensor bar laying around that is unused (though for convenience, buying a USB-powered sensor bar may be necessary). This is recommended over using the Mayflash Dolphinbar as the direct connection has far superior accuracy.

This is a special mode for the Wiimote when connected to Batocera. This will be referred to as the Wiimote gun from now on. Requires Batocera v35 or higher.

Unfortunately, its face buttons (the D-pad, plus, minus and number buttons) have no function while in Wiimote gun mode. This may change in the future.

Set up the powered IR bar by taping over one side with solid tape and positioning the remaining LED at the bottom/top center of the display. Counter-intuitively, this setup works best when only one IR LED is visible (otherwise the cursor on-screen may “jump” when aiming at the edges).

Image showing how the regularly set-up IR bar is not good for Batocera. The IR bar being set up correctly. The IR LEDs are normally invisible to the human eye, but can be seen by cameras.

Connect the Wiimote directly as a regular Bluetooth device. A notification will appear indicating that the Wiimote has connected in its gun mode, with a little light gun icon appearing (if the theme supports it). Once connected, press and hold the [Home] button for three seconds. A target will appear in the center of the screen, aim the Wiimote at it from your neutral shooting position and press [B]. Then a target will appear at the top-left; aim at that and press [B] again.

If the second target cannot be shot at, move further away from the display and repeat the process from the start. It may also help to put the IR bar above the monitor instead of below.

Dolphin can emulate the pairing function of the emulated Wii system, allowing for direct connections to the Wiimote. This is independent of what Wiimote gun settings are used in EmulationStation.

Wiimote in a gun-shaped holster.

The Mayflash Dolphinbar is a third-party accessory that was initially designed to allow Wiimotes to be used as a cursor for PCs, or to allow for direct passthrough of the Wiimote to the Dolphin emulator (hence the colloquial name). Batocera can use it to emulate a light gun.

Unlike the direct Wiimote connection method, modes 1 and 2 do not utilize any special Wiimote gun mode in EmulationStation to function, instead the Dolphinbar itself emulates being a mouse and keyboard to the machine. When in these modes, it does not allow for global calibration, meaning that it will not likely match your display one-to-one (just like the original Wii did). It is also the only available option for light gun play on v34 and lower.

Certain third-party remotes that don't work over native Bluetooth may work with the Dolphinbar, as it uses its own Bluetooth stack separate from the host machine.

The Mayflash Dolphinbar cannot be used as a regular IR sensor bar if intending to use the direct Wiimote connection method since the LEDs shut down after some inactivity if no Wiimote is connected to it. It is possible to directly connect a Wiimote to the bar to use it regularly though.

Dolphin can emulate the pairing function of the emulated Wii system, allowing for direct connections to the Wiimote. This is independent of what Wiimote gun settings are used in EmulationStation.

The Mayflash Dolphinbar requires manual action, compared to other solutions which automate most of the process. Because of this, it has its own page.

Original Namco GunCon. An old CRT TV.

The Namco GunCon (known as G-Con in Europe) is a PlayStation peripheral first released in 1994, with the GunCon 2 for the PlayStation 2 following it up in 2001. If you have one of these and a compatible analogue TV, you may be able to utilise it with Batocera. This cannot be used on a modern digital display. Requires Batocera v36 or higher.

The GunCon 3 is not compatible as it has no driver support yet.

how though?

(Broken state for now but coming in v36 beta for easy setup)

Aimtrak Light gun. The Aimtrak IR bar, thicker than the Wii's IR bar.

The Ultimarc Aimtrak comes with its own IR bar which can be mounted on the top of or at the bottom of the display, much like the Wiimote. Requires Batocera v35 or higher.

Connect both the light gun and the IR bar via USB. Then, hold main trigger for five seconds to launch the global calibration process. Shoot the top-left, top-right and bottom-center targets as they appear.

The calibration information is saved to the gun itself, so a recalibration may be required if moving to a different display.

If using a recoil model, a separate power supply is required. This is not bundled with the light gun. More info can be found on its store page.

To quote AimTrak's documentation:

The recoil power is routed via the connecting cable and the power supply needs to have a connector with outer diameter of 5.5mm and inner of 2.1mm.
The required voltage is 24-36 Volts.
The power supply needs to have the following maximum specs:,

24 volts 4 Amps, or 36V 3 Amps.

DO NOT use a supply with a current capability of greater than 4 amps as the mechanism relies on the current-limiting feature on the supply to prevent overload. If using two or more guns you will need one supply per gun.
The center pin of the connector is positive. Outer barrel negative.
We have tested this 3A supply from an Ebay vendor and it gives stronger recoil than some 4A supplies: http://www.ebay.co.uk/itm/-/262181938884
Here is an Ebay USA link: https://www.ebay.com/itm/224253662140
The pictures below show the cable connection and an example supply. This type of power supply is often available on Ebay.

AE Lightgun.

The AE Lightgun. Requires Batocera v35 or higher.

description, setup, everything

The Sinden Lightgun is a light gun which uses a regular camera looking at a white border to perform its tracking. Batocera will automatically enable a white border when the Sinden Lightgun is connected, as well as shrinking the content of the games to accomodate for this. Requires Batocera v35 or higher.

A hardware bug prevents the use of multiple Sinden Lightguns on a single USB hub on some boards. Computers will typically use a single hub for groups of the same ports accessed via the IO panel. The best way around this is to plug one light gun into the front facing ports, and another into the IO panel. If your machine has a mixture of USB 2.0 (black tongue) and USB 3.0 (blue tongue) ports, they will usually have separate hubs.

Connect the USB cable to the machine. Then hold left on its D-pad for five seconds. Shoot the center of the screen. Calibration is complete.

Sinden Lightguns offer the following options in CONTROLLER & BLUETOOTH SETTINGSSINDEN GUN SETTINGS

  • BORDER SIZE: Thin, medium or big. By default, the big one is enabled (the size may differ depending on the emulator) as this is the easiest to track.
  • RECOIL: Adjust the behaviour and strength of the force-feedback when holding down the trigger.
    • No recoil: No force-feedback at all.
    • Gun: Recoil, delay, then rapid recoil until trigger is released.
    • Quiet gun: Same as “Gun”, but less intensity.
    • Machine gun: Rapid recoil until the trigger is released.
    • Quiet machine gun: Same as “Gun machine”, but less intensity.

GUN4IR light gun. Various IR LEDs needed for the GUN4IR.

Todo

A table showing which emulators and cores support light guns (must be switched manually for systems using a default core not compatible with light guns).

System Emulator Gun support (v35 and above) Multiplayer (v35 and above)
3do retroarch/opera
amstradcpc retroarch/cap32
arcade mame
retroarch/mame
retroarch/mame2003
retroarch/mame2010
retroarch/fbneo
atari800 mame
atari2600 retroarch/stella
atari7800 mame
atomiswave retroarch/flycast
flycast
c64 libretro/vice_x64
vice/x64
daphne hypseus
dreamcast retroarch/flycast
redream
gx4000 retroarch/cap32
master system retroarch/genesisplusgx ~1)
megadrive retroarch/genesisplusgx
model2 model2emu
model3 supermodel
naomi flycast
retroarch/flycast
nes retroarch/nestopia
retroarch/fceumm
retroarch/mesen
psx duckstation
retroarch/mednafenpsx
retroarch/PCSXrearmed
retroarch/swanstation
ps2 retroarch/PCSX2
ps3 RPCS3
saturn retroarch/beetle-saturn
retroarch/kronos
segacd retroarch/picodrive
retroarch/genesisplusgx
snes retroarch/snes9x_next
retroarch/snes9x ~2)
retroarch/mesen-s
retroarch/bsnes
steam steam Untested
wii dolphin
windows(wine) wine/lutris Untested Untested
wine/proton Untested Untested
xbox xemu
zxspectrum retroarch/fuse

Games which are light gun compatible will belong to the light gun genre in EmulationStation. Some themes support showing this tag to make it easier to quickly identify which games are light gun games. It is also possible to enable the light gun category as a selectable system.

Although most light gun games will be plug and play, certain titles/emulators require extra actions (typically calibration in the emulated game itself). These are limitations of the software, but will be automated in the future (v36) for games that require it.

Most games are not correctly calibrated. In the main screen once the game launched, shoot the Calibrate option. Follow instructions to recalibrate. (FIXME how?)

Most arcade games won't need recalibration. If they do, this is done in the service menus of the game once launched. This only needs to be done once, even if switching light guns later.

For most games, press either [F1] or [F2] on the keyboard to access the service menu specific to the game. Some games may require additional keys to be held while pressing the service keys (eg. Point Blank requires pressing [9] while holding [F2]). Navigate the menus by repeatedly pressing [F1] or [F2]. The calibration process is different per-game.

Example game with screenshots. Multiple if possible.

Flycast

Recalibration is required in some games which requires remapping in the emulator first.

  1. Open the file manager ([F1] on the keyboard).
  2. Navigate to Applications (in the sidebar on the left), then launch flycast-config.
  3. Click on Controls tab, then Map to the device of your choice (ex.: keyboard).
  4. Switch the tab on the top right corner to Arcade.
  5. At the very bottom, map any button or key for service menu and test.
  6. Click Done and exit (FIXME how do you save? Is it obvious?)

Now Flycast mapping is set up. Launch the game and complete its calibration process by opening the service menu with the button mapped earlier. This is done per-game, and is different per-game.

Screenshots. Example game calibration as well.

libretro: flycast

Recalibration is required in some games. To do so, you need to enable the service menu.

  1. Open the Quick Menu with [HOTKEY] + South button (B SNES).
  2. Go to Options → (FIXME finish this sequence) and enable Allow Naomi service Buttons.
  3. Exit the emulator.

This only needs to be done once (FIXME confirm)

Then, for each game:

  1. Launch the game.
  2. Press in [L3] or [R3] on the controller (or [F1] or [F2] key) to open the service menu.
  3. Navigate (FIXME how?) to light gun calibration.

For Atomiswave, once the ROM is launched :

  1. Open Quick Menu with [HOTKEY] + South button (B SNES).
  2. Go to Controls → Port 1 → Device type.
  3. Change it from Light Gun to Arcade Stick.
  4. Close he Quick Menu and press L3 to bring the ROM menu.
  5. Navigate to Test Mode with L3 and select it with R3.
  6. Navigate and select I/O TEST
  7. Open Quick Menu once again and change the Device Type back to Light Gun and close the Quick Menu.
  8. Pull the trigger and calibrate.
  9. Once done, exit the calibration menu with trigger, open the Quick Menu and change Device Type back to Arcade Stick.
  10. Navigate to exit the ROM menu.
  11. Once back in the game, open Quick Menu for the last time and change the Device Type back to Light Gun.
  12. You can now play with a calibrated aim !

ROM NVRAM is saved forever now. No need to recalibrate again for the ROM.

Example game calibration with screenshots.

House of the Dead 2 has the credit button of player 2 bound to the service menu. This is a known issue. As a workaround, only enter credits and press start via player 2's controller (not the light gun).

libretro: mame

In Batocera v35, the light gun buttons must be mapped in RetroArch's input menu first. (FIXME which input menu? there's two…) This will be fixed in the v36.

MAME

In v35, a few games have an offscreen reload system which does not work well with the Wiimote. The system can be forced to perform a manual reload action with a press of the primary button (in the Wiimote's case, [A]):

  1. While in the MAME gamelist, press [SELECT]. Then go to ADVANCED SYSTEM SETTINGS.
  2. Go to OFF-SCREEN RELOAD and set it to “ON”.

Hopefully, this issue will be fixed in future versions such that offscreen reloading works out of the box with the Wiimote.

Redream

Configure the emulator first (controller to Lightgun, map missing buttons) (FIXME how? step-by-step)

No crosshair available.

Commodore 64 games were released in various mediums. It was very common for all tape ROMs (TAP files) light gun games to also feature a joystick version on the other side of the tape. In order to use light guns, the light gun version of the game is needed. Disk images usually support both.

VICE x64

No crosshair available.

Recalibration required and done once by opening the service menu with the [F2] key. Navigate to (FIXME) with [F1], and then press [F2] again to enter. Perform the calibration and then (FIXME).

In v35, current default bezels are broken for the Sinden Lightgun for this emulator. This can be worked around:

  1. If it is not done yet, run for the first time a model2 rom to download the required files.
  2. Open the archive file and extract artwork and scripts folders from either 720p or 1080p into /userdata/saves/model2/model2emu. Overwrite existing files if prompted to do so.
  3. Play!

This should be fixed by v36. Hopefully.

If the game's video resolution is changed (such as changing display or by using the “video mode” setting), per-game recalibration is necessary for this system.

Recalibration is required and done once. Press either [5] or [7] on the keyboard to access the service menu specific to the game. Navigate the menus by repeatedly pressing [6] or [8]. The calibration process is different per-game.

Example game with screenshots. Multiple if possible.

No crosshair is available.

All PSX emulators are only compatible with GunCon ROMs (with exception to libretro: mednafen, which should be compatible with all ROMs but a bug prevents the use of any light guns), so any non-GunCon ROMs require the Nuvee patch in order to function with light guns in the emulators: https://forums.pcsx2.net/Thread-Nuvee-PS1-PS2-input-plugin-supporting-lightguns-by-Shalma. Instructions are in the .7z file, respectively for each patchable ROM.

Area 51 has no known working patch.

In-game recalibration is required, located in the game menu options. This is different per-game. This only needs to be done once.

The Justifier controller type does not work in libretro: mesen-s and libretro: bsnes, rendering Lethal Enforcers unplayable with these cores.

A list of tested light gun games (and any notes that pertain to them specifically) can be found on its own spreadsheet.

Beta testing, bug-finding and workarounds are welcomed on the Discord channel #developers-guns or on the mega-issue report.

Veteran users may recall the controller type option in the advanced system settings for each system needing to be set to a particular light gun (specific to that system) in order to play light gun games. As of v35, this is no longer necessary, as Batocera will automatically use the appropriate controller type if a light gun is connected. The crosshair option will also be automatically disabled for the light guns - except if you play with the Mayflash Dolphinbar, which will be automatically enabled.

Two new options have been added to the global game options:

  • USE GUNS: The magic that enables all of this to be configured automatically.
  • SHOW LIGHTGUN CROSSHAIRS: Opt to manually show the crosshairs (perhaps to assist with aiming in general), manually remove the crosshairs or let Batocera decide for you.

I can't aim at the upper-left target! I've moved as far back as I can

The Wiimote works by sending a video feed of its IR camera to the machine. This sensor is very poor, and can fail to see the IR LED if too far away. So, there's a “sweet spot” for each display where you are both far enough away to see the IR bar when aiming at the extreme corner opposite the IR bar, while still being close enough for the IR camera of the Wiimote to pick it up.

To debug this to get an accurate reading, connect via SSH and run the following:

xwiishow 1

This will show a video feed of the IR camera in the upper-right of the SSH session:

To visualize what this information represents, imagine this being a flipped version of the position being aimed at on the display:

But I'm not using a Wiimote!

Make sure there are no reflective surfaces or other obstructions that can interfere with the visual. If placing the LED on a flat surface like the top of the entertainment unit, ensure it is as close to the edge as possible to make sure it's not obscured by its edge when aiming from a lower position (you may want to prop up the IR bar on some rubber stoppers).

My Wiimote is appearing as a regular controller instead of a light gun

First, ensure you are running Batocera v35 or higher.

Otherwise, ensure that CONTROLLER & BLUETOOTH SETTINGSWIIMOTE GUN SETTINGSMODE and set it to “GUN”.

Replug the light gun.

Avoid using a USB hub when connecting both guns. Use different USB speed port for each (ex.: USB 2.0/USB 3.0) or different pair (ex.: one in front of the PC, one in the back).

A reboot might be necessary if hot plugged in.

Some games offer a recalibration menu in-game. Use that to work around such issues. This will be different per-game of course.

Arcade games typically require the use of the service menu, refer to the exceptions section above.

Check out the mega-issue report, it's probably already been reported.

If having issues with ROM loading itself, check out the generic troubleshooting page.


1)
2P only with Gangster Town
2)
2P only with Lethal Enforcers
  • emulators/lightgun_games.txt
  • Last modified: 10 days ago
  • by tovarichtch