Team LiB   Previous Section   Next Section

21.1 Game Controller Characteristics

Here are the important characteristics of game controllers:

Type

The first game controllers were joystick controllers, which are still popular and still most appropriate for playing flight simulator and air combat games. Some are marginally usable for some driving, racing, action/adventure, and sports games. Steering wheel controllers, many of which include foot pedals, are ideal for driving/racing games and some flight simulators, but ill suited to other games. Gamepad controllers are suitable for action games, including first-person shooters, sports, and most arcade-style games.

Number of axes

An axis is a line drawn through the center of the joystick (or the D-pad on a gamepad) that defines the directions that one can move by manipulating the controls. All controllers have an x-axis (side to side movement) and a y-axis (front to back). Some controllers add a z-axis (up and down) and/or a throttle axis. Depending on the controller type, the third and/or fourth axes may also be called a yoke control or rudder control, for their intended function, or a twist control, for the method used to activate the axis.

Throttle

The throttle is a variable input, present on most joysticks and some gamepads, and normally assigned to the third or fourth axis on the controller. The throttle is usually used to control vehicle speed, and may be a slider, wheel, pedal, or variable-pull trigger, depending on the controller.

Response type

Motion along an axis can be tracked in two ways. Proportional response (common with joysticks) offers finer control, because small stick movement results in small incremental movement on screen. Non-proportional response (common with gamepads) is all-or-nothing—any movement of the control along an axis results in full motion on that axis, offering faster response at the expense of fine control. Some controllers are programmable to allow choosing between proportional and non-proportional modes.

Number of buttons

All controllers have buttons, which are momentary-on switches used to fire weapons and perform similar on/off functions. Pure analog controllers are limited to two or four buttons by the gameport itself. Digital controllers and the Microsoft DirectInput API allow using any number of buttons.

Hat switch

A hat switch, sometimes called a POV hat, a Point of View hat, or just a hat, is called that because it usually resides on the head of the joystick, where it's easily manipulated by the thumb. The hat switch is a directional rocker switch (usually four-way, but sometimes eight-way) that allows you to rapidly change your point of view to face front, rear, left, or right. Games that do not support POV may use the hat to provide four extra buttons.

Force feedback

Recent high-end game controllers have force-feedback technology, which uses small servo motors built into the game controller itself to provide physical feedback under the control of game software designed to use force feedback. For example, with a force-feedback joystick, as you pull a 7G turn you feel the joystick jerk and jitter as the aircraft control surfaces lose laminar flow, but as you extend to gain airspeed, the controls settle down again. When you come up on the six of a bandit and begin hosing him down with your 30mm rotary cannon, the joystick stutters as the gun recoils.

Well-implemented force feedback greatly enhances the ambiance of games that support it properly, but the quality of force-feedback hardware varies greatly between controllers. Even more important, games vary greatly in how well they integrate force feedback. Well-designed games use it elegantly to make the game more immersive. Many games, however, have simply grafted on minimal force-feedback support, and use it in only the most basic ways. This problem seems to be disappearing as new releases of such games usually make better use of force feedback. The only real drawback to force feedback is that it is expensive. A $50 controller without force feedback might cost $100 with it. Interestingly, this same technology (in much enhanced form) is used in current fly-by-wire combat aircraft.

Programmability

All current game controllers include DirectInput drivers or are compatible with standard Windows 9X drivers. A DirectInput-compliant controller can be programmed within any DirectInput-compliant game. However, DirectInput provides only basic functionality, so many controllers come with their own programming software that provides extended functionality, including:

Cross-game commonality

By default, games may use different buttons for similar purposes. For example, one air combat game may use button 1 to fire guns, button 2 to launch a Sidewinder, and button 3 to launch a Sparrow. Another air combat game may offer similar weapons selection, but use different buttons. Programmable game controllers allow you to redefine button functions so that the same button performs similar actions in different games.

Stored profiles

Many modern game controllers are quite flexible and may be used with diverse games. Optimal controller configuration for one game, however, may be less desirable for another. Better game controllers can store multiple groups of configuration settings, called macros or profiles, that allow you to quickly load whichever settings are most appropriate for the game you're about to play, rather than having to reprogram the controller manually each time. Most such controllers come with predefined settings for various popular games.

Interface

Analog game controllers connect to the gameport. Digital game controllers connect to the gameport or to a USB port. Analog controllers are obsolete, although millions of them are still in service. Analog controllers provide limited functionality, require frequent calibration, and using them degrades system performance. Digital game controllers provide greater functionality, seldom or never require calibration, and do not degrade system performance, so all game controller development now focuses on digital, and in particular on USB.

    Team LiB   Previous Section   Next Section