Games are interactive computer simulations, so the human player(s) need some way of providing inputs to the game. All sorts of human interface devices (HID) exist for gaming, including joysticks, joypads, keyboards and mice, track balls, the Wii remote and specialized input devices like steering wheels, fishing rods, dance pads and even electric guitars. In this chapter, we’ll investigate how game engines typically read, process and utilize the inputs from human interface devices. We’ll also have a look at how outputs from these devices provide feedback to the human player. 8.1 Types of Human Interface Devices A wide range of human interface devices are available for gaming purposes. Consoles like the Xbox 360 and PS3 come equipped with joypad controllers, as shown in Figures 8.1 and 8.2. Nintendo’s Wii console is well known for its unique and innovative Wii Remote controller (commonly referred to as the “Wiimote”), shown in Figure 8.3. And with the Wii U, Nintendo has created an innovative mix between a controller and a semi-mobile gaming device (Figure 8.4). PC games are generally either controlled via a keyboard and mouse or via a joypad. (Microsoft designed the Xbox 360 joypad so that it can be used both on the Xbox 360 and on Windows/DirectX PC platforms.) As shown in example, guitar and drum devices are available for the Guitar Hero series of games, steering wheels can be purchased for driving games, and games like Dance Dance Revolution use a special dance pad device. Some of these devices are shown in Figure 8.6. The Nintendo Wiimote is one of the most flexible input devices on the market today. As such, it is often adapted to new purposes, rather than replaced with an entirely new device. For example, Mario Kart Wii comes with a plastic steering wheel adapter into which the Wiimote can be inserted