They could have also included some technical parameters like framerate, memory consumption or battery usage for the sake of comparison.
Even if all browsers gain universal support for HTML5, we must remember that Flash can exist outside browsers. A lot of flash games are in circulation which are simply embedded inside Office documents. The actual Flash standalone runtime is only a few megabytes in size. Flash content is highly compressed and very efficiently packed.
In other words, the problem is not Flash per se, it is the Adobe runtime of Flash. Just like Google changed the browser game by introducing an extremely efficient browser, someone can (in theory) develop a mobile friendly, efficient (and open source) runtime. Flash format quite close to the ideal for games.
someone can (in theory) develop a mobile friendly, efficient (and open source) runtime
I don't think the format is documented to that level. And even if it is, it is very complex and hard to get right for other implementations (and it is a moving target controlled by one player, a bit like MS office formats).
And why bother? If you have the choice, why not go with HTML5 which already has some good and very fast free implementations available? Or as you're implementing your own environment anyway, go completely native?
> And why bother? If you have the choice, why not go with HTML5 which already has some good and very fast free implementations available?
Well, I think this demo kind of proves why not: it doesn't work the same way on everyones browser. We've been talking for years now about html5 games obsoleting flash, but it doesn't seem to be coming together does it? My opinion on why not? We've got some serious problems with the spec and the people producing the spec. Even with the infinite resources of google, the chrome browser is not actually 100% compliant! Is that even fixable at this late stage of the game?
> Or as you're implementing your own environment anyway, go completely native?
That doesn't really help you distribute your games safely over the web to multiple people. Also, cross platform development is actually quite time consuming and hard, and the performance benefeits vs a VM are not really worth it for the average 2D flash-type game.
> Well, I think this demo kind of proves why not: it doesn't work the same way on everyones browser.
Still, you are comparing this to flash, which has only one complete implementation at all which is only available on a subset of platforms and not open source. This number of platforms is decreasing, not increasing (ie, Android dropped).
> That doesn't really help you distribute your games safely over the web to multiple people.
Agreed, no one solved the problem of cross-platform application development (both desktop and mobile) yet. And flash doesn't succeed much, if any, better than HTML5 in this regard. But looking forward HTML5 looks more promising too me.
> Still, you are comparing this to flash, which has only one complete implementation at all which is only available on a subset of platforms and not open source. This number of platforms is decreasing, not increasing (ie, Android dropped).
Indeed, there are problems with both implementations. I'm not saying that flash is the way forward at all, just that I'm starting to doubt that html5 technologies can actually achieve on a technical level what flash has acheived in a reasonable time frame.
Ignoring ideological issues for the moment (which are important too, but we could be here all day) the major benefeit of html5 right now is that your games can run well on gnu/linux machines, on which flash performs terribly. Techinically you can also target smartphones/tablets, but the performance here is really quite bad on almost all devices. So there is this promise of true cross platform coverage that isn't really being acheived. The major downside is this browser incompatibility stuff we've already discussed that is really hampering the platform, and the performance issues, which also varies wildly with browsers.
> Agreed, no one solved the problem of cross-platform application development (both desktop and mobile) yet. And flash doesn't succeed much, if any, better than HTML5 in this regard. But looking forward HTML5 looks more promising too me.
We're in agreement here, except for that last part. Will html5 (or 6 or 10) actually ever live up to what has been promised? Or should we be betting on a 3rd player at this point?
> Still, you are comparing this to flash, which has only one complete implementation at all which is only available on a subset of platforms
Huh?
A flash swf or flash compiled app is available on _all_ platforms. We aren't talking Flash on the iPhone, this is Flash _compiled_ to native for the iPhone.
Haxe NME and Unity3D are similar in that they let you write once and deploy to many. They also in fact let you "deploy to flash". They do this because if you know your audience, you know you need to still support IE8 and while you get IE8 you also get IE7/6. Believe it or not businesses are locked into these horrible browsers. Going 100% HTML5 is cool and trendy but why would you elect to cut off a subset of your users (who you are trying to make $ off of)
Haxe and Adobe (not sure about Unity) are also allowing you to export to HTML5. This would be interesting if they compared performance with that.
We are all looking forward to HTML5 taking over, but we are far from that place right now.
> Haxe NME and Unity3D are similar in that they let you write once and deploy to many. They also in fact let you "deploy to flash".
I think you're distorting my argument a bit -- I wouldn't invest in developing new flash app or game, but if you can get flash support for free through "compile to flash" I don't see any reason for not supporting it as extra option.
As someone who built and maintained a large-scale Flex app for 5 years, none of Flash's advantages are worth the countless unpredictable difficulties you WILL encounter. It's not a stable platform. Move on.
Maybe the story is entirely different for games, but I can't see how it could be that different.
We were trying to build on a scale Flash just couldn't handle well, so in that sense, yes, we made a poor decision in going with the platform. But it looked good from the start, it was only after scaling that we ran into issues.
Even if it were to be documented, I imagine it would read something like:
"This API works exactly like this. Except when the user disables local storage. Oh wait, also not when the Flash version is 11.0.635.24.b. Well, also it's different if you don't have a security-inst-config.xml installed in the home directory of the user under the path .adobe/flash/securityPolicy. OH! Also it works completely differently if you're using HTTPS. And it won't work at all if you're trying to access any server without a security policy defined on the DNS TXT record third from the top. Also there are some slight issues between 3 and 5 PM GMT on Tuesdays, but a workaround can be found on the Macromedia support forums."
When comparing Flash and HTML5, Flash wins 4 out of the 5 criteria but the balance scales end up with them both equal.
Also, Flash gets a 0% for mobile browsers as new phones don't get Flash Player. I'm willing to be that a higher number of smart phones in use today have Flash Player installed (all but iOS and recent Android) than have a browser that supports all the HTML5 required for the game.
Flash fails to reach a large portion of the market, so Flash fails. HTML5 is the future. Also, this game (and many other flash experiences) crash my Flash plugin and take up more CPU usage than HTML5 video or canvas experiences.
I'm not really sure I could tell them apart in an ABX test. But it's not like the game is demanding in any way. The amount of sprites is way too low and they're all bitmaps. Furthermore, you don't need the webaudio api to playback an audio track and few effects concurrently, like this game does. Standard <audio> elements with the preload attribute work fine [1].
What I'd like to see is a comparison between 2D vector graphic performance of Flash compared to Web technologies as implemented in browsers. In my experience browsers are still very slow at that (without WebGL) while Flash had excellent performance for as long as I remember.
I tried this on slightly older hardware [1] running Linux Mint 13 x86_64 and here's what I found:
First, even scrolling the website itself was slow and jerky in Firefox 19.0. When I switched to Chromium 24.0.1312.56 the website scrolled nicely. The Flash version of the game ran somewhat choppily with Flash 11.0.1.152 and I could see distinct seams in the scrolling background [2]. However, it had sound and was overall playable. When I tried the HTML 5 version it ran smoothly but felt too fast (seemingly faster than the Flash version would have been with a good frame rate) and had no sound.
The total memory/CPU usage as reported by Chromium's task manager is higher with Flash [3]. Unfortunately, it doesn't report the frame rate for Flash.
Edit WRT the game's design: when I first played the game I went to grab a power-up and my ship apparently got enveloped in some sort of a bright and colourful energy ring. I couldn't tell whether that was a good thing that happened because I picked up the power-up or a bad thing caused by an encounter with a nearby enemy bullet. I had to watch the life counter in the top right until it happened again to know for sure that that's what it looks like when my ship explodes. The explosion looks bright, colourful and pretty, and it's not immediately clear it indicates failure.
Half the people here are just too dramatic about simple things. "My identity is sacred and my privacy is sacred". If you want to be private you already know what to do, first world problems man. Geez.
Sadly Firefox doesn't support the WebAudio API, only an older audio API. The WebAudio API was designed primarily by Google and is very nice. It's only supported by Chrome AFAIK. Last year at Google IO they had a talk about it. We use the API in our game, and it works great.
Nightly builds of Firefox are starting to get support for the Web Audio API, hidden behind a pref 'media.webaudio.enabled', which can be set in 'about:config'. At some point when it's considered more useable someone will blog about it and the state it's in.
It's certainly possible to play sounds in all modern browsers. It may be a bug in the game. Or they simply decided not to support all the APIs. We did that because it doesn't make sense to support two different sound APIs when in a few months there will be one as a W3C standard supported by the two major browser engines (screw IE, it doesn't even do WebGL).
First I thought it was HTML 5 and the best HTML 5 game I've ever seen, turned out it's Flash Stage3D stuff. It might be possible to develop games like this in HTML 5 but I haven't seen one yet.
As others have said, no sound on the HTML5 version.
There were some minor differences between the two that I found interesting. The HTML5 scrolling would occasionally stutter; however, the Flash version suffered from some slight alignment issues in the tiles.
Overall I was very impressed by the HTML5 version, the two were almost impossible to tell apart. I doubt (apart from the obvious audio issue) I would've known which was which if I hadn't been told beforehand.
I love the open approach to the technologies. I do all my game programming in Unity (which supports Flash deployment and will offer HTML5 as soon as its ready i bet) but im also looking into HTML5 and writing games in Javascript.
The website is also totally aswesome, you wrote you did it in flash ? Did you redo it in JS or convert it somehow ?
Tested on macmini 2009 (or 2006? the one without hdmi anyway , 2GB ram, Core2 T7200@2.00GHz, Intel 945GM onboard GPU >_< etc) running Debian wheezy and compton. Surprisingly html5 was the smoothest of the two, but with no sound. Conversely, sound was crisp but the game itself seriously 'choppier' (with regards to FPS) in Flash 11.2.202.258 .
I lost mouse focus a couple of times by moving the pointer out of the browser window in the HTML5 version which lead to multiple game deaths. This didn't happen with the flash version. Is there some technical barrier in browsers preventing complete mouse capturing?
Flash version is much better. Less CPU for me as well. I do native mobile/flash/html5 versions for games I make; the html5 versions rarely get any play time. People download native on iOS/Android and on Mac/Win they play the flash version.
1. Why does the airplane fly backwards?
2. Flash and HTML5 version shave different timings and different game-plays. HTML5 version seems to move faster but with more skipped frames.
Do you know they get the HTML5 version to be a full screen app that doesn't slide horizontally or vertically? I have been looking everywhere for how to do that in Safari.
Game ran like complete garbage in HTML5 (Firefox 19, Windows7 i7 2600, 12GB ram). It had a very low framerate, did not respond to mouse in a timely fashion and had no sound. Ran completely smooth and flawless in Flash. Isn't progress (HTML5) great.
You should check your FF extensions. I had a very smooth experience on a much older setup: FF19, OS X 10.7.5, Core2Duo 2.9GHz (MaxBookPro late 2008), 4GB RAM.
I found that the HTML5 version tracked my mouse cursor more smoothly then Flash.
As long as your users have the same problem as
goggles99, HTML5 will not be a technology to choose. It is more likely that they already have Flash installed, than being willing to "check their extensions".
BTW, HTML5 version runs really slow on my computer as well. FF1.9, Linux, Core2Duo 1.6GHz, 2GB RAM, while Flash one works flawlessly.
Your anecdotal experience says absolutely nothing about the progress of HTML5. Other folks with lesser setups aren't having the same issues as you (me included) so I suspect there is a problem with your rig.
For those who wonder the tech behind is PIXI.js and some good old TweenMax/TweenLite ( js version ). I wonder if they coded sprite movements by hand or used a tool for that though. I'm just glad they did not use adobe edge ;) And yes it does run in IE9.
1) No audio
2) If my mouse cursor moves off the window it loses control of the ship
Flash version has neither of these problems.
No idea why audio is broken. I tried a couple HTML5 audio test pages and it works there.
I'm using Chrome beta 26.0.1410.28 on both Windows 7 and OSX Lion, broken on both.
I didn't notice any other differences.