Why I Can’t Use Flash for Game Development

People everywhere love Flash. It has become the Web’s de facto standard for all manner of interfaces. From simple menus to full-blown games, you can bet that Flash is there. It has been called one of the best prototyping tools available, and game designers love it because they don’t need to be computer science graduates to use it. Most people browsing the web today have a Flash plugin installed, making it a fairly ubiquitous platform.

With all of these things going for it, why won’t I use it?

Because if I can’t even watch YouTube videos without it crashing Firefox on my Ubuntu system, then it can’t be that ubiquitous.

I thought the problem was that I was using an older version of Flash. I checked, and sure enough, there was a newer version available. I downloaded it, installed it, and put it through its paces. That is, went to YouTube and watched a few videos. Sometimes all I do is click a link to load a new page while a video is playing on the old page, and the next thing I know, I need to manually kill Firefox because it stops responding.

It doesn’t happen each time I watch a video, but it does happen often enough to be a source of frustration. Everything else on my system seems to be pretty stable. It’s just Flash support that isn’t.

It isn’t a consistent problem for everyone. It seems that when someone else updated to the latest version, it worked fine, although it did have the side-effect of hogging a lot of system resources. I’d argue that this is a problem, too, but at least it isn’t freezing Firefox for this person anymore.

Recently, Adobe announced it had joined the Linux Foundation “to collaborate on the advancement of Linux as a leading platform for rich Internet applications (RIA) and Web 2.0 technologies.” With people complaining that 64-bit Flash isn’t available and with the existing 32-bit version being too buggy for doing things as simple and as common as watching videos on YouTube, I’m curious how much progress will get made. It seems that almost everything available for Linux on Adobe’s site is “alpha-quality”, with a link to get the already-stable Windows or Mac version.

In any case, until Flash becomes more stable for Linux users, I have to look to other technologies to provide a more consistent experience across platforms. Java applets should be a better proposition, and languages such as Processing make it friendlier for prototyping. And since OpenJDK is Sun-supported, I can’t see it crashing as randomly as Flash does. Unfortunately, it seems that Java isn’t on as many systems as Flash is, and asking someone to download a plugin if it isn’t already installed is just asking too much if you are trying to attract the casual player.

I’d love to use Flash. It’s not a bad technology. It’s just disappointing that Linux support is so inconsistent. If I am going to make web games, I am definitely not going to use something that results in games that I can’t even play.

[tags] video games, game development, linux, flash, java, business [/tags]

17 comments to Why I Can’t Use Flash for Game Development

  • baz

    Flash regularly freezes Opera on Mac, and I have to force quit it.

    Anyway, I wouldn’t rule out Flash for games — perhaps they will fix the issue?. In fact, I feel things are moving quickly toward the ad-based web game market (ie flash, basically, everyone has it), and I kinda wish I’d switched myself.

  • James H.

    Despite experiencing the same crash issues as you, I’ve been developing in Flash for 10 months now – 5 of those were on Windows, but the most recent 5 are on Linux. My experience with the crashes is that they are networking related, so unless your game is heavily network dependent you’ll probably not have a problem. Also, when using the standalone player for testing, only the player crashes, not your browser.

    In any case, I put up with the flaws for a number of reasons:

    Linux Flash is the lowest common denominator for real-time web gaming, between the stability issues and severely lowered rendering performance. If it runs OK here it will probably run anywhere!

    I’m using a great language for development, haXe. It doesn’t tie me to Flash any more than necessary; making a standalone, Flash-free version is doable without huge source rewrites.

    I believe in the Gnash project; it seems to only be gaining momentum, and support for the newer versions of Flash is coming.

    Any new gaming platform will have to ship with the browser to be mass-market-accepted. So unless all major browsers are suddenly able to agree upon a new standard for a game-worthy browser platform, there will not be a Flash competitor any time in the next few years. Javascript might reach a useful state eventually, but it’ll face a long road of standardization+acceptance first.

    The last point makes me conclude that if you want to do gaming on the web and reach the widest possible audience, Flash is nearly inevitable.

  • Thanks for the comments, baz and James! Perhaps you’re right. I think that when I do experience browser freezes and crashes, it tends to be with YouTube, and it likely has to do with streaming downloads as you say.

    I’ve also heard great things about haXe.

    Maybe I should give Flash another look.

  • Sanders

    What do you use to develop flash games?

    Is there an IDE to develop in flash?

    Any page where I can learn how to start?

    Many thanks, any info is appreciated

  • Linux Rules

    I don’t do Flash – I did but got burned by it’s security problems. Changed to Linux full-time, no Flash, no more problems.

    Hmm, just today there is yet ANOTHER critical Flash problem “Adobe has released a security bulletin today, APSB08-11, to address multiple vulnerabilities in Adobe Flash Player…”

    Just say “NO” to Flash.

  • This is something else that would have to be downloaded and not yet ready for Linux, but the “Unity Web Player” (see http://en.wikipedia.org/wiki/Unity_Web_Player) seems an impressive web game engine. (See the game Raptor Safari.) No it doesn’t work on Linux yet, but maybe it can be installed through Wine. Considering it works on Mac, it shouldn’t be too difficult to have a Linux version, I assume.

  • Gobater

    I have the latest version of Flash+Firefox on my Ubuntu Feisty. It is not crashing but it consumes lots of CPU, even if there is no action (youtube video paused, tab inactive, …) my Centrino CPU speed rises to maximum and a few seconds later the CPU ventilator starts (making my nice and silent working environment noisy).

    A first chance would be to disable animations (GIF, or flash) if the tab is deactivated in Firefox. However, I don’t think the problem is Firefox.

  • So, are you saying that Flash isn’t the right platform for you to use to develop games for yourself, as a hobbyist? Or Flash isn’t the right platform for you to use to develop games for others, as a professional?

    If its the former, then rock on… use whatever platform best suits you. In fact, if you’re developing just for yourself, go native and use something a bit beefier so you can really play.

    If its the latter, then your arguments are simply short-sighted. Poor Ubuntu support means that Flash is “not that ubiquitous”? How many folks in your audience will be running Ubuntu? How many in the larger casual game playing market? Less than 1%. It’d be like designing your website for those users who run IE4 on a 640×480, 16-color display. Actually, that may be a *bigger* percentage of the audience… 😉

    Flash is the best platform for developing and *distributing* casual games, without debate. If your aims are different than that, then Flash might not be the best fit.

  • AQOne

    I’ve used the flash plugin in Firefox with Ubuntu without any issues for months now.

  • I can well believe that you’re having problems on Ubuntu, but I would just like to point out that Flash runs flawlessly on most Linux distros I’ve tried it on. I tend more to Slackware and Red Hat/Fedora/Mandriva, and for Debian distros I go the opposite way from Ubuntu and pick something like grml. Flash is one of the first things I test on a new system.

    I’ve also been developing Flash quite a lot and have been urging the Linux community to embrace it. With SWFTools and the swfc compiler for development, and the GNU Gnash project for playing, I believe that Flash effectively now belongs to open source. Adobe who?

    There’s nowhere to go from here but up. Now that we have open source projects encompassing Flash, we’ll have the last few bugs sorted out before long.

  • Troy, if my goal is to create games for everyone, including MYSELF, then having poor support for Linux-based systems is not an option.

    Now, it is obvious that many people have seen Flash run stable, and judging by the comments, I am rethinking my position on Flash because of it, but my goal has always been to make more games available for GNU/Linux users. That isn’t to say that this isn’t a serious business. This isn’t charity work. I’m not talking about making games for GNU/Linux to the exclusion of everyone else. But I am also not talking about making Windows games and porting to GNU/Linux and Mac as an afterthought. My games will allow as many people as possible the chance to play in their preferred environment.

    It is the same reason why I can’t even bother to look at Unity.

    But again, if Flash support is so much better than my experience has shown, then I need to rethink my position and do some more research. I agree that Flash seems to be the best platform for development and distribution, but if it doesn’t work properly on GNU/Linux, it won’t work properly for me, and why would I spend my time making games for other people to play that I can’t play myself?

  • salparadise

    I have lots of problems with flash on firefox on OSX too. Processor running at near 100% for one youtube movie and if I have several pages open with flash adverts then it gets silly. In the end I had to install flashblock to regain any kind of usability.
    I think this is partly to do with the way the Mac handles graphics (from some half read, barely remembered article on such things) and partly to do with flash.
    I also use Linux a lot and found that periodically flash would cause problems there too.
    But for the occasional youtube visit I find flash to be irritating and ugly. At least flashblock offers some control.

  • tracyanne

    Interesting. I never have problems with Flash and Firefox on My Mandriva based computers. It just works.

  • i SO feel you.

    whenever i see Flash in a firefox tab, i close it as soon as possible, so it doesn’t crash. whenever it crashes, either all Flash stops working until i restart X … or i’m forced to restart X because the crashed Flash image is stuck on my desktop and won’t go away … (this only ever happens on my amd64 machine, tho … flash craps out sometimes on my x86, but hardly ever … sometimes it just makes firefox freeze for a sec)

    that said … we’ve got Flash elements on most of our sites, where i work, and i’ve been working on learning some ActionScript so i can make our designer’s Flash elements more dynamic and integrated with our websites.

    i’ve got a funny love / hate relationship with Flash. mostly hate … i think Flash is totally abused on most websites that use it, but it’s *awesome* for video, supplementary website navs/widgets, and games.

  • To the guy who’s wondering if there’s an environment for Flash programming on Linux: Flex, MTASC and haXe.

    http://osflash.org/linux
    http://labs.adobe.com/technologies/flex/flexbuilder_linux/

    The hate you all feel is due to poor programming on the part of developers. They test on Windows and Mac and it passes through to their production web site. They are coding Flash on tight deadlines.

    Install the Flexbuilder 3 trial and help make us Flash developers more aware of problems on Linux.

    Also, don’t hate on Flash because of ads. If there were a better platform for ads than Flash, you would be hating it. If security is a concern, rest easy because security is a major concern as Adobe advances the platform.

    Bottom line: Flash apps are a pleasure to use when they benefit from careful planning, which should include thorough IA.

  • Thanks for the comments, Mike! I saw Flex Builder Linux, but it is a plugin for Eclipse, which doesn’t help those of us who don’t use Eclipse. Still, there is the Flex Compiler Shell at http://labs.adobe.com/wiki/index.php/Flex_Compiler_Shell which should be useful.

    Then again, I watched the Flex Builder video, and I can see how using a full IDE can be helpful.

  • […] few months back, I wrote about how I couldn’t use Flash for game development, mostly because of the poor Gnu/Linux support. The comments to that post have since made me rethink […]