The Troubleshooter
The Act LabsTM Light Gun Compatibility Patch

History

Light guns for the PC have been scarce over the years - partly due to the complexity of making them work reliably with PC monitors (the variable resolutions and refresh rates presented a challenge), and partly due to the fact that consumers tended to prefer dedicated game consoles over the PC for arcade-style gaming.

Consequently, there have never been any standards in Windows for how to program a light gun (unlike joysticks, steering wheels, game pads, etc.). The few light guns that have appeared on the market at one time or another all worked in slightly different ways, and often required proprietary drivers. Game developers would have to write explicit support for these guns into their games, and a game written to work with one manufacturer's gun would not work with another's. Even Act Labs' first light guns (the GS) were proprietary, and only worked well with a handful of games.

So in the end, there were very few games that you could actually play with these guns, which meant that they weren't particularly profitable. And some of them weren't very reliable anyway (sometimes requiring re-calibration in the middle of a game). And since there were no decent light guns on the market, game developers (such as Sega) who wanted to port their popular arcade rail shooters to the PC simply made them work with the mouse instead.

Act Labs finally got it right with their PC USB light gun. They made it reliable, easy to set up, and easy to calibrate. To make it maximally programmable, they made it work as a mouse. So in theory, any shooting game that uses the mouse for input can be played with the Act Labs PC USB gun.

Brilliant! But there are two problems...

Relatively Absolute

The first problem is that most of the old mouse-based shooting games only support the mouse in relative mode, meaning that they treat the input from the mouse as an indication of relative movement in a particular direction, rather than absolute coordinates on the screen.

But the Act Labs light gun functions as an absolute pointing device. It always reports its exact position. The games mistake the absolute coordinates for relative movements, and your shots wind up nowhere near where you were aiming.

To be clear, this is neither a flaw in the Act Labs gun, nor in the games. It is simply an incompatibility between them.

(There have been other light guns on the market - the "PC Automag", for example - that functioned as relative-mode mice, but they were not very reliable. Since they had no way of knowing "relative to what", they would frequently fall out of alignment with the on-screen cross hairs, and you would have to realign them by using the mouse to move the cross hairs to the approximate location where you fired the last shot. What a pain! So Act Labs' decision to make their gun work as an absolute mouse was the right way to go.)

The Lone Gunman

The second problem is that there is no simple, consistent way for programmers to read distinct input from multiple mice in Windows. Even though you can connect multiple mice to a computer, Windows will merge the input from all of them into one single "virtual mouse" device.

Most of these rail shooters originated as two-player arcade games. When they were ported to the PC, they retained their two-player mode, but since only one mouse could be used at a time, the second player would be relegated to a joystick or a keyboard. So even games that do read the mouse in "absolute mode" (such as House of the Dead 2) can't be played with two light guns.

For the TV version of their light gun, Act Labs addressed the two-player issue by adding a switch that identifies the gun as either Player 1 or Player 2. When two TV guns are connected, they are treated like a single 4-button mouse. When the switch is set for Player 1, the gun reports button 0 (left click) for the trigger, and button 1 (right click) for reloading. When the switch is set for Player 2, the gun reports buttons 2 and 3 instead. This will make it much easier for programmers to support two light guns in future games. But it does nothing for existing games like House of the Dead 2.

Enter the Patch

Considering the shortage of rail shooters for the PC, I found it very frustrating that the handful of rail shooters that did exist wouldn't work with this otherwise excellent light gun. So one day, I began experimenting with a demo of Virtua Squad 2 to see if I could bridge the gap. I set out to accomplish two goals: 1) Figure out how to "force-feed" absolute gun coordinates into the game, and 2) inject keystrokes into the game's keyboard handler to trigger the Fire and Reload keys for each player.

After a few months of on-again, off-again work, I was finally able to play Virtua Squad 2 with my light gun! Not long after that, I tried my luck with House of the Dead 1. I found that with only minor modifications, the patch could be made to work for a number of different games.

And thus, The Troubleshooter was born.