Deep Dive on Alien Flight Controls

Some feedback we've gotten for "Alien Cattle Rustlers" is that the controls are hard to use and understand, so we wanted to write a blog post explaining the control scheme in more detail than we could fit in our game.

Our game is about herding cattle in a UFO, so we wanted the controls to be immersive and expressive. Traditional thrust-like (e.g. Asteroids) controls didn't make sense for a flying saucer. Instead, we thought a UFO would be driven by a control stick. Tilting it in a direction would make your UFO go in that direction at a speed proportional to the tilt.

A gamepad with a joystick is the ideal game controller for this, but most people don't have those on-hand. So what we did was create a way to emulate analog joystick controls with a mouse.

Clicking the mouse is analogous to "gripping" the stick. While "gripping" it, moving the mouse is analogous to "tilting" the stick. Release the mouse releases the stick, which then snaps back to neutral.

Internally, we have "virtual control stick" model that is updated by parsing mouse inputs. Below is a visualization of the stick along with our UFO moving according to its inputs:

test.gif

You can try out this demo by clicking F1 on our game's title screen.

Once you get used to it, it really does feel as precise as using a real joystick! We think it would be fun to rig up such a "virtual control stick" to classic analog games like Super Mario 64 or Super Smash Bros Melee and see how it fares :)