Controllers play a very important part in the enjoyment of any video game, but they also play a large part in their development. A controller is the link between the player and the game world behind the screen, and allows the player to alter that world through the force of his will.
Most actions can and have been abstracted down to button presses, which actually makes sense for some actions. Firing a blaster in a spaceship, for example, might very well be done by pressing a button if the player were a pilot in said ship. But why would a character jump when a button is pressed? For that matter, why would he run faster, throw a football, or perform a roundhouse kick when you press a button?
There is a plausible technical reason. Computers understand two things and two things only: one and zero, otherwise known as on and off. A button only has two states: pressed and not pressed, otherwise known as on or off. It would be programatically easy, then, to tell a game that if Button ‘a’ = ‘pressed’ then Character ‘b’ = jump. Further, most semi-intelligent creatures can be trained to understand that pressing a button can provide a result: getting a peanut, unlocking a car door, or making a character in a box jump.
We can therefore relate the control to the onscreen characters to the control of a marionette, which isn’t particularly far fetched. Both activities require nimble fingers and are amazing to watch when performed well. This also means that the player is disconnected from the game world. He is an observer who can merely direct the actions in the world beyond the window that is the monitor.
We can get around this limitation by immersing the player in the game, by attempting to make the player feel like he is the character, rather than just directing the action on screen. The ways that can be accomplished are beyond the scope of this article. However, it should be noted that immersion can and will be broken if the controls are awkward or inconvenient in some way.
It might make sense, then, to have a specific and unique controller for each different game, and (more or less) that’s what some arcade games tend to do (remember arcades?). This works reasonably well and provides a certain degree of freedom. Need another function? Add another button! However, this is inconvenient for operators. Arcade operators tend to rotate their offerings periodically. It’s much cheaper and easier to just remove and replace the innards of their game cabinets with the latest and greatest titles rather than getting rid of the old one and shipping in a new one, especially if there is some kind of standard (see JAMMA. Replacing a control panel and a motherboard are both now fairly trivial to do. But as games moved into the home, this was less feasible.
The designers of a home video game system have an interesting challenge on their hands. They need to design an input device for games that have yet to be conceived, quite a daunting task! Ergonomic considerations aside, they need to make their best guess about how the controller may be used and add enough inputs to accommodate whatever the developer wants to throw at it. How many buttons If a controller has more than one button, the designers will also have to decide how to refer to them. Since these controllers will be used in a variety of games, a button can no longer be labeled ‘jump’, since there may well be no jumping in the game. Should letters be used? Numbers? Geometric Shapes? Colors?