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.

13 comments:

tonypee said...

Yeah, totally agree - we'll have to stick that little logo on our site tomor. COME ON ADOBE!

Exey said...

good idea! i support you campaign on my blog www.exey.ru

-YO- said...

Agree.

The only way i achieved this, was using other programs like Flashkeys, and MDM Zinc (personally, i recommend MDM Zinc, its awesome for creating desktop applications)

Siemer said...

I do not support this campaign: true joypad fans know about JoyToKey :)

http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm

You can use it to map any key or mouse movement to your joypad. I use it to play games that do not have joypad support, including ancient gems like Digger, I use it to control applications like ACDSee and as a remote control for my videoplayer (BSPlayer has many shortcuts).

There's also xPadder, which supposedly has more options. But it looks like a piece of crap :P

Iain said...

@Siemer - the problems with things like joy2key are:
1. They require the user to do some extra work downloading the software and setting it up. This might not bother you but it would put off most users.
2. They don't give full access to analogue sticks etc, so you can't do any kind of interaction that isn't already available with keys and mouse.
3. They probably aren't cross-platform.

So get on the team please!

Will S said...

Haven't people already gotten Wii remotes working with flash? I would even think people would be willing to download an air app that translate other types of console controllers that aren't usb also, so long as it was -just- a matter of running it.

dorkie dork from dorktown said...

If you want game pad support go VOTE for it here, http://bugs.adobe.com/jira/browse/FP-566.

Plus KEEP lobbying and make some noise!!!

Patach said...

I tend to use Xpadder for my Flash Games.

http://www.xpadder.com/

antonio brandao said...

I'll be using that logo in my site too !

Sega said...

Why isn't anyone voting for bug FP-566 in Adobe's bug database? It only has ELEVEN votes right now! It wouldn't take a whole lot of us to push it to the front page of bugs at least.

FJGamer said...

I'm trying to stop using Flash little by little, because I hate the lack of control over the control scheme. I want right-click actions, and I don't want users to have to map their gamepads or joypads to some external program to use them with my games. I also think higher of Java's 3D capabilities.

Anonymous said...

Agree 110%. Analog control is required to make real games. Using progs like glovepie to emulate the mouse is the only solution now which is way too hard for users...

Dennis Day said...

I realize that this blog topic is aging but with Flash Player 11 out now I was curious if Adobe has added support for joystick support. Anyone know?