Monday, August 20, 2007

Interfacing your human to your avatar with a game controller

Saitek P2900 controller
Saitek P2900 Wireless

The gamepad pictured above just may be a godsend to those of you who are interested in controlling your av without having to use the arrow keys. I purchased my Saitek P2900 last week, after doing a lot of research on controllers that could possibly be useful in SL to control avatar movement. Every button, the two joysticks and the D-Pad are completely programmable and can be mapped to keyboard presses (even combos) or mouse controls. In fact, all of Saitek's "P-Series" controllers are fully programmable. I opted for the P2900 because I wanted the convenience of a wireless controller. That way, when I go to type in chat, the wire will not be in the way. Now, all of this sounds fantastic on paper, but how does it work in the real world (and more importantly, in SL)?

Well, I only just got around programming it yesterday, using the "FPS" setting as a template to start from. The D-pad is mapped to arrow keys, the left joystick works as the wasd keys, the right joystick acts as the mouse. I have set up various buttons for pgup, pgdown, left mouse click, right mouse click, esc, m (mouselook), and ctrl+r (running). Then, I decided to try it out in-world.

First, let me start by saying that it works...quite well, in fact! The left joystick works extremely well for controlling avatar movement and is much smoother than using the button keys, and this is coming from someone who always uses "advanced walking" (left mouse clicking on the av, using the up arrow and steering with the mouse). Using the buttons took some getting used to, as I had to remember which button did what, but obviously that would become second nature in time. Some tricky things: If I forget to get out of chat mode, it fills the chat with things like "wwwwwwdddddddddddsssssssss", so that will take some getting used to, and using mouselook is a bit more complicated than usual. While in mouselook, the left joystick will still control avatar movement, while the right joystick will control where your camera is looking. Coordinating the two can be very, very tricky, but this will probably be of concern only if you use mouselook a lot.

I think some of my settings need a little bit of tweaking, but in the meantime, I can honestly say that trying out one of these controllers is certainly worthwhile for someone sick of using arrow keys. When you also consider the low cost of these controllers (they start at around $7 US for the P220) they really become a tempting purchase.

I should mention that there's some other options available other than the Saitek controllers. Here's some links to either DIY projects or controllers that are known to work with SL, at least in some degree:

DIY Controller Box
Using a Wii Controller with SL
Making a SL Controller
3DConnexion's SpaceNavigator

If anyone knows of any other DIY solutions or commercially available products, please leave a comment and I'll add it to the list of links at the bottom of this post.


Timothy Lilliehook said...

Ohhh, shiny gadget! Me want! ;-)

This sounds like a really good alternative to the usual mouse/keyboard struggling. Do you think it would be possible to use one of the sticks to control the camera as well, when you are not using mouselook-mode? That would be a really cool feature, as you could move your avie and cam around without changing between mouse and keyboard all the time.

*off to see if that controller is available in stores here*

October Hush said...

I would say that it would be possible, I think. Probably through the "joystick flycam" settings...but bear in mind, that's just a guess and I haven't actually tried it.

Seraphine said...

It looks too complicated to me.
Unless, it vibrates... ^^

October Hush said...

Haha, Sera. It's really not complicated. Not any more complicated than a typical game controller, anyway.

And this one in particular doesn't vibrate, but some of the other "P-Series" models do.

Chloe Streeter said...

Yay! I'm glad this worked out for you, babe :)