Firefox 29 ships today, and with it ships an implementation of the Gamepad API. This is the culmination of a few years’ worth of work for me so it’s very exciting to see it ship!

If you missed it, I wrote an article on the Gamepad API over at hacks.mozilla.org. It has information on how to use it as a developer as well as some code samples. Go check it out if you’re interested in using this API!

If you’re not a developer, but you have a gamepad laying around, I have a couple of games you can play:

  • Combat is an homage to Atari 2600 Combat that I wrote. It gets pretty fun if you have multiple gamepads laying around and you can play against your friends. (There’s also keyboard controls if you don’t have a gamepad, and a computer-controlled tank to play against if you don’t have friends.)
  • Boxes Wot Shoot is a really slick game written by Scott Graham, the co-editor of the Gamepad API spec. It requires a gamepad with dual analog sticks to play, but it’s super fun.

These games work great in the release versions of both Firefox and Chrome, which is pretty awesome to see. Even more awesome is that Microsoft seems to be working on an implementation, listing the Gamepad API as “in progress” on their IE progress tracker. Perhaps you’ll be able to play these web games on your Xbox One in the future. :)

A quick note on gamepad support: it varies from platform to platform. Most USB gamepads will work on any platform. The notable counter-examples are the DualShock 3 (the PlayStation 3 controller) and the Xbox One controller. You can get third-party drivers to make them work, but it’s a little shaky. Your best bet is likely to be the Xbox 360 controller (unless you’re on a Mac), the DualShock 4 (PlayStation 4 controller), or a cheap off-brand USB controller (they can be had for $15 in many places).

Happy gaming!

4 Responses to “Gamepad API Shipping in Firefox 29”

  1. David Storey Says:

    Just a quick note on the IE implementation. It will be unprefixed and uses the same version as the recent FF28 update where gamepad.buttons returns an array of GamepadButton. As such any code that targets this version of the spec for Firefox will also work in IE. Most of the literature and demos out there at the moment use the older array of doubles and only provide webkit and moz prefixes in the code, more often than not without a prefixless version. I’m tracking those here: https://github.com/dstorey/stale/issues?labels=GamePad . I suspect some of those will fix themselves now FF29 is out.

  2. Ted Mielczarek Says:

    Great to hear! I’ve been trying to get demos updated if I notice them and I can contact the author. I don’t think there’s a huge amount of usage out there, so it shouldn’t be a terrible battle. I’ve also been trying to write my own demos in a backwards-compatible fashion to set a good example, since it’s not so much code.

  3. Teemu Kamarainen Says:

    Good news. Do you know if this will be supported also on the mobile versions of Chrome and Firefox in the future?

  4. Ted Mielczarek Says:

    I landed an implementation for Firefox for Android that should ship in version 32. It looks like an implementation for Chrome on Android is well underway as well:
    https://code.google.com/p/chromium/issues/detail?id=330094