My First Take on the Steam Controller

Hans Jorgensen, September 22, 2016

So, I bought myself a Steam Controller a few weeks ago, more or less on a whim. After trying out Star Wars Battlefront with my brother and getting creamed on a worn-out, third party Xbox 360 controller, I remembered how I had seen the device before, and how it was sitting on my wishlist for a while. And I thought, hey, why not? So I rang up an order on Steam, got it in the mail the next week, and opened it up to see what I would find.

And overall, I was pretty impressed. It's certainly not the best thing I've ever seen, but it does work pretty well. I could talk about a lot of factors, such as the haptic feedback (which is totally awesome), the hardware itself (which is less so), the Steam software support (more on that later), and a few other things. But I want to focus on one particular aspect today: the way that the Steam Controller allows you to overcome limitations in PC software design in which controllers are an afterthought, or simply not ready yet. And it does this in two ways: making your custom controller configuration first class in the system, and providing you with extra inputs that give you better, more mouse-like precision.

Dino Run: Controller Support Granted

I have several games in my library that I love, but that have lackluster controller support. One particular example of this is Dino Run DX, a survival-runner game by PixelJam Games. The concept is very simple: you are a raptor during the 65-million-years-ago asteroid collision, and you have to run to safety from the pyroclastic Wall of Doom coming in from the left. The controls are also very simple: left and right arrows to move, Up to jump, Down to crouch (in order to eat small objects), and Shift to get a boost "every 20 seconds or so". Those sorts of inputs are perfectly mappable to a controller.

Dino Run DX's main menu, showing the game's controls

However, that's only during the game. When you're in the game's menus, you use a mouse. It does make sense - the game does have a significant customization / multiplayer focus, and mouse is the best interface for that. However, this means that implementing a controller interface for this is quite clumsy - it would essentially require a rewrite of the system. Pixeljam, going for a lower release price, opted not to do this and went only for a keyboard and mouse.

Enter the Steam Controller. The right trackpad makes short work of the mouse problem. :) And with that out of the way, I was able to set a really nice control scheme for myself, putting each of the arrows onto my controller in more convenient places, such as the right trigger for jump and the back paddles for boost. As a result, the game plays very conveniently from the couch and a lot more like other titles in my library that assign jumping to face buttons or other places.

Run, run, run!

Freedom Planet: Controller Support Revised

Another game I had a similar experience with was Freedom Planet, a PC game influenced heavily by Sega Genesis titles. Freedom Planet, unlike Dino Run, has extensive controller support - part of its style is that all controls are presented in terms of a hypothetical Genesis controller that is bound to either a keyboard or physical controller buttons. It also recognizes a large array of controller profiles and assigns appropriate buttons for them automatically (for instance, with my Xbox controller, A, X, B, and Start became A, B, C, and Start respectively).

Freedom Planet's control screen. All controls are abstracted away elsewhere as these labeled buttons.

However, this finds limitations fairly quickly - part of emulating the Genesis controller includes emulating the Genesis D-pad, and most analog sticks fall woefully short of doing this precisely, the Xbox 360 thumbstick included. Control on the Xbox 360 controller feels clumsy, and I am not able to perform the precise movements that the game requires - I end up flubbing things like Carol's wall jump or Lilac's Dragon Boost. Mapping the Steam Controller to controller inputs led to very much the same problem - a clumsy, inaccurate joystick that I wasn't able to work well with.

So, I tried something else: mapping the Steam Controller to default keyboard inputs (arrow keys, Z, X, C, Enter). I also had a little more opportunity here, so in addition to setting A and B on the Steam Controller as A and B on the Genesis controller, I also chose to set my right trigger as C. This control scheme more closely mirrored what I was used to in the Sonic Advance games, in which R would be mapped to some kind of trick or partner action. I felt that this would fit some of the game's more precise movements well.

With that set up, I booted up the game. And while it was a little subpar compared to the keyboard (I was still using the thumbstick here), I could immediately feel a performance improvement. For one, I now had haptic feedback on the thumbstick - I was able to feel my inputs more precisely as if I was actually using a bona-fide D-pad. The A-B-R button set also felt much more natural - I was able to wall jump with Carol much more easily, and Lilac played pretty well, too. I still have yet to try the Steam Controller with Milla (or even play that much with Milla normally), although I probably imagine that I can get good results with her as well, especially if I set B (the button she uses to generate Phantom Blocks and pick up objects) to the left trigger.

A sign in Pangu Lagoon instructing the player to try pressing the C button again, thus highlighting Lilac's ability in this stage to do a second Dragon Boost immediately after the first without any cooldown.

Of course, there are those situations where controller support is actually very well implemented in a game, and those games tend to suffer when the right thumbstick takes on a function well suited for it (as in a dual-stick shooter). And then there's also the big situation with how much the controller relies on Steam Big Picture mode - if Steam can't put its overlay on a game (as is true in Battlefront with normal Origin settings), your controller will only use its certainly-not-game-friendly desktop configuration. But in those times when it does work, it works pretty well, and the act of customizing it and making it perfectly fit your game is a great way to absorb and understand the game you play with it.

What do you think? Have you been able to try out the Steam controller, make keymaps for it and try it out? Have you had notable (or notably bad) experiences with it? What are your experiences, if any, related to keymapping other devices? Let me know in the comments - I'd love to hear more about how others experience games and custom game controls.