NES Hardware – How Does the Light Gun Work for Duck Hunt?

hardwarenes

Modern motion detection video game systems (Wii/Wii U, Xbox Kinect, PS Move, etc.) need sensors to read for motion and user input. However, when you play Duck Hunt on the NES, the light gun has no sensor. How does the game know where you are aiming, and if it doesn't need a sensor to track motion, why do modern game systems need them?

Best Answer

Taken directly from the Wikipedia page on the topic:

When the trigger on the Zapper is pressed, the game causes the entire screen to become black for one frame. Then, on the next frame, all valid targets that are on screen are drawn all white as the rest of the screen remains black. The Zapper detects this change from low light to bright light, and determines if any of the targets are in the zapper's hit zone. If a target is hit, the game determines which one was hit based on the duration of the flash, as each target flashes for a different duration. After all target areas have been illuminated, the game returns to drawing graphics as usual. The whole process is almost imperceptible to the human eye, although one can notice a slight "flashing" of the image. Although the Zapper just detects light, it can only be used on CRT displays. It will not work on LCDs, plasma displays or other flat panel displays due to display lag. This darkness/brightness sequence prevents the possible issue caused by pointing the Zapper right next to or into a light bulb. Older light guns did not use this method, making it possible to cheat and get a perfect hit score in a way not possible using the NES Zapper.