Sunday, 7 September 2008

NO JOY? My campaign for joystick and gamepad support in Flash starts here!

Joypads, gamepads, joysticks, game controllers... call them what you will, Flash doesn't support them. Why should you care? Well, you only have to look around at Kongregate, MiniClip or TheGamesList to realise that Flash is a proper gaming platform now - you could even say FLASH IS THE NEW CONSOLE! (don't actually say that).

As I'm sure you already know, Flash has some great features for games development: great 2D graphics and animation, sound, video and a decent programming language with AS3. When it comes to input devices though, it's less than ideal.

While the keyboard support is great for games, the mouse support is not perfect - it doesn't let you "wrap" the cursor, so true FPS movement is impossible, and right-click can only be used for the Flash context menu. You also have the seldom-used option of supporting microphone and webcam (but more on that in another post). Anyway, any of these methods is obviously going to be second best to an input device specifically designed for gaming.

I can guess at why it's not supported yet - most users don't keep a gamepad plugged into their computer, so it can hardly be regarded as a critical update, and it probably would require a fair amount of engineering to make it work on both Mac and Windows. But anyway, I don't care what Adobe's reasons are - gaming with a joypad IS A JOY!

I've been doing a fair bit of XNA recently, so I have an Xbox 360 controller plugged into my machine most the time, and your game design options are just so much richer - you have 2 analogue sticks, a D-pad, triggers and whole bunch of buttons. Ok, maybe some of the success of Flash gaming is down to the fact that the controls are so simple, so it's probably not a good idea to use all those buttons, but it would be nice to have the option.

Local multiplayer (on one computer) in Flash would also be massively improved. On the keyboard you can only press a maximum of about 4 or 5 keys at once, then additional presses stop registering - this can make even 2 player games behave unresponsively (the best way around this at the moment is to have one player on mouse and one on keys, as I did with on Bloc's HeadSpace game for Sony). With multiple game controller support, you could have 2 players on joypads, or have a mix of joypad, keys and mouse.

Well, Andre et al's very successful Make Some Noise campaign and Tink's suggestion for sensible package names, both went down very well, so here's my plea for some JOY! This issue has already been filed multiple times on the bug database (but they keep closing them, so how are you supposed to vote?!) Here's a funny one that someone wrote (I promise you it wasn't me), and here's one that's still open for now.

no joy

I've made a silly little button too which you can stick on your blogs etc to show your support (I bet nobody does - prove me wrong!) Oh and Silverlight needs to support joysticks too, if only to give Adobe a kick up the bum.