Too Much Information about the Interactive Fleshlight
Well, after all of the massive press coverage over a dude that hooked up a interactive fleshlight to a blowup doll with some chat AI and called it a sex bot, I figured it was time for me to invest in one of these things so I could get some of those so called "hits" that I'd been desperately missing out on lately. That's what I get for becoming overly obsessed with haptics hardware.
Top Cap Replacement for the fleshlight
A Rubber Tube
A Control Box
A USB A-B Cable
A "game" (I'll explain the quotes later, but holy jesus fuck is this some bad shit. Well, I guess that explained it. But, well, um.. yeah.)
Most of the devices I show off on Slashdong are output devices. Input comes from some other controller, be it your mouse, keyboard, video game controller, or whatever. The Interactive Fleshlight, however, is an input /only/ device.
The Fleshlight, for those not familiar and not able to discern the obvious from the above picture, is a plastic casing with a latex insert. You stick your dick in it. That's... about it really. Both ends of the plastic casing come off: one end to stick yourself in, the other to adjust air pressure once you're in. This second cap is where the Interactive Fleshlight comes in. They give you a replacement endcap (w/ gasket, to maintain pressure) with a tube attached to it, that goes to a little beige box. The little beige box contains a PIC 16C745 microcontroller that processes the signal from an air pressure sensor, and sends it down the USB to your computer. This means that your computer can basically sense when and how you thrust into the fleshlight, as that action changes the air pressure inside the tube.
Yes, you can control your computer by fucking it. However, this is only for some values of "control"...
In terms of control schemes, the Interactive Fleshlight takes Occam's Razor and, instead of going across the street or down the road, just takes the whole motherfucking arm off.
You see, the PIC16C745 has embedded USB 1.1 capabilities, which makes it great for an Human Interface Device, or HID, controller. To avoid a long, horrid discussion on USB, basically, the USB standard gives you a ton of ways to talk about human interface devices like mice and keyboards and joysticks and what not. Hundreds of types. It's crazy. So, with all these types, you can have a bazillion axis controller and it should "just work" with any operating system, though you may have to write some drivers as to how those bazillion axes should work with a normal operating environment.
Or you could just make the OS think it's a mouse.
The Interactive Fleshlight registers itself as a USB HID single axis mouse. Any system you hook it to that has an HID manager will believe this (people have done VERY evil things with this fact, too). So, hook up your brand spankin' new computer aided luddite killing fucktube, and your mouse cursor starts moving up and down on the screen. This is a less than stellar situation for multiple reasons.
But, let's play devil's advocate first (in a very literal sense of the term since I'm about to talk about technological onanism, and if you don't screw on the lid tight enough, some is probably gonna fall on the ground). This is a GREAT design for maximum simplicity. Just hook it in and it fucking /works/. Sure, it's hard to mouse around with it (the sensor is incredibly sensitive), but the only programming mechanism you have to provide with any game to support it is "move cursor up and down over the screen". You can't possibly ask for a more open, cross platform interface. The fact that it fulfills so many of the things I bitch about in other toys makes me hurt.
If you're me, though, this fucking SUCKS. Why? 'cause this thing has SO much potential! Hook it to a First Person Shooter and play the "This is my rifle This is my gun" sample from Full Metal Jacket!
Hook it to Max/MSP or PureData and trigger drum samples with it! (Sorry, I don't have a video of me doing that. Yet.)
Make it universal left mouse click, disable your actual left mouse button, and use it as a way to either curtail your computer usage or die happy!
The problem is to do any of these hacks, I'm basically going to have to give the OS a personality disorder to make it think it's not a mouse. This can range from simple (filter drivers on windows) to mildly annoying (System Extension filtering on OS X) to downright painful (VID/PID HID kernel blacklisting on Linux). I had to do something similar for The Journey to Wild Divine Lightstone and its janky ass "let's write a protocol using random raw HID reports!" protocol, but I didn't like it then, and I don't like it now.
Enough bitching, I'm sure you're wondering, how well does it actually work?
Not very. Well, ok, I'll rephrase. First off, here's what thrusting looks like. The graph is time on x (1px = ~1/60th sec), vertical position on y (1200px). As you can see, we definitely pick up some sort of pattern there, though it's still rough. Nothing a little DSP couldn't smooth out (Ok, I just like saying that 'cause I just finished reading my DSP book and I'm itchin' for somewhere to use it now). Here's a little Max/MSP patch I made to show what thrusting reaction is like... (where's your god now, Cycling '74?).
Just using the mouse movement as an indicator is kind of hard, unless your game takes up the whole screen. The game that they ship with it... Well... Uh...
Yup. Nurse Nicki.
Intro screen circa 1980s... You can almost taste the EGA...
And there's our hot 3D modeling action right th... Ok, no.
Yeah, there's the first gameplay screen, and that's all you're going to get. Why? Because you have to sit there hitting the "hand presents" or "take medicine" button for 10 minutes. Then she takes off her shirt. Then you have to fondle her by clicking for at least 15 minutes. Notice the problems here?
All you can do with the fleshlight is move the mouse. You can't click shit. So, you've gotta spend ~20 minutes doing things with your regular mouse before you can do anything with the fleshlight. And you sure as shit ain't gonna have both the mouse and the fleshlight going at once, unless you want to know what it's like to have your penis actively fighting your hand.
UPDATE! Ok, due to popular demand, I actually included pictures of the action scenes. And yes, it really took me about 10-15 minutes to get to this point. My hand hurts. And not in the fun way.
And, of course, once you do get the payoff, you find out that the male character (i.e. you) looks like a radiation experiment gone awry.
Bugged out eyes, missing half his chest hair...
The blowjob scene actually has GUT obscuring the view. Maybe I'll put this up in a later post. It's kind of like watching a giant suck a monolith that's situated behind some serene mountains.
Anyways, there you go. That's the interactive fleshlight. Assuming I can figure out a nice, cross platform way to unfuck the HID shit, expect to see libinteractivefl on sourceforge sometime soon, 'cause you know handing out headshots with this thing in an online shooter would be beyond awesome (hell, that was the idea that originally started slashdong. But that's a story for another day...).