Valve Controller (Prototype Revision 1) Early Thoughts

Yesterday, I got a surprise!

A little back story… I used to work with Tommy on “Goo!”, and before that, at a company which shall not be named.

“Goo!” was a game about controlling an amorphous blob, using it to surround other blobs. It was intended to be a kind of “real time Go”, abstracting Total War style battles into a deep but immediately accessible form. It was ultimately never released, but I think we both earned a lot of experience from it, especially pertaining to game feel; we weren’t just trying to get the feel of a single object right – we were trying to nail the feel of controlling an entire army simultaneously.

Tommy’s now notorious for his focus on game feel (or as I refer to it on this blog, “Kinaesthetics”), elevating the feel of Super Meat Boy, a relatively simple platform character, to a far higher place that anyone could have reasonably expected. But deep down, we both know he wouldn’t be where he is without the resistance training that was Goo! That project nearly killed me, but he muddled through, somehow!

He’s kindly donated a spare Valve controller this way, as he knows I get all weird about touchy feely technology.

It’s a first revision controller, so these opinions are already going to be outdated. Plus, I’ve only just received the prototype yesterday, so these are fairly raw opinions. I’m finding that my initial assumptions keep being undermined as I retry things (out-of-the-box mouse behaviour seems to keep changing!), so… go and pinch some salt.

There’s two really big important features to the prototype which are somewhat new, or, at least, novel in their combination. Tiny pseudo motors (acting effectively like speakers) emit little haptic “ticks” in response to your touch. These ticks seem to emanate from the center of the two marginally concave speakers/touch surfaces.

My immediate sense is that their reverberation carries a little too readily through the housing… a tick from the left touch area can be felt in your right hand. When both touch surfaces are in use, it can be a little hard (but not impossible!) to differentiate the source of the ticks [Hah! While writing this, some new firmware appeared which addressed exactly this. Now, ticks from the left pad sound noticeably different from the right one. There’s even a high pitched “beep” when positive-edging the dead zone on either pad]. I wonder if slightly different “notes” could be created for each side, especially since each side ticks in very different ways, depending on their use case.

The “out of the box” use case is to map the left touch pad to the cardinal arrow keys. The right pad gives direct control of a mouse cursor, and has a nuanced behaviour to simulate the feel of a tracking ball, momentum and all.

Left Pad Default Behaviour

The left pad’s mapping proves a little off – it’s not possible to press diagonal directions. I should point out that these are “out of the box” default bind behaviours, and can be adjusted by developers to suit their own particular needs. However, it does touch on subject I’ve been meaning to write about: mapping continuous input into discrete actions.

See, the entire surface of the touch pad registers not just Up, Down, Left and Right sides of the pad, but everything in between. It’s in-discrete (that is “continuous”) input. Due to the way the basic drivers are set up, there are invisible thresholds around the circular pads, zoning out which one of these buttons is pressed. However, the zones are mutually exclusive. I’ll reiterate that this doesn’t have to be the case (although would make a lot of sense in some cases: a grid based interface like Steam’s Big Screen, where diagonals may only add aide to confuse, would be a good application). Potentially, the button areas could overlap to allow for 8 way diagonal movement (plus an obligatory square or circular dead zone). This would probably be a more natural fit for a “lazy” port onto WASD/Arrow key using games.

There remains a significant problem, still: it’s really very hard to tell (either looking, or just by touch) whether, your thumb is in the area you mean it to be. Yes, there is a ridge denoting radial distance which helps a little with your thumb’s situational awareness, and yes, a haptic tick tells you that your thumb has passed over a threshold. Unfortunately, the ridges aren’t felt at exactly the same time as the tick is triggered (and maybe they can’t! different thumb diameters and fattiness!). And critically, the threshold tick is always after the fact. You cannot rummage around without providing the input that you may not yet want to provide. There is no haptic anticipation – what you find in a keyboard key’s press, or a DPad hat or just, y’know… a button!

As with all touch systems, the elephant in the room is always the lack of ability to touch without providing signal. The moment you touch one of the control surfaces, it considers that a “press” [Let me take that back: I’ve managed to touch it without triggering a signal, but it’s not significant enough a pressure to feel like I can “rest” my thumb].

A solution to this is to only acknowledge the contact when the entire touch pad (itself a button) is pushed home. There are still problems with this, however: should you press and hold and move your thumb around, you only feel the click of the button depressing, and the artificial, reactive tick as your thumb glides to a new button territory. What you miss, and your thumb craves, is the “teeter” of a D Pad hat rolling over an axis… the physical anticipation of the topple from one side to the other. It’s just not there. You get a mouse’s kick telling you when you’ve gone too far.

Perhaps I’m being unfair, here, but if the role of the pad is to ape a D Pad or arrow array, then the lack of intrinsic physical feedback, the mapping of continuous to discrete, really hurts the concept. There’s also a noticeable lack of anything to orient your thumbs… no North, South, East or West, as subtly described in the feel of a XBox 360’s bi-lateral springs.

A set of vertical and horizontal ridges (similar to the round ones) might be nice, to give a physical sense of what’s vertical and horizontal… but only if I wanted to encourage the idea of using the touch surface as a D Pad. And I truly don’t. It’s a horrible mismatch and shouldn’t be attempted by anyone who cares.

The next prototype sounds as though it’ll have 2 sets of a diamond “jewel button” arrays, with buttons close enough together that a “lazy man’s D-Pad” (where the thumb is slid across multiple buttons) may be possible. Because it’s slightly smaller, It may even be slightly more affordant to this trick than the XBox 360 Controller or DualShock3’s arrays. This’ll be important, as some players really do not engage in “slippery thumb” activities.

Having this new set of buttons should point blank solve the D Pad issues. As an aside, I think a lot of players (myself included) have become accustomed to the idea of 4/8 way controllers being handled just fine on XBox’s analogue sticks, but we must recognize that this is down to the unfortunate DPad. Since it became a poor workhorse for 4/8 way controls, it became relegated to item selection or other infrequent uses… practically  a “select” button.

I’m pretty glad that they’re not going for a D Pad hat, as it allows physical access to the “Forbidden Chords”: Left + Right, Up + Down, A + Y, and B + X. You’re naughty if you use them (that’s why they’re forbidden!), but it’s nice to have as an option if you are being intentionally irreverent with your players’ appendages. (Or, remember when Marvel Vs. Capcom 3 allowed charging while moving forward? So naughty.)

I’m hoping that the new jewel arrays will be good enough to show that the idea of analogue sticks doing a D Pad’s job has always been a stopgap solution to the 360’s blunder, and perhaps, after this, we can let 8 way games be 8 way, and analogue games be analogue again! In short, if I catch you using the Valve Controller’s pad for discrete inputs, I’m going to politely tell you that you’ve possibly missed the point. (I… I may be going overboard, there. Terribly sorry.)

Right Pad Default Behaviour

When first person games are made for console, it’s become a fairly unchallenged standard to use the right stick to control the camera, so it makes sense that the right pad hooks into the aim control of PC first person games.

I had assumed the controller wasn’t working, at first, until I noticed the ticking sound as I touched the pad, and then looked up to my screen, surprised to see it emulating a mouse’s delta!

Dragging your thumb across the pad causes the mouse to move, just as with a laptop touch pad. Unlike a laptop touch pad, you hear/feel audible ticks as you move. Move fast, and you hear something like a groaning chair. Move slow and you hear… a slowly creaking chair.

[As I was writing this, a firmware update appeared which, I’m pretty sure, changed the acoustics of the left pad’s ticks so that they weren’t so well hidden! Huh!]

Playing a little further, I noticed a couple of behaviours to this, seemingly cross fading depending on where your thumb started.

Simply dragging your thumb around moves the mouse in a 1 to 1 way. The mouse sensitivity here is fairly low to allow for precision. Start to move faster, and the ticking rate increases and kind of makes sense, although in the back of your mind you’re thinking “every time it ticks, that must mean it’s updated its movement”… but this isn’t at all true.

When you slow down to confirm this behaviour, you see your mouse moving pretty smoothly [The previous revision was a mite jumpy at low sensitivities, so, it might just be me, but there might be some filtering going on for low speed movement]. It’s hard to describe, but it feels like the association you had between “ticks” and “movement” is now lying to you. You shift the cursor over about 20 pixels, and a tick appears, but again, it’s a discrete sound used to denote a continuous motion. And there’s no visual aspect to say “you’re building up to a tick discharge!”. It just… ticks over when it’s invisibly counted the necessary distance for a tick. The illusion really only works at high speed. It’s just a little distracting when fine tuning.

The system employs some “mouse acceleration” (although it’s my pet hate that that’s the term. It’s totally wrong.) such that faster movements are exaggerated. Moving your thumb across the pad from far left to far right covers about 3 quaters of my screen. If I do the same motion, the same distance, slowly, I only see about a quater of a screen.

Some people hate this in their mice, and will freak out at the mere mention of “mouse acceleration”. But I have to say, in this case, it’s still necessary (in the same way that first person games on sticks really demand some intelligent filtering to help pass intention from the user). Mice don’t particularly need it because that have a broad range of fidelities – arm movements create broad, sweeping macro movement across palacial mouse mats. Wrist and fingers control finer motion, with the heft and friction of the mouse physically filtering human jitters.

These thumb-touch pads, like sticks, have a much more limited throw area. They have some dampening friction in the form of physical contact with the surface of the object, but not as much as a sprung stick with hard edges gating provides. When it comes down to it, contextual aim assistance (i.e. more than just a blanket “mouse acceleration” filter) is going to be necessary for the touch pads.

I wonder if the touch pads wouldn’t be better with slightly more concavity? The slope might help feedback how far the thumb is from the center? I could be wrong!

Up until here, I’ve been looking at the micro movements on the pad. We’ve only really seen what sticks are already able to do – moving around fairly decently within a confined upper speed limit. Interestingly, the First Person games most successful on console are ones which completely acknowledge this limitation, and work to make up the different. Things like dampening and “sticky-ing” the speed of aim when hovering over interactive targets (HALO, COD) giving extra rotation speed when turning toward targets off screen (a first in Brink, prototyped by yours truly, ahem.). While I do think the touch pads are going to need subtle accessibility systems like this, they do beat out the stick in one important place: the throw!

If you build speed in your thumb and release without it coming to the stop, you’ll fling the cursor across the screen – in game, this translates to a quick turn around. This, I love! It kills the always daft and inelegant and button wasting suggestion of a “180 degree turn around” button (yeuch).

There’s also an strange edge case behaviour… literally edge case. If your thumb starts at roughly the center of the pad, and is then dragged out to an extreme, the mouse will continue to wander, and the haptics continue to tick over. This strikes me as kind of superfluous when the “throw” is so much more effective.

[Ammendum: this behaviour has been removed. Hooray!]

I’m going to wrap this post up and perhaps edit later, but feel free to leave any pressing questions. I’ve left the “back face buttons” out of this, but, yep, you can probably guess they’re going to be pressed in anger a lot if their size isn’t reduced.

And here’s my current WIP using the system, pretty happily, out of the box!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>