Compare Controls: Part 2

Approximately seven thousand years ago I wrote a post about the different ways we can interact with video games.  I promised more, and didn’t deliver.  And since then there have been a few strange and novel additions to the world of gaming peripherals.  So now is as good a time as ever to pick up where we left off.

Let’s take a quick moment to review the points from the previous post.

  1. Keyboard keys are binary in nature: on or off, Go 100% or Full Stop.
  2. Analog sticks control the rate of change of a cursor.  Push harder to go faster.
  3. A mouse controls position directly.  Move mouse 10 cubits to the left, cursor goes 10 video-cubits to the left.

Let’s extend these lessons and see how they apply to some real-world applications (which seems like the wrong term for video game examples but whatever).

Needs of an FPS

In most first-person shooter (FPS) games, you have four degrees of freedom to work with: vertical look, horizontal look, move backwards/forwards, move left/right.  Vertical aim is “bounded” to a natural max and min: looking directly up or directly down.  But horizontally, you can spin indefinitely.

The player in an FPS is generally moving about in a comparatively large environment, so directly mapping movement control would probably be a terrible idea.  After some initial offerings in the early 90s, FPS gaming on PC settled on a keyboard+mouse paradigm that has dominated for twenty years.  Console shooters came around later, using dual analog sticks to control all four axes for the past three console generations.

Since then, epic flame wars have been fought over which control method works best.  With the mouse and keyboard, you have the advantage of directly mapped control for aim.  This is mathematically superior to aiming by controlling the derivative of cursor position, as per my last post.  But the oft-overlooked left analog stick give you fine control over your position in space, and recall that movement is already limited to controlling your speed instead of position.  An analog stick allows you to control your speed, instead of being limited to the Go vs Stop choice offered by a keyboard button.

I used to sit happily in the Keyboard + Mouse Or Die camp, but in recent years I’ve come to see the situation as more complicated.  Twitch shooters tend to move at hyper speed all the time, so there’s no benefit moving at variable speed.  But there are conditions where variable movement speed and direction are important.  I’ll be streaming Dark Souls soon.  You’ll see what I mean.

Stompy Space Robots and Direct-mapped Analog Sticks

I’ve posted about MechWarrior before.  Long and short of it is, you are piloting a large humanoid robot.  It’s not as fast to respond as a person in a shooter game, but speed and precision are nonetheless vital to survival.  The choice of how to control it will factor heavily into your performance.  Let’s look at how we’re constrained.

 

Screenshot from MechWarrior: Online by Piranha Games Inc.

‘Mechs can only look up and down in a limited arc.  But, unlike your generic FPS dudebros, they actually have two horizontal axes that can be independently controlled: overall facing (based on leg position), and torso twist (arms, chest and head moving like a turret on a tank).  Torso twisting is constrained to a limited arc.  Leg facing can spin indefinitely.   Twist and pitch are fairly quick to respond, while movement can be ponderous depending on the size of the ‘mech.

 

 

Remember from my previous post on the subject that relative input just wouldn’t be precise enough, due to the problem of continuity of position: in this case, for this game, aiming is fast enough to the point where the d  ifference is obvious, as in an FPS.  So at first glance, mouse aiming looks advantageous for pitch and twist.  But, while keyboard movement might work for legs, its binary nature means you are not taking advantage of the fact that the ‘mech can move and turn at a variety of speeds.   So what scheme could satisfy performance requirements and take advantage of these specific constraints?

I’ve theorized that having a joystick to control movement and a mouse to control aim would probably wind up being optimal based on the above consideration.  But, Reddit user /u/cavortingwebeasties provided the major inspiration for this post with his very novel and highly customized flight stick.  After modifying the stick to remove its ability to re-center itself, he employed commercial software to map the plane of a joystick to a virtual mousing device, using an analog stick as a direct-mapped control.  Move the stick to position X,Y in its range of motion, and the cursor moves to position X,Y in the game.  Like a mouse, it will provide faster and more precise control than a typical analog stick.  To quote his post

The stick I built specifically addresses the mechanical shortcomings that all airplane joysticks share plus since it runs TARGET, among many other incredibly useful things, allows me to use absolute inputs and have a very fine degree of control over the axes (including on-the fly sensitivity changes just like any mouse worth it’s weight) which since my gimbal was designed to utilize from the very start -works out really well. Again I reiterate -this is not the norm- and much effort was required to do this.

I find this to be an elegant and immersive solution: a joystick that is direct-mapped to control position, instead of its derivative.  It takes advantage of the fact that in MechWarrior aim is bounded on both axes, thus little is lost by having a constrained range-of-motion.

Steam Controller
Image courtesy of Valve Software

We haven’t talked about trackballs, because it’s been decades since I’ve seen one in the wild.  But when we talk about Valve’s entry into the controller market, it’s important to know what they are.  A trackball is just an upside-down mouse (an easier analogy to make when mice had balls in them).  You flick your hand over a ball, and the cursor moves proportionally to how far the ball span.  It’s a direct-mapped control, like a mouse in theory.  But in practice it’s harder to control the rotational momentum of a spinning ball than it is to control where your wrist is in space, so trackballs largely fell out of style.
The Steam Controller doesn’t have a trackball on it.  But what it does have is a touchpad, on the right, in place of a second analog stick.  This touchpad offers them a level of software-controlled freedom to behave in different ways, as evidenced by the variety of controls we see in the mobile gaming world.  One of the options is to emulate a trackball: slide your finger, and the cursor moves accordingly.  This is a direct-mapped controls scheme the occupies a position one relegated to derivative-based controls, which has interesting implications on the types of games one can play.  Can this thing really replace a mouse and keyboard?  Being that Valve is a PC game developer, it would be to their advantage if this were so.  Time will tell.

Holy crap this is getting long.  I think we might actually need a Part Three.  Coming up:  head tracking, accelerometers, and virtual reality!  This is getting exciting.