Hackers have found their latest toy -- the "Wiimote."
The wireless, motion-sensing controller has made Nintendo's new Wii game console this holiday's gotta-have-it gadget. Wii's games let the player swing the controller like a tennis racket or fling it like a fishing pole.
But some of the more interesting uses of the controller aren't part of Nintendo's official game library. Within weeks of Wii's November launch, videos were making the rounds on YouTube showing the controller used to move a PC's mouse cursor, play Half-Life 2 and even control a music synthesizer and drum machine.
Hackers quickly discovered that the controller was using standard Bluetooth signals for its wireless communication -- signals that were recognized, right out of the box, by personal computers equipped with Bluetooth receivers. Specifically, Windows PCs recognized the controller as a nonstandard human interface device, or HID.
This meant little, however, without software that could interpret the signals coming from the Wiimote.
By chance, 28-year-old programmer Carl Kenner had already written software that could be modified to do just that. In 2004, Kenner wrote GlovePIE, a driver for the P5 Glove, a motion-sensitive controller for PC games that users wore on their hands.
From reading about the Wiimote on hacker forums like WiiLi, Kenner realized that the Wiimote worked similarly to the P5 Glove. He quickly began work on a version of GlovePIE that would recognize the Wiimote's input, but there was a slight problem: The Wii hadn't yet been released in Australia, where Kenner lives, so he didn't have a controller with which to test his program.
"I was just coding it based on the Wiimote's HID specs," he said. "I coded it in a day or two, put it on my website, and put a link on the WiiLi website saying: 'Wiimote Windows driver released! It is untested, so it may not work.'"
It did work, and was user-friendly besides: GlovePIE's graphical user interface allowed users to easily set the Wiimote's inputs to mimic a keyboard, mouse or joystick. Within days, a video (see below) showing the PC game Half-Life 2 being played with the controller began to circulate on YouTube.
The control scheme showed in the video didn't seem to make Half-Life 2 any easier to play. Quite the opposite: The onscreen player/narrator had to go through a few contortions with his hands to hold down all the necessary buttons. But it was an effective real-world demonstration of how the controller could be easily adapted to a PC game.
Soon after, a new video showed a man waving the Wiimote around to control the pitch and tone being emitted by a Nord Lead synthesizer. In action, it looked and sounded much like an invisible Star Wars lightsaber.
The hacker in the video, Brandon Epperson, is a 27-year-old theater professional from Brooklyn, New York, who says he is always "looking for new ways to interact with computers on a more organic level." Epperson has since released videos in which he uses the Wiimote to control video-editing and music-production software.
Gestural controllers like the Wiimote are "the future of technology," says Epperson, "to more intuitively interact with us as humans. I think this type of control and its more sophisticated descendants will eventually replace the keyboard and mouse."
Bob Somers, a 19-year-old California Polytechnic State University student, is hoping to replace his drumsticks. Somers posted a video to his web page showing him using the Wiimote to control a drum machine. Using GlovePIE in conjunction with a program he wrote called WiiDrums, Somers can create rhythms just by flicking the Wiimote in the air.
"For a hacked-together solution, it was surprisingly easy to get running," said Somers. "I found enough code samples floating around the net that I could piece together a solution without a whole lot of effort."
With so much accomplished in such a short span of time, it's intriguing to wonder what might come next. In the Half-Life 2 video, the player-narrator points out that the infrared sensing functionality that lets the Wii remote determine its absolute position in space (as opposed to simple directional motion) hasn't been exploited by hackers.
But Kenner says this is possible with the latest version of GlovePIE: Indeed, there's already a program using the driver that allows a user to move a mouse cursor with the Wiimote, a feat that requires knowing the controller's absolute position as well as the force being applied to it.
Sure, you'll need something to replace the Wii's included "sensor bar" -- which is actually just a strip of infrared LEDs -- set up near your computer monitor. You could put your Wii next to the computer and use its built-in bar, but why bother when hackers have shown that anything from candles to Christmas lights can perform the same function?
The Wii hacking community is currently attempting to utilize the signals emitted by peripheral devices that can be attached to the Wiimote. Specifically, Wii hackers would like to write code that lets them put the Nunchuk, which adds an additional motion sensor and an analog joystick to the Wiimote, to new and interesting uses.
This, for example, would allow Somers' drum program to use two "sticks" instead of one, making it far more useful -- either for a drumming game or for use by professional musicians, although he says the program is "not nearly ready" for either.
"No synthesized drum track will ever sound completely human," he says, "but the Wii remote allows us to use a very sensitive input device that can capture the minute errors that make a drum track sound more human. It's a step in the right direction."