Keyboard

So, let’s talk keyboards. Specifically keyboards as game controllers.

You know… these things –>

FPSKeyboard

“FPS” keyboard layout, standardized by Half-Life

A keyboard is more than just a grid of buttons. It’s a grid of buttons in consistent spatial locations. I think we can do a lot more with it than we are doing right now, especially when using the keyboard as a game controller and spatial input device. But first!

Standardization

You may rightly object that your keyboard is in some other language. Maybe you use an Eastern European keyboard, or one of those ergonomic ones that is split in the middle, or your keyboard is one of a kind hand-made from the teeth of your beloved family dog.

Fig X: Still a keyboard. They are all the same you know.

And in all of those cases, good for you. But I’m only going to be considering one keyboard layout, because while keyboards may vary in what is printed on them, they are all nearly identical as far as layout goes. (Unless you’re the one who made his keyboard from scratch, and then all bets are off.) But in any case, if you are playing computer games then you can afford to purchase a bog-standard American Keyboard with all the buttons in the same places as the one in this picture. (To account for really weird keyboards, I suggest software designers incorporate a “keyboard calibration” system. Hit the “calibrate keyboard” button, and then run your finger along each button in sequence, from left to right, on each row as the program indicates with the handly little picture. That way you’re all on the same page. You know what the computer thinks your keyboard looks like, and your computer knows which keys go in which order on your keyboard. But I digress.)

MinecraftKeys

Minecraft keyboard layout… as far as I know anyway. Note the similarity to FPS conventions.

What I’m trying to say is that keyboards are a standardized input device at this point, and we should begin treating them that way. Instead of only mapping to what character is printed on the keys, we can also map to the spatial position. This has some…

Interesting Implications

Let me say first off that this kind of analysis HAS been done before. Team Liquid has done extensive examination of control layouts for Starcraft 2, and Shamus Young (among, I must assume, many others) has implemented virtual key-mappings in software.

But I think we can go further, we could easily make…

Intuitive Mapping

The clear leader in this field is SpaceChem. First off, SpaceChem has multiple input methods. You can play the game with the keyboard and/or the mouse. Both methods are equally valid, and have totally overlapping functions.

SpacechemKeyGUI

The brilliant SpaceChem control GUI

SpacechemKeys

At first glance, SpaceChem is similar to many FPS games

You may notice the little letters at the bottom of the GUI icons as well. These are the keyboard shortcuts of course. Very slick. What you may not have noticed immediately, however, is this!

SpacechemKeyMapping

SpaceChem keyboard shortcuts map directly onto the keyboard!

Zach Barth clearly sat down and thought this through. The mapping works both ways! The GUI informs the position of the buttons, and the keys are labeled in both locations. Priceless! I have never seen keyboard controls done better anywhere else, ever.

So, if you’re going to make a game, be sure to do at least as well as the one-man KeyboardSmallBasicdevelopment team. I suggest your “assign shortcuts” menu have, in addition to the key name, a map of where this key is on the keyboard. Then you can reverse-index the keys, to allow the user to hover each key on the virtual keyboard and see what their functions are, what the grouping is, etc. There’s a ton of advancement we can do in this field.

I realize that’s a lot of work, so I made a few super-mini keyboards that should be suitable for use in menus, mouse-over hints, etc. Go ahead and use them however you like. They are free. Or you can make your own. However you like.

If you’re making special games for special markets, there’s even more cool things you can do with keyboards. Children and VR come to mind, but I’m sure you can come up with more.

Games for Children

TheFKey

A single key… hard to hit accurately

Children’s computer games tend to require way too much dexterity and precision. They map individual keys just like games for adults. We need to start making games that can be adapted to a child’s abilities.

TheFKeyExpanded

A single key surrounded by a mercy zone of six other keys all mapped to the same function.

For example, by using virtual buttons, you can map a whole zone of keys to the same function in the game. Or maybe make the central button slightly more effective, and have the effectiveness wear off as the child gets further and further away (spatially on the keyboard). This will help to train children to be accurate, while also rewarding them for getting “close enough”. It also allows you to use more of the keyboard space, and even move the commands around the keyboard, so that children have to “hunt” on the keys for the correct location. You could turn this into a treasure hunt, or a “mole bash” style game, where only general areas of the keyboard matter.

Large Keyboard Zones

If I were making a game for children, I would put a keyboard schematic right on the screen, and light up the keys that the child is pressing, to reinforce the intended and resultant mapping.

Of course, you would want to have the option to tighten up these controls so that players with higher skill don’t have to be flailing all over the keys, and you’re not training children to smack aimlessly all over the input devices. But hooking the spatial layout of the keyboard into the game design seems like a great idea, especially for players that don’t have great fine motor skills, such as children.

Virtual Reality

If your game has a robust spatial metaphor, like, say VR, then you need a way to input tactile feedback. Fortunately, we already have keyboards! Want a fancy button panel in your spaceship? Map keyboard zones (individual keys are hard to hit accurately when you can’t see your hand) and then use the mouse and head tracking to activate the control panel the user is looking at. In this way, you can use the same keyboard to represent a multitude of in-game virtual interfaces.

You can also use the keyboard to track where the user’s hands are (by which buttons are being pressed), and provide basic tactile feedback. By using the buttons as in-game spatial objects, you both reinforce the congruity of the world, and provide the user with information about where their hands are in real life.

Use Keyboards Better

I’m sure brilliant minds have examined these ideas already, but sometimes it takes a newcomer to point out the obvious. Keyboards are extremely powerful input devices, and yet they often are overlooked in favor of the mouse or touch screen. They are tactile, precise, and standardized. We should start using them to their fullest potential.

Leave a Reply

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