The reality of developing web games with Flash, HTML5 and Unity

Update: Lots of new links added at the bottom and feedback from comments inserted into the article body.

Today was a black day for Flash developers world-wide. Adobe announced it will drop Flash support for mobile browsers. This came the day after announcing mass redundancies across the company. On the face of it that doesn’t seem like a significant problem. But it has got the whole “Flash hate wagon” on the roll again, so I felt it was time to finally commit my thoughts to this blog.

First of all: I am only concerned about game development for the web. This entire article focuses on this specific topic and this topic alone. This is not a “Flash vs. HTML5″ article. It’s not an article about building native apps for mobile. It’s entirely and utterly about the reality of making web games today.

I compare Flash, HTML5 and Unity, as they are the only viable web gaming platforms today. For each of them I cover 10 topics:

  1. Workflow – How easy is it to actually create a game?
  2. Platform Stability – Will things change between the time you start and finish your game?
  3. Backward Support – Will your game still run 10 years down the line?
  4. Mobile – Will your game run at all?!
  5. Distribution – There’s no point making something no-one will play
  6. Security – Code and IP protection
  7. Monetization – All about making games to make money
  8. Facebook – The social gaming angle
  9. How many people will play your game?
  10. 3D Support – Stage3D vs. WebGL vs. Unity

These are all areas that I feel game developers ought to be aware of when evaluating new platforms. I conclude this with my advice to Flash game developers both new and seasoned.

It’s a long read but it was vital I covered as much as I could, using facts and stats rather than hyperbole, so you can make the best informed decision possible.

Technology break-down

1. Workflow

Flash: Making games in Flash is easy. There are countless books, web sites, tutorials, game frameworks, libraries, videos and sample code out there. The tools to do it are completely free if you go down the Flex route, or paid if you use the Flash IDE. Flash has a versatile and very powerful vector renderer meaning you can create animations that take-up minimal file size. It has comprehensive audio support and most Adobe apps such as Illustrator and Photoshop hook into the Flash IDE. There’s a vast range of functionality built-in based on years of development.

HTML5: Editors such as JetBrains Astella are making coding less painful. There are some good debugging tools available and testing is as simple as launching a browser. There are plenty of HTML5 game dev books, web sites and on-line resources and lots of sample code. The tools to create HTML5 games are free, but there are commercial game-making apps as well including GameMaker HTML5 and Game Salad. Game specific libraries like ImpactJS exist if you want to get up to speed faster and are less worried how it works under the hood.

Unity: Unity has an excellent visual editor and hooks into mainstream 3D apps. The basic version is free for home-use. You can use it in companies too but only the turn-over less than $100k/year. The Professional version starts at $1500 with various add-ons bumping this price up. Once you have the software there are lots of books and resources for it available, so learning isn’t an issue.

2. Platform Stability

Flash: The platform on which the game lives (Flash Players AVM) is non-OS and non-Browser specific. It doesn’t matter if it’s a decrepit version of IE or the latest Chrome nightly, the experience will be the same for the player providing that Flash Player exists on that platform. Adobe typically release a new Flash Player version every year with several point releases through-out the year.

HTML5: The platform is in a state of flux and constantly shifting. There are two side-effects to this: The first is that your game could potentially break without you doing anything, just because the browser upgraded from beneath you. The second is that you don’t have just one platform to consider, you have lots. Getting your game working in Chrome is just the start, you also need to address IE, Firefox and Safari, across OS and minor release versions within a browser tree. The maintenance involved in this should not be under-estimated. The biggest technical challenges are issues including dire audio support and inconsistent canvas rendering speeds.

Unity: The Unity web player offers the same benefits as the Flash one. Providing the plugin exists for the platform, you are safe in the knowledge your game will run, regardless of the browser changing beneath you. Unity itself is also constantly evolving with new features introduced on a regular basis.

3. Backward Support

Flash: Games made in AS1 still run fine in Flash Player 11 today, a decade after they were built. Backward support is mostly excellent.

HTML5: It’s a little unfair to compare backward compatibility as the technology is ever evolving right now, meaning things can become depreciated quickly if they fall outside of the W3C standards.

Unity: [Updated]: Apparently based on comments below Unity games are not backward compatible with previous major versions of the browser plugin. Originally I had expected that it would be as backward compatible as Flash is, but it seems that might not be the case.

4. Mobile

Flash: Until today I would have said that, iOS aside, mobile support for the Flash plugin was great :) But Adobe have officially killed the Flash Player plugin for mobile and tablets, so consider this utterly dead. You can create mobile apps via AIR, but they aren’t web games so are outside the scope of this article. [Update] Stage3D for mobile still isn’t there yet and with so many hardware/vendor combinations, and an ageing AVM behind it, it’s an uphill battle for Adobe devs. Also it appears that in the restructuring Adobe have removed Oliver Goldman from the AIR team and moved him to Cloud projects. He was an absolutely key figure in AIR, there from the start, so read into this what you will.

HTML5: Here mobile support goes from strength to strength. iOS5 saw a huge HTML5 performance increase. As mobile browsers start allowing access to features  such as touch events and accelerometer support, I only see this getting better. Of course you still have to deal with all the different screen resolutions and aspect ratios, but this isn’t specific to HTML5.

Unity: There is no mobile browser Unity plugin. Given Unity’s strength at compiling native mobile apps I can understand why.

5. Distribution

Flash: Flash games package up into a single, nicely contained, easily protected SWF file. This file can be simply served via HTTP from any web site that wants to host it (if it’s a game created for distribution). Or it can be site-locked to a specific URL. The Flash gaming portal market is based entirely around the way in which these SWF files travel. Indeed the further they travel the more money you tend to make.

HTML5: There is no cross-browser / consistent way to package-up an HTML5 game yet. The biggest gaming portals don’t yet allow for developers to upload their own HTML5 games. I imagine because of the security issues involved in running “foreign” JS on their own sites (you could technically do or deface anything). This means the only way for an HTML5 game to “spread” is by URL sharing to a destination site, or embedding via an iFrame. Ultimately you the developer foots the hosting bill for these methods, or potentially your sponsor does. A lot of the way in which Flash games spread are from sites “taking” SWF files from popular portals and then hosting them. This isn’t as nefarious as it may sound, as is indeed how most Flash games make their money. Portals could use iFrames with the sandbox parameter set, but that will stop a lot of features an HTML5 game may require such as local storage or access to forms.

Unity: Unity is similar to Flash in that it creates a single file that can be uploaded to supporting gaming portals such as Kongregate.

6. Security

Flash: SWF files are not perfect, but at least it combines all of your assets and code into a single place that requires technical know-how or 3rd party apps to break. There are lots of SWF protection services and software on the market which does a good job of encoding and obfuscating. Basically it prevents “casual” hacking and thieves.

HTML5: The JS code can be obfuscated but not encrypted with anything that can’t be un-encrypted client side. Code is easily tweaked at run-time in-memory. Graphic and Audio assets are extremely easy to steal, taking little more than an object Inspection in Chrome/Firefox or even a quick glance through a browser cache folder. If this is an issue for you or not is entirely dependant on your game and client (the type that pays the bills, not the browser client!). [Update] A valid comment was made below that there are ways of protecting your HTML5 assets, and that (in his opinion) Flash assets were just as easy to steal as HTML5 ones are. I’m not going to get into the debate of file protection, suffice to say that anything you can do to protect an HTML5 asset you can equally do in Flash.

Unity: Similar to Flash. Someone determined enough could access your assets, but it takes considerable technical knowledge. On the whole you’re safe from casual hackers and thieves (source).

7. Monetization

Flash: There are many very well established ways to monetise Flash games including: Game sponsorship, in-game adverts, revenue share deals with gaming portals, ad sharing deals, in-game transactions and “work for hire” games made for clients. I know a lot of developers who live entirely off game sponsorship deals alone. Get a hit game and the ad share can rake in the cash as well. There are lots of APIs from ad networks and even the simple act of uploading your game to Mochi can net you some revenue longer-term.

HTML5: In-game advert services exist here, along the lines of putting a Google Ad in your game. I am not aware of any form of HTML5 game sponsorship market yet, or revenue share deals. In-game transaction services such as Fortumo exist and are well established. Of course you can make HTML5 for clients that ask for them too :)

Unity: I’m lacking in knowledge here, perhaps a reader can fill me in? I would expect there are a few advert APIs, although they may target Unity on mobile rather than Unity on the web.

8. Facebook

Flash: Most of the top Facebook games are all running in Flash. The Sims Social with its 36 million monthly players is Flash. Half Bricks brand new Fruit Ninja Frenzy is running Flash, and they’ve reported they will take advantage of Flash Player 11 soon. Most of the new Zynga games, loathe them or love them, are Flash. The reason is audience reach, available skills (they can hire lots of Flash developers) and easy asset workflow. There are lots of ways of monetising games directly on Facebook with a vast range of 3rd party services and APIs to choose from.

HTML5: I struggled to find any examples of Top Facebook games that were purely HTML5. There must be some of course so if you have any please post links. Zynga famously bought Dextrose back in 2010 for “HTML5 gaming on Facebook” but I’ve yet to see the results. [Update] The original text said: “Some companies are already releasing HTML5 games onto Facebook such as OMGPOP and their game Gem Rush. Total daily users? Just 10″. But as a reader rightly pointed out Gem Rush is only HTML5 for the API, the game itself is Flash! Thus supporting my conclusion that it seems that the biggest players in the Facebook Social game space are firmly using Flash at the moment.

Unity: Unity games seem to have found themselves a lucrative little niche on Facebook. The games are by no means as ubiquitous as Flash, but they seem to be well supported. Titles such as UberStrike (830k monthly players) and King’s Bounty (20k monthly players) shows that Facebook players aren’t adverse to installing the Unity plugin if the content is compelling enough.

9. How many people will play your game?

Flash: Because of the fact that on the Desktop pretty much everyone connected to the Internet can play your game, the play counts are typically massive. A standard Flash game will see around 2-3 million plays in the first year or so. Exceptional Flash games see significantly more than this. Our game Home Sheep Home reached nearly 1 million plays per day upon release, and has had over 105 million plays in the 18 months it has been online. That’s a staggering number of players. Add that to the huge player figures across the top Facebook games and it’s probably safe to assume that there are hundreds of thousands of people playing Flash games online right this second. Audience won’t be your issue (visibility will!)

HTML5: I honestly couldn’t find any relevant figures for this, probably because the technology is still so new. And there aren’t all that many good games yet made with it. Glad to see links from readers to prove otherwise. Technically you could say that the potential audience is 1 billion+ but I’m trying to keep this post in the realms of reality so devs can make informed decisions.

Unity: Despite claims from Unity about the adoption rates of their player, the stats don’t really support this. If you take the top Unity game on Kongregate you’ll see it has had just 577,000 plays in total. The top Flash game on there has had 25 million plays. In fact none of the Top 100 Flash games have had less than 2.5 million plays.

10. 3D Support

Flash: Flash Player 11 introduced Stage3D. This is essentially OpenGL ES 2.0. Adobe have done a sterling job of implementing it, but there are some massive caveats. First of all the game needs to be embedded with wmode=direct. The vast majority of gaming portals don’t support this yet, so if your game spreads onto a site without that set it simply won’t run in 3D hardware. Secondly the blacklist of GPUs that are not supported is daunting. Anyone with drivers older than 2009? Gone. The most common Intel GMAs (on-board graphics chips) ? They won’t work either. Given that Intel GMAs were found in 90% of all PCs sold in 2007 this is a real concern. Of course Adobe have to draw a line somewhere, but the whole appeal of Flash is that it doesn’t matter what hardware you run it on, it’ll pretty much just work. If you target Stage3D specifically this is no longer the case, you’re actually cutting out a huge percentage of casual players. So be very careful before going down this route and be sure you can still monetise it at the end, if that is needed.

HTML5: Here we have WebGL. Very similar in lots of respects to Stage3D on a technical level given its OpenGL pedigree, but lacking in some key areas: No ability to go full-screen, no mouse capture (now available in Flash Player 11.2), no multiple render targets, no instanced drawing and more. There is an excellent article about the issues on the Autodesk blog. These however are short-term technical challenges and will eventually be overcome. The biggest issue with WebGL is simply Microsoft and their current stance on not supporting it. Microsoft are not part of the WebGL Working Group and is not showing any support for the format yet. This wouldn’t matter if it wasn’t for browser usage stats like these, that prove IE is still a force to be reckoned with, and will be for years and years to come.

Unity: Unity of course has 3D nailed. In the limited tests we’ve run we have seen GPUs that failed Stage3D blacklist restrictions run Unity content flawlessly. You have the browser plugin issue to overcome of course. But if you know your market well enough then Unity still remains the best solution for 3D gaming at the moment. Unity announced they would support exporting Unity games to Flash very soon, but that won’t get around the issues Stage3D has re: blacklists. And I would put good money on Unity exporting to WebGL in the not-so-distant future too.

How long will Adobe support Flash Player?

Let me highlight a few passages from the press release Adobe put out today. I’ve removed the corporate fluff:

“We are already working on Flash Player 12 … We will accelerate our work with the W3C and WebKit to bring similar capabilities to HTML5 as quickly as possible. We will design new features in Flash for a smooth transition to HTML5″

They also state that they see Flash Player as being primarily used in “advanced gaming” and “high end video”.

So you can read into this in several ways. On the one hand it sounds as if all of the progress and new features they are adding to Flash Player are being given to the W3C and WebKit teams, so that we see them added to HTML5. It also reads as if they are going to modify the Flash IDE so it becomes more of a tool that creates content for HTML5 rather than publish to SWF. So perhaps we’ll see it export timeline animations to SVG or Sprite Sheets.

Thibault Imbert blogged today saying we should all understand that dropping Flash from mobile is a good thing, and it allows Adobe to focus on AIR and Flash Player on the desktop. Apparently no-one was creating mobile browser Flash content anyway. I don’t disagree with this, but my issue is two-fold: First people are seeing this as Adobe killing off Flash. The “mobile” part of it is easily dropped in sensationalist headlines. This will only permeate the anti-Flash culture that Apple kick started.

My biggest problem however is this: it doesn’t matter that no-one was really crafting mobile Flash experiences. What  matters is that by removing the plugin from mobile and tablet browsers you are enforcing the notion that the web is a place devoid of Flash.

The smart phone market is truly massive and mobile gaming is bigger than handheld consoles now. That’s a lot of people who can no longer experience the Flash content you’ve created. This has a knock-on effect to clients. Clients who were already unsteady about the fact that any Flash element on their site (game, video, interaction) didn’t work on iOS, are now going to be doubly scared that it just won’t work full-stop on anything except desktops. You can get away with a bit of collateral damage by not supporting iOS, but you absolutely can’t ignore all those hundreds of millions of extra people added to the list.

This is much less of a problem for us game developers, who were never really creating Flash mobile browser games anyway. But you don’t upset the apple cart like this without bruising all aspects of the Flash world in the process.

Probably the most striking part of his post concludes with this:

“In the long term, we’re actively working on an ambitious future for Flash. The implementation details may change, as we’ve been talking about today. We believe that the DNA of Flash doesn’t reside in those implementation details, but in our promise to make it easy to create and deliver the most amazing experiences everywhere”

Again this is open to interpretation – but if you take it with the press release above I think it clearly highlights the fact that Adobe themselves see no future for the Flash Player plugin on the desktop. I expect we’ll see attempts at cross-compilation from AS3 to JS, or some kind of native JS SWF shim. If they can get enough of the Flash Player features supported in WebKit then exporting AS3 to HTML5 will be much less traumatic for them.

I’m sure that it will continue to exist for AIR. This is just the future of the browser plugin I’m debating.

What should Flash game developers do?

Think carefully, stop and evaluate the situation.

Flash is not yet dead. HTML5 is not yet ready for real-world web games, the kind that actually make money. We are in a period of transition which coincides with what is quite probably the apex of Flash gaming on the web. There are more Flash games being released than ever and the quality-bar is phenomenal now. I’ve yet to see a single HTML5 game that comes close to matching the sort of games we were creating several years ago, never mind today.

But the writing is on the wall. The Flash Player plugin has a corporate bomb strapped to it with a very long fuse, but it’s lit and is burning down.

I expect HTML5 games to start eating away at the lower-level Flash games. It’s not capable yet of taking on the sort of Flash games we’re making today. But it can easily pick-off those lingering at the bottom layer, the less complex games, the quicker builds. The distribution and monetisation methods are vastly different, however I expect this to be funded by clients who insist we build their new games in HTML5. The more this happens, the more things are eroded further.

At the top end we’ve got Stage3D vs. WebGL. Stage3D is winning at the moment but only because of a handful of short-term technical issues with WebGL and the stance of Microsoft. That may sound like an insurmountable problem, but they’ve shifted direction in the past (Silverlight anyone?) and all the while IE drops in popularity. IE being gone is years away yet, but happening.

My advice is this

If you are a beginner developer don’t panic about this. Keep on learning how to make games in Flash, because the skills involved in game development are universal. The logic problems you’ll encounter, the way you need to handle pooling and user actions are rarely system specific. What you learn will transfer environment. Right now if you make a Flash game you can easily sell it, release it and have lots of people play it. Don’t under-estimate the morale boost this will give you. Finishing something is more important than platform.

If you are a seasoned game developer – carry on as usual for now too, you need to pay the bills after-all. Keep on creating those incredible Flash games and revel in the millions of players that will enjoy your game hassle-free, and of course take the clients money while it’s still there.

But both of you start learning JavaScript / HTML5 too (or if you just can’t stomach that, learn Unity)

You’ve no idea how much it pains me to write that sentence. From AS3 to JavaScript is a backward step no matter how you spin it.

So why spend time on it? because I have zero hope or trust that we will ever see a tool that accurately converts from AS3 to HTML5. Not one that performs well enough for games.

So when the party is over and Adobe finally slam the door, do you really want to be the one left holding the keys?

Further Reading

Ben over at Playtomic wrote a nice post on how Flash game developers can disrupt the current gaming portal status quo

Grant Skinner shares his thoughts on the Flash Player mobile post mortem

Update – New Links and Articles

Here’s a collection of more news links worth reading since I posted this article:

BlackBerry say they’ll still support Flash and all is well, but them sum-up the whole article by saying go learn HTML.

Pritham Shetty, the Vice President for Video Solutions at Adobe, states clearly in this blog post that the Desktop version of the Flash Player plugin WILL be supported by Adobe. They don’t however say for how long.

Ben Forta is Adobe’s Director of Platform Evangalism. In his blog post he has a lovely retrospective about what Flash has helped do for the web. It’s well written and mostly free of BS, but the 25+ comments below it scream volumes about the reality of the situation.

It appears that in the restructuring Adobe have removed Oliver Goldman from the AIR team and moved him onto cloud projects. He was an absolutely key figure in AIR, there from the start, so make of this whatever you will.

R Blank wrote a great post called a Case Study in Message Failure. Fascinating reading and some excellent points.

Mike Chambers lays to rest the myth that the whole Flash Professional IDE Team were made redundant. They’re obviously still working on the IDE at Adobe, but it sounds like the focus is on making it create good HTML5 content. So still a confused message all-round really. I made a comment to his post asking about the future of the IDE and he basically said that “a lot of the things you do with Flash today will be done with HTML5 in the future”. I appreciate his honesty massively but don’t envy his position.

Doug Winnie was a Community Manager that Adobe made redundant. His post is passionate, warm and upsetting, if only because after reading it you realise two things: 1) He should never had been let go, because you just don’t get passionate people like him very often! and 2) his revelation that actually not even the Adobe staff had any about about the content of their press release is incredible.

Posted on November 10th 2011 at 3:59 am by .
View more posts in Game Development. Follow responses via the RSS 2.0 feed.


143 Responses

Leave a comment
  • November 10th 2011 at 4:10 am

    Unity browser games are not backwards compatible to the same extent as Flash. In my experience, the older stuff will prompt you to install the Unity plugin, even if you have the latest version installed, and following the instructions to install the plugin will not result in a success.

  • Anonymous
    November 10th 2011 at 4:53 am

    “The platform on which the game lives (Flash Players AVM) is non-OS and non-Browser specific. It doesn’t matter if it’s a decrepit version of IE or the latest Chrome nightly, the experience will be the same for the player providing that Flash Player exists on that platform.”

    This is actually not true. It’s true on Windows, but on Mac and specially Linux the Flash Player has numerous bugs. Most games won’t run into big problems, but the experience is definitely less smooth than it is on Windows. There’s also the fact that Adobe killed their Linux AIR support earlier this year, and now they’re killing mobile Flash, which is a bit of a worrisome trend.

    I also doubt that Microsoft will change their stance on WebGL though, unless they’re practically forced to. Embracing WebGL means embracing OpenGL, the competitor to their own Direct3D.

  • November 10th 2011 at 5:14 am

    Great article, though I think the workflow section could’ve been a little more realistic about the extra dev time, and cost required for html. There’s “ok” ide’s out there, and the debugger is “ok”, but it’s miles off from a strongly types language with proper ide and profile like FB.

    Also, I know native apps are out of scope, but shouldn’t the advice for developers really be: learn how to use the iOS and Android packager’s? Why bother learning JS as all, unless you are completely determined to stay in the web space…? To me, as someone who has done a major HTML5 game, and loathes coding in JS, it makes more sense to continue to do flash on the web while you can, while at the same time transitioning to native dev, where the real money is.

  • November 10th 2011 at 5:58 am

    If I needed to deploy a web game, now, I would probably use NME.

    Part of the reason would be that I could publish native applications for mobile, or for the desktop, with better (3-7 times faster in my tests) performance than AIR, and more supported platforms. But I know that is outside the focus of this article :)

    For the web, though, there’s already an HTML5 target that I’ve successfully used to load bitmaps, embedded fonts, sounds and tweens. You can see a little bit here:

    http://joshuagranick.com/examples/minehx/flash/
    http://joshuagranick.com/examples/minehx/html5/

    I could publish to Flash for most users, then scale back to either the canvas version for mobile users, or prompt them to download the native application from their app store.

    I believe that few people in the big push for HTML5 games really know how awesome the workflow is for Flash developers. Some of that is lost when working with all of NME’s targets (like generating sprite sheets instead of using SWFs) but hopefully we will see those changes in the Flash IDE soon, or we’ll have new tools to rely upon.

    Thanks for the rundown — it’s a shame to hear so much “death of Flash” talk today, as if that would be a good thing across the board, but its comforting to read a post like yours to remind me why I became a Flash developer in the first place.

    NME isn’t going to get shut down, either. It feels good to know that I have all my soruce code, and I can support any platform I want.

  • November 10th 2011 at 6:08 am

    Great material for thought! Thanks for the article.

  • November 10th 2011 at 6:13 am

    This was a good read, thanks. You might take a look at PlayN by Google (and some ooo folks recently): http://code.google.com/p/playn/

  • November 10th 2011 at 10:01 am

    Hey I love Flash and AS3 and I like the compact format of SWF. If this is going away then it’s time for me to abandon the whole thing and move on because it lost all it’s fun. Coding in HTML or JS? Please what? That’s like going back to AS1! I don’t trust Adobe one inch in this whole matter. They killed AIR for Linux without twitching a brow. And now they’re doing the same with FP for mobiles. They probably so keen on HTML5 because it’s the big hype right now. For that they’re willing to throw something as beautiful as ActionScript out of the window. Very sad but a company like Adobe has no soul after all!

  • November 10th 2011 at 10:04 am

    I hate to sounds like a broken record…But haxe/nme (http://www.haxenme.org/) also supports exporting to js/html5 via Jeash (http://jeash.com/), which implements a flash-like api on top of canvas.

  • November 10th 2011 at 10:39 am

    Excellent article.

    I didn’t know about the compatibility issues of Stage3D, that’s kinda important. And all the more annoying that Adobe didn’t work on GPU graphics years ago and with the commitment that Unity3D applied to their plug-in.

    The only thing I’d add is that if/when iOS supports WebGL we’ll be in an interesting position where we have to choose between IE and iOS.

    Oh and it’s a little misleading to say “mouse lock now supported in FP11.2″, it’s clearer to say ‘coming in a future release’ rather than ‘now’, I would say.

    But all in all, an really good read with great information. Thank you!

    Seb

  • November 10th 2011 at 10:58 am

    I think the real message to take home from this whole mobile-flash thing is not to put all your eggs in one basket!

  • November 10th 2011 at 11:28 am

    Seb – I guess the reason I said “available now” re: mouse-lock is because I have the plugin installed, and can develop with it now. But I agree it’s not “out there” yet re: general public. But we all know how fast FPs uptake is, the stats are staggering for it (linked in the article above somewhere). Your iOS vs. IE point is very interesting, I hadn’t thought of it like that – but in terms of numbers you’re right, they’ll balance out at some point!

  • November 10th 2011 at 11:29 am

    tametick – Hah, you can’t advocate haXe and talk about not supporting “one basket” ;) It doesn’t get more one basket than that!!!

  • November 10th 2011 at 12:29 pm

    Rich – the argument is that with HaXe you are only dependent on a community driven open source development tool – it deploys to several production targets on which you are not dependent.

    If you develop for flash you depend on Adobe’s runtime environment a lot more than with haxe, hence putting all your eggs in one basket (adobe’s).

  • Bjarne Hedén
    November 10th 2011 at 12:33 pm

    Aweome read!
    Though I would like to add to point 4 regarding Flash and Air:
    There will not be any further development on the mobile browser plugin anymore, but given AIRs strength at compiling mobile apps, thats understadable ;-)

  • November 10th 2011 at 1:11 pm

    tametick – it’s a very small community mate. As a Technical Director I’m responsible for my team and our technical skill-set in the years to come, I simply cannot justify moving us all to haXe. It’s like that parable of building your house on stone or sand, doesn’t matter how nice the house is :) For personal projects no worries, but for clients who own the source code it’s a no-go zone.

    Bjarne – I mentioned AIR for mobile, but they address two different things. You don’t make mobile browser games in AIR, but you CAN with HTML5 if you really want to. Not saying it’s sensible, just comparing apples with apples.

  • November 10th 2011 at 1:43 pm

    Learn a lot of things thx for this post.

  • sHTiF
    November 10th 2011 at 2:04 pm

    Nope Rich you don’t understand what Bjarne said. He used the same sentence you wrote down behind Unity, and thats what Adobe is doing with Flash. Its smart thing to do, Flash was not really fully supported on mobiles due to iOS so they went the Unity way. Now that they dropped the player they can focus more on AIR and bring it to lower level of native code instead of simply wrapping existing mobile flash player as it is now.

    It was a smart move, I don’t really understand all the fuss except that the PR didn’t handle it well and the message out there got screwed.

    Developing flash for mobile web was never anyone’s primary intention it was more of an afterthough that it can run there however with a lot of issues as well.

  • November 10th 2011 at 2:17 pm

    Rich – fair enough, I admit it’s a bit more risky that sticking to adobe’s stuff when you do contract work for other companies (“nobody was fired for buying IBM”).

    But for the record WRT “personal projects”: I *am* putting my money where my mouth is- my income is currently 100% from my haxe games (which I sell in flash, desktop, ios & android forms), and while I was personally burned twice by adobe already (once for dropping linux support for air, the other by not supporting arm6 phones on air for android) I have yet to find a limitation of haxe I could not work around.

    Just my 2 cents.

  • November 10th 2011 at 2:46 pm

    sHTiF – I got what he’d done, but it’s still not a fair comparison because Unity never claimed to ever support mobile browsers. So they’ve not made a very public, very stupidly handled u-turn on a core message that hundreds of mobile/tablet vendors had built marketing plans around. Anyway the mobile side of it was just the touch-paper. Look past it at what Adobe are clearly saying re: the longevity of the desktop plugin, and the real scope of the problem becomes evident.

  • November 10th 2011 at 3:05 pm

    Great article! Thanks for going point by point in such a matter of fact way. I was honestly having trouble finding information that wasn’t charged with Steve Jobs VS Flash kind of rhetoric.

  • sHTiF
    November 10th 2011 at 4:36 pm

    Rich i don’t think so, if they want to focus on games which seems to be the case they will push the flash player further, beyond stuff that ordinary html5 can do. Even now some of the stuff i presume will come with molehill 2 is outside of WebGL’s scope and leaning more to the Unity sphere of things.

    It just means that flash player will clearly crystalize itself as a platform for web games, not much for webs, apps, video, audio and stuff its used today.

  • November 10th 2011 at 5:04 pm

    Their own press releases and comments made elsewhere tell a different story. I believe they think they can achieve what you describe by cross-compiling AS3 to JS and shoving all the stuff “missing” from HTML5 to the W3C, just like they did with CSS Shaders. Time will tell of course, but it’s not like this is founded on just idle speculation. Every movement they make atm reinforces it.

  • sHTiF
    November 10th 2011 at 5:12 pm

    The technology we need to create games is not something you can shove to W3C not to mention its going forward too fast. Games on web will always be better using plugins such as Flash or Unity because it can concentrate on the important stuff and keep up with the technology where W3C development is slow and not to mention that its not consistent accross browsers.

    The day flash player on desktop will cease to exist it will not be a day when HTML5 took over web games it will be a day when Unity did.

  • November 10th 2011 at 5:15 pm

    Wonderful, thoughtful read. One important point that I think got ignored:

    Virtually nobody is making “mobile web” games – everybody is making apps. There’s never been a mobile WEB games market – all the $$$ being made in mobile games are in native apps which AIR does wonderfully.

    Can you name a single mobile WEB (browser plugin) flash game? I can’t.

    99% of flash games on mobile are native apps because that’s where the money is, and in this example nothing has changed – Flash is still great for making games on mobile assuming you are making apps (with air+captive runtime). I’d love to see mention of this technology since it has not been killed by Adobe but your article neglects to mention it in the way you mention the virtues of Unity on mobile.

    Keep up the wonderful work! You sir, are awesome.

  • November 10th 2011 at 5:25 pm

    sHTiF – Let’s have this discussion again in 12 months :)

    McFunky – I agree totally, and I do mention AIR for mobile even though it’s outside the scope of this article. But the knock-on effect of dropping Flash mobile isn’t to do with games directly (because like you said, no-one is making them), it’s the impact it’s having on the perception of Flash in a much wider context. That combined with the AS3 to HTML5 rumblings I’ve been reading are the straws that broke the camels back, so to speak.

  • sHTiF
    November 10th 2011 at 5:39 pm

    Yeah the talk is doing much more damage than the actions themselves. It will be crucial what we’ll see in next months, personally if they are serious about AIR and mobile development it was a good step to drop the mobile flash player as the heavy rock they kept carrying around and focus to bring AIR as low level as possible for Unity kind of performance.

    Btw did you ever work on a HTML5 game? Its something that most of us did only once and said never again. I would rather completely change my career than adapt to HTML5 as it is now. ;)

  • November 10th 2011 at 5:45 pm

    I think the idea that stage3D has this huge black list is understandable but as time goes on the list will grow smaller. Will stage3D/air support older gpu’s in the future, I am not sure. A cool thing to do is to look at how the software fallback option is doing for games like Machinarium, Comb over Charlie, or TweetHunt.

    Using Air to reach over 350 million users is to me exciting and as a Indie game developer important. Adobe seems to be invested in pushing the envelope on AIR for mobile and Desktop Gaming, it is an exciting time to be apart of such innovation.

    I love this article but it seems to me to paint Adobe as stagnant, this is not the message we are getting from people like Thibault Imbert or Lee Brimelow, who I don’t think anyone would argue about how passionate they are about the future of flash gaming.

  • November 10th 2011 at 6:00 pm

    Ezell – I’m not really sure we have all that much time left. I remember blogging years ago that Adobe ought to be supporting GPU right then. They cut it very, very fine. As we have to wait for GPU support to broaden, so other technologies improve. Adobe are not stagnant and I didn’t say that once – but they are not alone in progression either. They’re up against some huge technology giants. And if history tells us anything it’s that the superior technology isn’t always the winner. I still maintain my summary though – that we carry on as business-as-usual right now, but absolutely start investigating alternatives, because sooner than we’d all like they’ll be neck and neck with us (anyone see the Firefox xbox 360 joypad support video today? that’s the kind of progress I’m talking about, it’s break-neck right now)

  • MC
    November 10th 2011 at 6:15 pm

    I don’t understand why Adobe would want to kill a growing market where they lead and is convenient for everybody right now: developers, sponsors and final users ¿? … if “html5 is the future” develop it without affecting the SWF industry, html5 should be supported in Dreamweaver (for web designers) not in Flash (for game designers and more)

  • gernb
    November 10th 2011 at 9:39 pm

    I don’t disagree with any of your ultimate conclusions but a few nits

    You mention that WebGL doesn’t have multiple render targets, instance drawing etc. Does Stage3D?

    You also mentioned it’s easy to steal HTML5 assets. I don’t see how that’s anymore or less hard than Flash. Feed a flash file to any of the online SWF -> HTML5 converters and out come your assets. Conversely, you can make HTML5 assets just as obfuscated as Flash. Make up your own formats, binarry XHR them down. Bonus, being that you made your own formats there will unlikely be simple tools to extract your assets like there is for SWF files.

  • November 10th 2011 at 10:46 pm

    The actual gameplay part of Gem Rush (mentioned in #8) is still Flash, not HTML5. That’s a pretty important point: we’re still not looking at an actual HTML5 game there, just an HTML5 API / framework around the game.

  • November 10th 2011 at 11:00 pm

    gernb / renegade – both great comments, I’ll update the article now to reflect them. If you DO know of an html5 Facebook game, I’d love to get a link.

  • November 11th 2011 at 12:11 am

    Yikes. For all of Adobe’s talk about them just needing AIR on mobile, now it transpires that Oliver Goldman, one of the main and first AIR people at Adobe – a real key figure – has been moved from the AIR team to the Creative Cloud team, and will no longer work with AIR. That is not a good signal. http://blogs.adobe.com/simplicity/2011/11/transitions.html

  • justin bailey
    November 11th 2011 at 12:35 am

    As someone who just completed work on a project centered around unity, I look forward to never going anywhere near that technology again. It’s a great tool in theory, but in practice the multi-platform aspect of the tech is sorely lacking. The Mono framework implementation as of 3.4.1 is not up to par with regard to networking and IO for starters. XML, JSON, even something as simple as making an HTTPWebRequest object function quickly become a chore without the use of third party extensions or time spent trawling the forums.

  • November 11th 2011 at 12:50 am

    Flashs Stage3D has no multiple-render target, instancing either (these are not parts of OpenGL ES 2.0).

    Fullscreen works already in the latest release of Chrome (the kind apps can request). As we speak mouse-capture support is being built into Firefox and Chrome.

    Firefox has a joystick API fresh out the oven that’s just waiting to get out of beta and enabled by default.

    Both Chrome and Firefox are improving their work on the audio APIs and I expect it to be no more then a couple months before we see stable, reliable realtime audio sample streaming, mixing and FFT in both browsers.

    Chrome and Firefox have added the ability to treat webapps as “desktop apps”. Chrome also added desktop notifications to its latest release.

    Javascript is not a step-back from actionscript. It is actually a more conformant interpretation of Ecmascript262. The speed of javascript has been picking up constantly, and for edge-cases it can reach about 2-3x slower then C (admittedly that is not the general case). The amount of optimization and improvement going into Javascript implementations is phenomenal, and both Firefox and Chrome have started to add incremental realtime friendly garbage collectors to their VMs.

    Even Canvas2D gains speed constantly, not just on Mobile browsers, but also on the desktop thanks to better use of hardware accelerated drawing and processing.

  • November 11th 2011 at 1:02 am

    Thank you for the comments Florian. I do address the insanely rapid speed at which “HTML5″ is changing, as you’ve outlined above. I guess the issue is still simply adoption rates – all those things you list are great, but very few actual game players can take advantage yet. But like I said in my summary, and what you’ve confirmed above, this IS the future and we need to start learning it NOW while still paying bills with Flash game dev work, while it still exists.

  • November 11th 2011 at 1:16 am

    Rich. Wow. Its crazy times!

    If you “had” to pick up an open source Javascript game engine (i.e. impact.js) what would you use?

  • November 11th 2011 at 1:33 am

    Dan – None. I’d say learn it for yourself if you have the time. It will ultimately make you a much more “valuable” developer. Failing that, ImpactJS does look nice!

  • November 11th 2011 at 1:47 am

    Regarding Florian’s comment .. it’s interesting to see that it appears that many AS3 devs are obviously willing to code in JS instead of AS3. It’s not about speed or language conformity, it’s about syntax and language comfort. Of course the end consumer doesn’t care but I as a programmer do care with what kind of stuff I have to work. Switching AS3 with JS is in fact a lot like going back to fully untyped, downright ugly AS1! To be honest if I had to do that, coding would loose all it’s fun for me. How about other AS3 devs? Are you masochistic enough to code in JS instead?

  • November 11th 2011 at 1:49 am

    Great ready and to the point, I’m an Adobe ACP and UGM I think the push back from the community is enormous not sure Adobe was expecting. Its pretty simple Flash works now but if your a good developer that cares about their future starting leaning HTML5, Unity or anything else.

    I don’t see Adobe making a good IDE for AS3 to HTML5, I just think of Dreamweaver and to be realistic I don’t see Adobe making money with tools for HTML5 there are to many free solutions like NetBeans and I still prefer Notepad++

    At the end my best suggestions for Adobe is fire the hole marketing team, yes its a good thing to stop Flash mobile but they it was done really bad.

    As for HTML5 and its issues I think its great, its noting by opportunities I’m looking at solving a number of the issues with my start up.

  • November 11th 2011 at 1:53 am

    Rich, the team here all agree with that…. while we’re willing to all write JS for the love of games… we’d rather not!!!! JS has nothing on AS3…. at least not yet?

  • peterpan
    November 11th 2011 at 2:27 am

    Thx,trust what you love! This is what i got.I’ll persist in flash till the end of my life!

  • November 11th 2011 at 10:45 am

    Great ,I love flash , maybe Html5 still for web page or site. Game still use flash!

  • November 11th 2011 at 1:05 pm

    Wow. This has been an incredibly usefull discussion. Thank you all guys. :)

    Regarding the ImpactJS, it’s not free, right? I could only find it for $99, which isn’t expensive, but I really would like to try it before.

  • November 11th 2011 at 1:30 pm

    re: ImpactJS – yeah it’s not free, sorry.

    I just read this awesome blog post from Joa Ebert, easily one of my top developer idols, about their new Project Hiddenwood: http://blog.joa-ebert.com/2011/11/11/project-hiddenwood/ well worth reading imho.

  • peace
    November 11th 2011 at 1:43 pm

    ???
    the end of AS3 ???
    FB 4.5 is able to produce bin for Android and iOS, it’s a great opportunity ! we can make apps for mobile without learning Java or ObjectiveC. It’s just amazing !
    ?????????

  • November 11th 2011 at 5:39 pm

    Rich: “but very few actual game players can take advantage yet”

    That may be the case for 2d stuff. However in the 3D world it looks quite different. Stage3Ds low-level shading assembly (which will produce tons of shading issues as opposed to GLSL) combined with their mediocre binding implementation (let’s face it, the angleproject is a multi-party push towards a stable OpenGL ES 2.0 implementation, and Adobe isn’t using it) and combined with their *huge* blacklist of drivers/devices and combined with embedding restrictions makes Flash Stage3D unusable.

    Unity would be usable, but as you’ve mentioned yourself, the install base isn’t as great as they paint it (and may I point it does not support linux either), and you’re loosing the power of HTML *AND* Flash in the same stroke to get 3d (that kinda sucks). So unity isn’t really usable.

    Leftover is WebGL, which may not have a terribly great install base (although something like 40% is probably in the ballpark) which beats Unity handsdown. It may not have the most reliable binding (Unitys bindings are better), but it beats Flashs bindings handsdown. And, you get to keep the other HTML goodies (unlike flash AND unity).

  • November 11th 2011 at 6:41 pm

    Florian – again more interesting points, thank you. What I see coming out of those working with WebGL is incredible. I don’t see nearly enough stuff done in Stage3D. You can read into that whatever you like. Do you have any idea what the technical limitations of WebGL are? (in the same way at least we have an identified list of hardware Stage3D doesn’t support)

  • November 11th 2011 at 8:14 pm

    > Do you have any idea what the technical limitations of WebGL are?
    There’s a bunch of stuff I’m not terribly happy with that I mention on a blog post about it: http://codeflow.org/entries/2011/sep/11/webgl-and-html5-challenges-for-the-future/

    The technical limitations are mostly the mix of a browser technology (no fullscreen or mouselook yet), a 3D technology (the eternal driver/hardware support issues) and being an OpenGL ES 2.0 API (lots of goodies from OpenGL3/4 missing).

    But most of this is shared with Flash and Unity, as neither aims beyond OpenGL ES 2.0, they too are 3D technologies, and each comes with its own set of limitations and idiosyncrasies.

  • November 11th 2011 at 9:27 pm

    Just wanted to throw in that we’re working very hard to provide all of the pieces that are missing from HTML5 as a viable game platform – appMobi has a very comprehensive (and free) IDE for mobile game development, and we are partnered with ImpactJS. Additionally we have cloud services that provide the “special sauce” that allowed Apple’s ecosystem to become so successful so quickly – HTML5-based push messaging, in-game purchasing of powerups and levels, and user analytics.

    Finally, we’ve created a technology called DirectCanvas that bypasses the WebKit renderer for games, which gives a 5x-15x boost in performance. appMobi’s mission is to power the migration of games and apps to the HTML5 platform.

    Oh, one more thing, our new mobiUs web app browser lets you make web-based games that have full native hardware access, native performance (with DC, mentioned above), and since they are web-based, no app store approval or commissions.

  • November 11th 2011 at 9:58 pm

    Just wanted to say thanks for the incredible amount of time that you’ve spent on this! You’re doing us all a huge service and I really appreciate your efforts.

  • tomsamson
    November 11th 2011 at 10:04 pm

    this is the best post written on the topic, i agree 100% and applaud you, you summed up the sad situation best.

  • tommyboy
    November 12th 2011 at 12:45 am

    JavaScript still sucks big time. I don’t care what is possible with it, not having strong typing (optional if you like) it is really hard to manage complexity and huge projects with 10+ team members and codebases that last years. It sucks so bad. No one seems to mention this in all this talk. No amount of frameworks or hype can change how poorly design JS + HTML + CSS is for an application development platform. We use it because we are forced to. Heres to hoping the web actually can move forward with a real programming model (AS3, Dart, next rev of JavaScript, Andoid, something…

    Maybe we need a common bytecode (not JS) and browsers can really actually be VMs and then we can build in whatever languages we want. This is a proven approach with the JVM and all the languages built on top if it and that is probably the most successful software platform to manage complexity in a cross platform way in the last 15 years.

  • November 12th 2011 at 3:37 am

    @tommyboy Good comment and I fully agree! It surprises me that now many programmers seem to be easily throwing their proven tools out of the window for something that is being hyped at the moment. When AS2 appeared all Flash devs where like “Hurray we finally have a strong-typed and decent language to code with! No more spaghetti code!”. Seems like many devs today are actually OK to have their untyped spaghetti code back with HTML5 and JS. HTML5 certainly has it’s place with RIAs, if this is your thing. But for games? Excuse me, but I just vomited slightly in my mouth!

  • Anonymous
    November 12th 2011 at 3:42 am

    You could use one of the languages that compiles to JavaScript in stead. I haven’t tried it myself, but many people seem to like CoffeeScript: http://jashkenas.github.com/coffee-script/

  • Me
    November 12th 2011 at 5:50 am

    No, no and no.

    Fact: Flash is one of the greatest things of the past decade. Without it, no games and no video on the web. No Youtube.

    I do not accept Flash going out of business and I do think Rich is making a bit of too much of a deal out of the flash mobile drop. Your article was interesting in terms of better-safe-tham-sorry, but I really do hope that Adobe has no intention of dropping the flash plugin for desktop and I think I agree with sHTiF.

    Let’s not make too much of a deal out of this. You’re creating a problem that doesn’t yet exist, Rich!! Yet, you could be right – but I really don’t hope so and the fact Adobe just released Stage 3D makes me think they have no intention to drop Flash altogether! HTML5 is intolerable in terms of what you can do with it at the moment.

    So, I hope Rich is wrong. If he’s not, there’s Unity. I will consider HTML5 only when it will be capable of doing exactly what Flash always did: being cool.

    Talking more as a game designer than programmer, though.

  • November 12th 2011 at 8:35 am

    In many ways having 1 single company controlling whole Flash Platform was good as it allowed Flash to grow faster. But it has always been the weak point too, Flash can only exist until the company in control continues to believe in it. And that has changed. It is obvious Adobe has lost the faith in Flash Platform. Flash developers have not, end users have not, yet the company controlling it now believes within next few years Flash Platform is dead and buried. And this is self-fulfilling prediction because Adobe is fully controlling Flash. It will not happen tomorrow or next month, there will be more updates to tools and Flash Players but the message from Adobe is pretty clear – Flash Platform as universal way to provide ineractive web experience is no more. It may still exist as middleware to compile into different platforms. For some OS and browser combinations Flash may provide access to specific content. And same time, it will be completely dead.

  • November 12th 2011 at 11:25 am

    “Me” – sounds like you didn’t actually read my article at all. Especially not the summary. Never mind, most people actually did. My point was always that things ARE changing, so enjoy it while it lasts. Tonypa sums it up perfectly above (and let’s face it, he’s written more popular Flash games than most people on this planet)

    Those of you commenting that JS isn’t suitable for 10 man + multi-year projects (tommyboy) you’re again not focusing on what this article is about. It’s about web games. Projects that take a few weeks, sometimes a few months for the bigger ones. 10 man+ teams? Again very rare indeed. Our client work can last 6-8 months and with 6+ devs on it, but they are not typical seeded web games. Every project should be taken on a case-by-case basis, with the clients best interests in mind.

    Equally if you really are creating Enterprise apps (the only kind that span 2-3 years) then you should be more worried than anyone else here, because Adobe do NOT have a public roadmap that long.

    Also as for JS being a “mess” I’ve come to realise in the past few days this simply isn’t the case as badly as I thought it was. I mistakenly believed everything lingered around in a couple of JS files, with bizarre inline functions everywhere and just spaghetti to manage. That so isn’t true, and it only took me spending half an hour looking through the Three JS code base to appreciate that smart JS programmers create smart, elegant code. This is a topic for another post though.

    I stand-by my conclusion. Keep making Flash games because there’s a 1-2 year period of transition ahead. Just don’t be caught with your pants down at the end.

  • November 12th 2011 at 1:07 pm

    “The biggest gaming portals don’t yet allow for developers to upload their own HTML5 games.”

    Yes they do :D

    My two HTML5 games on Kongregate (one of the biggest flash games site):
    http://www.kongregate.com/games/end33r/onspacestart/
    http://www.kongregate.com/games/end33r/front-invaders/

    onSpaceStart was the first HTML5 game ever accepted on Kongregate.

  • November 12th 2011 at 1:10 pm

    @tommyboy

    Javascript is 5x more popular then Actionscript (according to the tiobe language index).

    Every big and decently modern web-application to date is written (or compiled to) Javascript. Flash is not even a player there. You’re not even a blip on the radar. The biggest use-case of flash is displaying videos and doing little games. Javascript is used to provide google docs, gmail, Twitter, Facebook, and so on.

    Your indignation about JS being some immature toy over AS is ridiculous and baseless. Flash is the toy here, and you should know it.

  • sHTiF
    November 12th 2011 at 1:59 pm

    Florian if you think that JS is full blown language you are delirious, it indeed is a toy comparing to AS3, problem is that there is simply no competition in the field where JS is used so it has to be used there. If the stuff could be done in AS3 no sane man would do it in JS and thats a fact. I work with both and its huge difference.

  • Cartrell
    November 12th 2011 at 7:08 pm

    Hey.

    I pretty much agree with this topic. Keep making your Flash games, but start picking up one of the other technologies on the side. Keep milking the Flash cow (if that’s your thing) until you just can’t milk it anymore.

    While I, like others, don’t like the looseness of JavaScript, good coding practices can take care of most of that.

    Rick: “… the Three JS code base to appreciate that smart JS programmers create smart, elegant code.”

    That’s what you call discipline, because I have some atrocious AS3 code (NOT JavaScript) that I’ve seen written by others, and I wish I knew where they lived. (:

    Rick: “… So why spend time on it? because I have zero hope or trust that we will ever see a tool that accurately converts from AS3 to HTML5. Not one that performs well enough for games.”

    Probably better to write the game in HTML5 anyway. Get a better understanding of how it works, and the canvas and all that jazz. I have two Flash games, and I should try and rewrite at least one of them at some point.

    ________________________
    – Ziro out.

  • November 12th 2011 at 10:51 pm

    Very nice summary. You are far better journalist by staying objective than all the main stream trash.

    Regarding to this:

    “it doesn’t matter that no-one was really crafting mobile Flash experiences.” It’s a bullshit. I was even asking Adobe for founding (There was Open Screen Project 2 years ago) to be able to abandon my freelance work and fully concentrate on this project:

    http://www.flaemo.com

    Here is my final post on my blog
    http://flaemo.com/blog/?p=344

    I know several people interesting in this particular area. We have been screwed completely. Not to mention that my 2 regular flash job contracts has been cancelled yesterday.

  • November 13th 2011 at 1:31 pm

    @sHTiF “If the stuff could be done in AS3 no sane man would do it in JS”

    1) Speak for yourself, and obviously many more “sane” people do “that stuff” with JS then your little AS community.

    2) I wonder why “that stuff” can’t be done in AS then. Oh right, because AS/Flash is such a sane system, right? riiiiight? yeah, thought so.

    3) I’m not claiming JS is without any flaws, far from it. However everytime I had to deal with AS it was an utter, pedantic, unproductive, unintuitive, cumbersome, clusterfucked experience. If that’s your measure of “sane”, please keep it for yourself, I don’t want a part of it.

  • sHTiF
    November 13th 2011 at 5:20 pm

    I speak for myself and for all those than know multiple languages, i did projects in AS3, C++, Objective C, Java, JS, WebGL… its simple real programmer doesn’t have a platform or language he can adapt to anything.

    But this doesn’t mean that working with JS isn’t pain. Comparing it to AS3 is nonsense since it doesn’t stand even slight chance. AS3 is mature language yes it was hard back in the AS1 and later AS2 days but now when it finally achieved some sense of complexity and structure its great to work with. And JS is not even at the level of AS2 not yet AS3.

    AS3 still leaves a lot to be desired when compared to some really mature languages like Java or C, for example overloading which would be a huge help in many scenarios. Or native compile time directives even though these may be implemented with 3rd time tools or lanugages like haXe.

    JS is a mess and it evolves very VERY slowly. And whats more its not up to Flash speed so ditching Flash for mobile due to speed in favor of JS seems somewhat funny. But this is up to browsers to speed it up, currently Flash can render quite a lot more content per frame than even the fastest browser can with JS canvas.

    There is still WebGL and I didn’t compare speeds with Stage3D yet, but this is a moot point since WebGL is not a HTML5 standard and will never be supported by all vendors so its more of a niche platform for demos. Working with it is not great either since its too procedural but I guess so is Stage3D and OpenGL but within the constraints of JS it feels even clumsier.

  • sHTiF
    November 13th 2011 at 5:27 pm

    Btw the speed tests I did versus Flash and JS Canvas were done without any GPU support but simple direct canvas/bitmap blitting.

    If you compared Stage3D and JS Canvas without WebGL it will be obviously blown out of the water.

  • November 13th 2011 at 6:56 pm

    “Because of the fact that on the Desktop pretty much everyone connected to the Internet can play your game, the play counts are typically massive. A standard Flash game will see around 2-3 million plays in the first year or so. Exceptional Flash games see significantly more than this. ”
    I can’t imagine each user will install a local version for each flash game. So I think that to give up flash player in mobile is to give up the great market for the above game!

  • November 13th 2011 at 7:18 pm

    If you had to suggest an HTML5/JS library which is close to OOProgramming and its easy to learn like flixel (by easy to learn I mostly mean that it has tools like CD, some physics etc build in) what would that be?

  • sHTiF
    November 13th 2011 at 7:39 pm

    @Paladin not really people are not playing web games from mobile devices and that is a fact, I worked on few facebook games with millions of users done in Flash and people that were playing it from mobile were in 0.0001% range. We even tried a HTML5 port of one of the games so we can target iPad still it didn’t increase the numbers. And keep in mind that our marketing did even huge campaing to promote them! So we decided to go out and create Android port using native java code, mainly because of limitations of AIR back then (no native extensions) and it was a boom without any ad campaign, the visitations from mobile using the app increased massively. People are already asking for iOS port.

    Not saying they never will, but its a behaviour pattern mobile platform users have, they simply want to use apps.

    @Michael there are quite a few but none that offers everything you mentioned, try ImpactJS but personally I think its best if you create your own.

  • November 13th 2011 at 9:46 pm

    Great article. I also tried to sum up my views on the current situation on http://www.allaboutflash.com/flash-is-dead-long-live-flash/

  • November 13th 2011 at 11:52 pm

    sHTiF

    Not yet, true, because simply game wasn’t optimised for mobiles. I was working on the platform to make it happen. Adobe just killed my dreams.

    Anyway

    I immaterially moving forward not wasting time on investing it into any company that can say f**k off to me after next decade.

    I have plans to make a tool to make AS3 -> JS, Android iOS avoiding Adobe tools.
    This will become my target for next decade ;). Air will never be that good with Adobe tendency to over bloat code as the native platforms. JS is a mess and hard to work with. With some wrapper it can be less painful to work with.

    Here are my tests done today. Trying to collect some data from people. Please run this on Flash capable devices and post your results to help me out.

    http://flaemo.com/blog/?p=353

  • peace
    November 14th 2011 at 9:44 am

    the end of AS3 ???
    FB 4.5 is able to produce bin for Android and iOS, it’s a great opportunity ! we can make apps for mobile without learning Java or ObjectiveC. It’s just amazing !
    Could you give an argument against this plz ?

  • November 14th 2011 at 9:48 am

    peace – there’s no Stage3D support for AIR mobile yet (and it could be a long time before we see it stable) and they’ve just dropped the Flex SDK in its current form. These things do not fill me with confidence. You’re right, you can make a apk/ipa, but to be honest you can do that in lots of packages that don’t touch Java/ObjC (Corona, Unity, etc) which if you target games, and that is what this whole article is about, you need to consider performance carefully.

  • peace
    November 14th 2011 at 9:58 am

    @Richard Davey
    Thanx.

  • sHTiF
    November 14th 2011 at 11:28 am

    @peace there is no argument against it, thats why they dropped the mobile flash player in the first place to optimize the AIR. They now focus on implementing more native AIR, as well as smaller AIR deployment depending on class usage in specific project.

    I definitely wouldn’t use Obj-C or Java to work on mobile games when we have AIR, unless you want to do some complicated 3D stuff in that case use Unity since Stage3D isn’t there yet and its speed at the moment leaves a lot to be desired.

  • peace
    November 15th 2011 at 9:37 am

    According to you guys, is it worth learning ObjectiveC/Android SDK or stick with AS3/AIR for mobile apps ?

  • November 15th 2011 at 9:49 am

    @peace For games go with AIR, for serious apps go with Objective-C/Android SDK.

  • November 15th 2011 at 10:13 am

    Unless you need performance (which most games do) in which case goes native, or as close to it as you can. So don’t bother with AIR for mobile. For apps, yes. For games it’s still not there yet unless your game isn’t shifting around much.

  • Dan Milward
    November 15th 2011 at 10:28 am

    I’d agree with that. Dont bother doing anything in AIR that might have any physics in it… that’d be a bad way to spend your remaining tuuds ;)

    So Rich what do you think will happen to Flixel?

  • November 15th 2011 at 10:37 am

    I don’t know Dan – obviously I can’t speak for Adam, and it’s up to him ultimately. My guess would be it will just carry on, maybe a few new features as he requires them in his own projects, and ultimately it’ll follow the course of flash games on the web. I.e. if they die out, so will it. If they don’t, it won’t.

  • sHTiF
    November 15th 2011 at 12:07 pm

    peace I wouldn’t listen to just one opinion, go and try the AIR first if it suits your game and you are able to optimize it its not worth to learn Objective-C and Java if you are not already familiar with them atleast, especially since with AIR you will be able to port to more platforms than that.

    People today whine about Flash performance too much, mostly probably they got bad coding habits on desktop and can’t optimize for mobile. I saw it countless times, unless you know what instance pooling is don’t even bother :) I mean you can create a top down shooter without problem, i did quite few tests on the old Galaxy Tab and it runs smoothly even with physics, keeping in mind its still single core the new tablets will run it with ease. Counting in that AIR will only gain speed as further optimizations come its a no brainer. Unless you want to do full 3D stuff, but games like you see around for example the Flixel stuff no problem at all.

  • peace
    November 15th 2011 at 10:36 pm

    @sHTiF : yes, it’s what i’m doing… a friend of mine is working on a tetris-like coded in as3 and compiled for Android, with AI, and everything is working fine, 30 fps…

  • November 16th 2011 at 2:26 am

    sHTiF is right on! I keep hearing Flash devs moan about AIR’s performance on iOS and Android and when I check their code I have to say they shouldn’t moan about AIR but about their coding habits. Additionally many are using engines and frameworks that were made for web and desktop Flash and then they expect it to run just as well on mobile devices. And yes, that counts for Flixel too. As simple a game as Canabalt immediately occupies around 50MB of memory for such a simple game. And then it soars up quickly to 90MB after playing it 4-5 times. This isn’t because of Flash Player, it’s because of how the game is coded. I guarantee you that skilled coders are able to write a similar game and it stays with around 30MB all the time. And in case somebody thinks memory management doesn’t matter for performance, it matters a huge lot on iOS and Android.

  • November 16th 2011 at 8:04 am

    I would be interested to learn what these comments about iOS and Android perfomance are based on. In theory I can understand how you could test for iOS, there is just 5 iPhones and 2 tablets to consider so trying them all out does not take too long. And as the devices update fairly well, there isnt too many versions of OS either.

    As for Android… Not only has the base OS itself countless versions, it is also heavily modified by hardware manufacturers. The hadrware it runs on spreads from extremely weak with slow CPU/GPU and no memory into full blown computer.

    So, when you keep saying Flash/Air/HTML5 runs/doesnotrun on iOS/Android, what do you mean?

  • November 16th 2011 at 10:05 am

    The theory that AIR performance is 100% dependant on the coders abilities is, quite frankly, a crock of shit. Yes of course it has an impact, but AVM plays a massive role here and there are some very mobile specific hoops and intricacies to learn (which in my mind confuses the whole “write once, deploy anywhere” element – that’s a complete myth, you always have to tweak for the platform)

  • November 16th 2011 at 5:10 pm

    Or you could always learn Monkey in parallel : http://www.monkeycoder.co.nz/

  • sHTiF
    November 17th 2011 at 12:54 am

    Richard maybe not 100% dependant but its around 90%, i mean the same thing applies to Unity if you approach it as a desktop project you will fail simple as that.

    I just tried my basic Genome2D example on old Samsung Galaxy 7` which is still single core and I was able to render 1000 MOVING movieclips at 30FPS thats enough for almost any type of game, and for example iPad2 would be probably much faster since its dual core with better GPU as well.

    So yep I think most of the whiners simply don’t know how to code for mobile. Everything matters on mobile, desktop is very forgiving when it comes to coding so many people simply don’t give a shit about the approach since it runs smooth. Then they switch it to mobile and its 2FPS and first thing they do is blame AIR, not fair.

  • November 21st 2011 at 6:46 am

    I’m just getting started with my own flash portal and self sponsoring my Flixel made games and man was this a depressing read!

    I think the best move now is to hedge your bets and go with something like Haxe or Monkey. You’ll be less likely to get caught with your pants down with one of those and they’re not a step down from AS3.

  • Alex
    November 22nd 2011 at 6:23 pm

    When we start talking about the future and the “impending death” of a technology, we should think back on how it is that a particular plugin got started in the first place. Technologies like Flash and Unity started with 0 users. The only reason they grew is because they provided useful functionality that was missing from every other established technology.

    This fact won’t change in the future. Flash, Unity, and any other technology will still have the opportunity to be viable if it provides developers with an advantage in creating something users want. Considering Flash specifically, Adobe now finds itself in a more competitive world where competitors are vying for markets that Flash once had to itself. Adobe has decided that in order to be competitive, it has to give itself some additional advantages. One of those is to cut out some areas that were forcing it to advance more slowly. HTML5 is struggling to move forward because of this same problem. This will give Adobe an opportunity to excel in certain areas that give developers a reason to choose them.

    Adobe is also making a push into a new market – high end gaming on the web. Their work with Epic Games shows they’re pretty serious about this: http://www.develop-online.net/features/1475/Epic-Diaries-Flash-support. If they succeed in creating a new platform for the big game development companies, then this could become a significant factor in how the future plays out.

    I see no evidence to suggest that Adobe has any inclination to back away from the desktop web browser market. They’re investing heavily into this. But more importantly, I don’t see Adobe backing away from Flash. They still see this as the technology they will use to push the boundaries of development and to seek out new markets for as far into the future as they are imagining.

  • December 11th 2011 at 4:46 pm

    Great article!

    I hope that Flash 11 will resist to HTML5 attack. For now I have made a game that could work on Flash with Stage 3D or without (with my own ‘zoom sprite’ engine).

    I hope in the future to continue develop Flash games…

    link to my game:

    http://www.menato.net/Games/GRUPPO-ACTION/CoasterCars3mountains/game.htm

  • December 15th 2011 at 7:09 pm

    Great article!

    With respect to HTML5 on mobile. Yes, iOS 5 has jumped in performance, but it’s still not as fast as it should be to support a lot of action game types (without a ton of optimization).

    AppMobi’s DirectCanvas is a custom wrapper that will turn an HTML5 based game into a complete app you can place in the app store. It will also intercept and dramatically increase performance of canvas calls effectively giving you the performance of a native app.

    There are still some javascript things to care about (like managing garbage collection) but generally this is a great solution.

  • January 26th 2012 at 11:52 am

    “With respect to HTML5 on mobile. Yes, iOS 5 has jumped in performance, but it’s still NOT AS FAST AS IT SHOULD BE to support a lot of action game types (without a ton of optimization).”

    In terms of throwing dozens of collidable objects of varying size and behaviour around at 320 x 480 it’s pretty good.
    What kind of action game types were you thinking of. Just curious.

  • RBRB
    February 1st 2012 at 8:36 pm

    Don’t worry about Adobe killing the Player. If you go to the player install page you’ll see they still have Shockwave Player available. When’s the last time you played a Shlockwave3D game? When’s the last time you used or came across discussion about Director? Yah… and yet, both Director and the player are still available. Adobe might reduce or eventually stop advancing the platform, but they won’t kill it.

  • Obfuscator
    February 3rd 2012 at 3:41 am

    Great article — unfortunately I’m late to the party. A search on HTML5 obfuscation brought me here. With HTML5, it’s much harder to hide assets — and code — than with Flash. Sure, you could load a swf file into a decompiler, but with HTML the assets are already on your machine. To me, decompilation is a needle in a haystack approach, while grabbing files from your cache is hunting and gathering — much easier.

  • Mark
    February 9th 2012 at 12:27 am

    Browser usage trends tell the reality of all those who try to stand in the way of the open web:

    http://www.w3counter.com/trends

    IE will be less than 15% in 2 years at this rate and behind both Chrome and Firefox.

  • Wil
    February 13th 2012 at 12:34 am

    RBRB -> Yes, and I am sure that Adobe could figure out a way to package a desktop AIR game with included runtime (like they do on mobile) that the Flash plugin would host in a browser window.

  • February 14th 2012 at 9:48 pm

    HTML5 can be used as Google SSL encryption, can also be used to address the hidden, but at present the client without good encryption mode, this lets the human worry a bit code leaked, but it still can not stop people ( especially the developers ) enthusiasm for it, the world has become the era of the HTML5, HTML5 and Internet applications webgl game will be everywhere to be found.

  • drpelz
    February 29th 2012 at 4:38 pm

    If you make native flash apps with AIR there should be no problem developing games with AS3 for the next 3 – 5 years. I’m not interested in HTML5 because I hate JavaScript and CSS3. When the day comes – I will move on to C++ and develop native content for the iOS-platform. But moving on to HTML5? Forget it guys!

  • March 6th 2012 at 6:05 am

    I think you’ve missed in your article that while Adobe will continue to support Flash. Microsoft have announced that Internet Explorer for Windows 8 will have NO PLUGIN support. (http://lifehac.kr/yFWCrE)

  • March 6th 2012 at 10:41 am

    That isn’t strictly true. It’s only Metro that doesn’t support plugins. IE10 does. Even the article you linked to clarifies it:

    “That means that if you launch the browser from the Metro start screen, you won’t be able to use Flash or other plug-ins on any of your sites. However, if you launch it from the traditional desktop, you’ll still have your Flash.”

    You’re right it’s important, but it’s not quite as black/white as you made it sound!

  • MyGrandpa'sPissed
    March 6th 2012 at 4:47 pm

    IE is losing the browser war big time. It’s nice of Microsoft to act like it’s still relevant in this space, but really it’s “your father’s browser.”

  • dimumurray
    March 9th 2012 at 2:44 pm

    Hi All,

    Any thoughts on the new AIR 3.2 run-time and what it might mean for the longevity of Flash/AS3 as a game dev. platform?

  • Osman
    March 11th 2012 at 4:41 pm

    Richard,

    Thanks for the amazing article. Quick question. Can you make any distinctions between 2d and 3d games? Do you think 2d game development should go direct to html5/js? or should we consider flash as well?

    Thanks again.

  • March 11th 2012 at 7:59 pm

    Osman – I don’t think you can split it on 2D or 3D alone. For 3D you’ve only got WebGL re: HTML5, which is available in everything other than Internet Explorer (even available on mobile now). Where-as with Flash you’ve got Stage3D of course. So it depends on the game – is it for selling to a sponsor? For going viral? Then use Flash. Is it for a client? Then check out the demographics of their site and decide. Is it just for you for your own fun? Then it doesn’t matter one bit either way :)

  • April 27th 2012 at 7:53 pm

    Great article. It really confirms what I already knew, Flash isn’t dead, or even dying, just yet. I will continue as always, learning new technologies as they come and using them on my own projects but using established technologies for clients.

  • April 29th 2012 at 6:41 pm

    Great article, but someone is wrong on the internets! ;)

    The Unity web player needs to be installed once. Older or newer content which differs in major versions to the plugin you installed will cause a download of that version of the engine in addition to the game download.

    The user experience is that the loading bar takes a bit longer to complete. No browser restart or other interaction needed.

    That sounds great, but allow me to quote myself for clarity: “… or newer …”. You will never see the “you need to install a new version of the Unity plugin for this content” message. The Unity web player needs to be installed once.

    Also note that as of 3.5, any webplayer build can be built to directly function in the Native Client environment (like for instance the Google Chrome browsers out there). Regardless of which platform that environment is running. 3.5 was released after the original date of the article though – as was the flash build target preview.

    In latest news, Qihoo 360 signed a deal with Unity to distribute the webplayer plugin to 240 million of its users and later to its entire user base of 400 million.

    Someone mentioned in the comments that Unity is limited to the OpenGL ES feature set – full stop. Unity is indeed limited to this feature set on platforms which impose that limitation – mostly mobiles. On others, Unity runs the available OpenGL or DirectX.

    Regarding monetization and Unity, people tend to use the same ad plugins across platforms.

    Sorry about the longish read – couldn’t resist commenting ;) End transmission.

  • Quillicit
    August 24th 2012 at 8:21 am

    Excellent article, Rich. As someone testing the waters in online game development, this was exactly what I was looking for. You hit all the major points and your writing style is accessible and succinct. Thanks hugely.

    Off to learn more Flash!

  • October 25th 2012 at 6:45 pm

    I would like to share my work i have done with Flash and HTML5. My plan was to provide an easy migration path from Flash to HTML5 (especially for game development). Therefore i didn’t choose JavaScript because it’s really hard to use if you come from ActionScript3. But Google’s new programming language called “Dart” which compiles to JavaScript is very similar to ActionScript3. Than i migrated many APIs from Flash to a library called “dartflash” – not only the DisplayList but also the Sound classes and many others. In the end i was able to migrate one of my Flash games to HTML5 in a couple of hours.

    Please take a look at the game and other samples here: http://www.dartflash.com/games/escape/escape.html

    Of course the dartflash library is open source, so i would be happy if you find it useful.

  • October 25th 2012 at 7:25 pm

    That looks like a lot of work, so nice job. How do you find Dart performs on mobile browsers? That’s really the only market worth exploring at the moment. I’ve converted a lot of Flash games to HTML5 so far and the biggest challenge for them all was never the code, it was always the assets and making them look good on mobile. But for desktop I can see the appeal of something like this.

  • November 29th 2012 at 1:44 am

    I think, that HTML5 and this javascript stuff for games is OK as long as you have 2d games in mind and want to monetize it in very painful way, or just be Santa Clause and create games for free. Also keep in mind, that javascript is not perfect/clean, so to speak, object oriented language. FLASH/Flex/ActionScript 3.0 was very good idea for browser games, especially with 3d options. Obviously, you can wait when they find perfect ways to convert FLASH games to HTML5, but I think that it will not be possible to convert every FLASH game to HTML5. Simply speaking, HTML5 is not good environment for advanced browser games. In my opinion UNITY is perfect solution. HTML5 is maybe good for advanced 2d animation but not good enough for highly interactive 3d games. Maybe it sounds strange, but I think that actually HTML5 has nothing to do with serious games development. It expands usage of browser capabilities and interactivity as such, but nothing more, and games creation is a kind of subset of this expansion. . Just look at it with a bit of common sense: is HTML5 a good environment for games development? Not, it is not.

  • November 29th 2012 at 11:30 am

    Interesting comment full of personal opinion and not one single fact. You’re absolutely wrong of course, but I can’t be bothered to explain why here, the evidence can be found in many places.

  • November 29th 2012 at 3:18 pm

    I can have only personal opinion, based on my experience with XCode/objective-c (Apple provide excellent tools for developers), OpenGL/C++, php, FLEX/FLASH BUILDER/ActionScript 3.0 (again, very nice development environment), and I really like GameMaker and UNITY, and all the languages and development environments are OK for 3d games development, and for games development in general. As I remember, 3-4y ago nobody was excited with usage of javascript/css for games development. Just compare ActionScript 3.0 with javascript, ActionScript 3.0 wins (again, this is my opinion as a programmer). Now, some people have no choice after what Adobe did with FLASH. I still prefer some solid, logic object oriented language, even if it is rather difficult at start, to a bit weird javascript. However, javascript is very useful language, no doubt about it. Because if they killed FLASH, what left? Probably universal solution doesn’t exist. There are too many big sharks ready to cut their part of this game industry cake to work out some useful standards. So probably the most important factor if you want to chose language/platform/etc for games dev is your personal preference. Use language you like most. This is my personal opinion.

  • November 29th 2012 at 9:28 pm

    I utterly loathe this elitest coder attitude that the *language* you use in some way has any impact on the quality of game you can make. It’s been proven wrong so many times it’s not even funny any more. The sooner people realise this, the sooner they can get back to what matters: making fun games.

  • January 30th 2013 at 7:03 pm

    About monetization: AIR (the “better” Flash version that also works on iOS) can use the native in-app purchases (http://www.adobe.com/devnet/air/articles/storekit-ane-ios.html) and iAds (http://www.adobe.com/devnet/air/articles/iad-ane-ios.html) APIs on iOS.

  • January 30th 2013 at 7:14 pm

    @Rich Actually, I would agree to separate 2D from 3D games because iOS (a non-neglectable marketshare) could handle a 2D game just fine in Canvas, but 3D would still be troublesome given Apple’s [weird] refusal to support WebGL officially except in iAds (and Canvas emulations of 3D can only go so far).

    However it’s good news that Chrome made things easier on Android in its latest beta, so we can hope Apple will finally change its mind sooner or later given they already do support WebGL using the private UIWebView.setWebGLEnabled API.

  • January 30th 2013 at 7:35 pm

    iOS can handle /some/ 2D games just fine via canvas, yes, but by no means all – and if you want to support iPad1 / iPhone3 generation hardware for example then you’re limited to qty. of sprites and scroll speeds even further. But I do agree that iOS still delivers the best overall html5 performance of all and is a joy to develop for compared to the fragmented mess that is Android.

    I just wish they’d hurry up and release WebGL properly. That will be the real game changer (wow I hate that phrase, but in this case it’s literally true!)

  • Vlambert
    February 8th 2013 at 8:27 am

    HTML 5 and Javascript sucks @$$. Ask any developer trying to create games with it. HTML 5 is like what Flash was 10 years ago.

    For that reason Flash will be there for a long long time, dude.

  • February 8th 2013 at 9:45 am

    This is just trolling so not worthy of a response, but it’s amusing all the same that these misconceptions still exist.

  • February 8th 2013 at 9:53 am

    @Vlambert You may want to check out Haxe then: all the benefits of AS3-style syntax and you can compile to multiple targets, including HTML5.

    However personally I’d go with AIR or HTML5 directly (depending on the constraints of the project at hand, both being valid choices), it just feels easier to debug although I might look more into TypesScript and CoffeScript if they might come in handy sometimes.

  • :dna
    February 28th 2013 at 6:38 pm

    funny is how everybody are talking so official… and careful and to be honest 90% just developers… fine. And how about designers the front line guys criticized every day by every “creative” client and manager because they dont understand programming but can say I dont like green and dots :) … and than … why is not glowing and spot on and trendy and HTML5 ? And the animation is just rubbish… ? For developer in the 90% of reality means – I dont mind give me instruction what that thing have to do and what he can easily say it is not possible or lazy :)) to do. Dot. For designer - in the flash environment in the comparison of editing animations for HTML5 in spritesheets ? I was doing this crap on 8bit C64! And not in 21 century !? And who ever is explaining this like a cool move... it is just best marketing ever started by Steve and etc... with own opinion and "strategy" ... but in the fact :) In the corporate area - where in the bank will run script ? Or any other bigger business for safety reasons was flash more elegant solution ( I dont take this crap about safety and performance anymore) and 95% on every computer … hmm not to mention about vector graphics and editor it self… :)) So for programmer – just changed syntax and style – for designer and his colorful managers/clients imagination just hell on earth :)) … not to mention about production time pain and no flexibility in html f`in 5 … sorry to disturb with my unprofessional designers cries

  • February 28th 2013 at 7:10 pm

    I think there was probably a logical argument buried somewhere in that wall of strange text. But I couldn’t find it :)

  • Lee
    April 6th 2013 at 12:19 am

    This is one of the best articles I’ve seen on flash and HTML. — There is no comparison! Flash still is the ONLY choice for game development.

    The flash development environment — creating your graphics, animations, in great vector quality — being able to just draw them on the stage. Animated gifs/pngs — would be such a step backwards.

    The simplicity of a “swf” a single file – compact, containing all asserts. — vs a folder of js code, wavs, and pngs. Ahh!!

    When game portals take your games from the big sites — most will just leave your ads, and backlinks in the swf — it’s not worth the hassle to decompile them. But with js – it’s so easy!

    I can make a game in a couple of hours – and have it on newgrounds with people playing it the same day. With HTML5 – I’d still be trying to work out why it was working in Firefox but not chrome.

    Lets just face it — apple killed flash for profits. Who would buy 99cent apps (which are mainly just flash game clones) — when they could play them online for free.

    They refused to have it on iPhones – claiming it would slow down the phones, the made flash player not work on macs — dispute it working perfect on windows. (And it’s not like adobe has no experience making mac software – photoshop being one of the main mac apps)

    Adobe should have continued with the mobile flash player – and apple users (which i am one) should just have carried on putting up without it.

    I am glad that people are no longer making sites in flash – sites should be made in HTML with js, CSS, — but seen as 90% of desktop owners have flash installed anyway — keep games made in flash!!

    So far I’ve seen nothing in HTML5 that couldn’t have looked better, ran faster, and been developed quicker if it had been made in flash.

    Am I a flash fan? No – I don’t like as3 more than I like JavaScript. It’s just code to me. I just like the simplicity and features. I’d move to html5 if it was real competition.

    If adobe do kill flash and replace it with html5 — and it offers the simplicity of a single design environment, a single complied file, and crisp vector images — then fine.

    Flash games started with bedroom coders – sharing their games. As2 made it harder — as3 made it harder again! The current html5 canvas and development would just put off all new coders.

    Ok – I’ll stop. I could rant all day about this. Just be glad you’re not sat in the pub with me ;-)

  • May 31st 2013 at 5:12 pm

    I’m really impressed along with your writing skills as well as with the layout for your blog. Is that this a paid subject matter or did you modify it yourself? Anyway keep up the nice quality writing, it’s uncommon to
    see a nice weblog like this one these days..

  • Mark Schronen
    February 4th 2014 at 10:01 am

    You can basically bring it down to some easy facts, but you will only understand it if you are a developer yourself and went through HTML5, Flash and Unity.

    HTML5 is no replacement for Flash and I doubt it ever will be. To get functions in HTML5 you need to use a lot of JS add-on, which is a pain in the a… and freezes most browsers when using more than 1 tab.

    Flash is Cutting-Edge. There are enough browser in the mobile market that supports flash to the top, so whatever a mobile provider is telling of support or non support, who cares. You make your mobile phone support it .. period.

    Unity is a Pain, not just for the developers, but also for the users. This often stated cross-platform support is a wishful thinking, compared to what flash offers. This non support of simplest web standards and file formats is a NO GO.

    If you have no money to get a good development environment, or you are relying to outsourced programmers, sure go with Unity. It will not cost you that much, if you want something reliable, do what the Big Players do, e.g. Facebook. Support Flash.

    Numbers don’t lie. I even doubt that Unity will exist for that long.

  • February 19th 2014 at 2:08 pm

    In answer to your question. No, flash games ain’t dead and they wont be for at least another 10 years when some of the other technologies such as HTML5 and Unity pick up the pace. But by then you can bet your hind legs there will be new technologies on the block that make it very easy for game devs to create them.

  • Ben L.
    May 19th 2014 at 12:48 am

    Going on kongregate now, I see that the 4th most played game is a unity game, with 33 million plays. Many of the top games are unity, in fact.

  • Rambaud Linalth
    August 11th 2014 at 7:08 am

    Its Aug 2014 and the Flash Player its still kiking every thing else so I don’t listen anymore to anyone saying that flash is dead.

Make yourself heard