Sign in to follow this  

Browser game development: Flash or HTML5?

This topic is 1075 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've started developing some browser games to increase my skills at game development and while I know this topic is largely subjective, is it a better choice to use Flash or HTML5/Javascript? I have been writing my current game in Javascript using Phaser and although all I hear is how flash is dying and HTML5 is the new king etc. It doesn't seem that much in the gaming world. On hosting sites like Kongregate for example, there seems to be about 50 Flash games for every HTML5 game. If I were to develop games with the intention of uploading them to sites like this, what would be the better choice?

Share this post


Link to post
Share on other sites

If your intention is to upload to those sort of portals it really mostly comes down to your personal preference; which are you more comfortable with?

 

Is there anything particular about your game that might make it more or less well suited to either option?  (Example: non-trivial audio can be tricky in HTML5 (although there are solutions available)).

 

 

What's your plan (if any) to monetize?  Some advertisers only support Flash or only support HTML5, sponsorships can be less common for HTML5, etc.

 

Flash is becoming less common on mobile devices if you want to support those.

Share this post


Link to post
Share on other sites
If Kongregate supports both HTML5 and Flash, as you indicated, why does it matter in any way whether more of them are in Flash or HTML5? You're making your own game right now, not making their game back when their games were first designed; their technology choices are their problem, not yours.

Share this post


Link to post
Share on other sites

The reason there are so many Flash games on Kongregate is because it has been around for so long and there are so many Flash developers.   This is not a reason for you to choose it to develop a new game in.
 

As you say Flash is a dead or slowly dying technology.  Stick with HTML5 since that is the technology that you are already used to using.  One other advantage of HTML5 is that you could also get your games to run in mobile browsers too.
There are disadvantages to HTML5 but there are far more advantages.

Share this post


Link to post
Share on other sites

Buster2000 made the point: mobile browsers: tablets and smartphones. There is no Flash in these devices.

 

In the next decade more than 4 billion people will connect to Internet, mainly with low cost smartphones. And 40% of them will play games. They will not be able to play Flash games in their devices.

 

Have a look at this article in gamesauce http://gamesauce.org/news/2014/08/11/the-new-game-developer-challenge-designing-for-the-next-4-billion-internet-consumers

 

And I totally agree with that 

 

 

There are disadvantages to HTML5 but there are far more advantages.

Share this post


Link to post
Share on other sites

When you send a package through UPS or FedEx, they use a combination of methods to deliver your package -- trucks, airplanes, boats, as well as carrying it by hand.

 

If you want to deliver a creative project, with the highest level of quality and to the widest audience possible, there is no one method (similar to sending a package) that is going to be best for you.

 

If the user has Flash Player installed, it is a great platform for delivering games, in my opinion, it is more consistent than HTML5 in terms of quality. The other posters are right in saying that Flash Player is not available on most mobile devices. It is becoming increasingly normal to work without plugins. This is where HTML5 wins by default.

 

Personally, I would recommend something like OpenFL or Flambe, which compile to both Flash and HTML5.

Share this post


Link to post
Share on other sites

If you are interested in using Phaser, you may also consider using HaxeFlixel, PhotonStorm was a long-time user of the Flash Flixel framework before he decided to port it to HTML5 as Phaser. Similarly, HaxeFlixel is an evolution of Flixel, supporting native Windows, Mac, Linux, iOS, Android, BlackBerry as well as Flash and HTML5

Share this post


Link to post
Share on other sites

The future of the web is increasingly plugin free, with HTML5 subsuming all the multimedia capabilities that flash once provided. Flash continues to live on as a standalone player and as a plugin for those places its still supported, and its tooling also lives on, able to publish to flash and, I think, to HTML5 in a limited fashion -- over time, the HTML5 publishing will become more feature-complete. That's important because while flash first made certain client-side multimedia practical, the real value for developers was in the tooling.

 

That said, HTML5 still faces some hurdles at the moment. Audio--not just simple latency-tolerant sounds and music, but actual, low-latency, mixed audio--remains to be one hole that needs to be filled across browsers. In fact, some HTML5 web games use a Flash-shim just for audio and/or fall back to a lower-quality audio experience when a better option is not available. However, the Web Audio API is hopefully on its way to solving this problem, it recently gained broad support in all major modern browsers except IE, however Microsoft has announced that they plan to support it in a future version of IE, likely IE12. I think that will mostly have caught HTML5 up to Flash, and from there things can only get better.

Share this post


Link to post
Share on other sites


I think that will mostly have caught HTML5 up to Flash
For the desktop, perhaps.

 

On mobile devices HTML5 is still a slideshow on most devices. It is also prone to running out of memory as the devices do not provide gigabytes of virtual memory to processes.

Share this post


Link to post
Share on other sites

 


I think that will mostly have caught HTML5 up to Flash
For the desktop, perhaps.

 

On mobile devices HTML5 is still a slideshow on most devices. It is also prone to running out of memory as the devices do not provide gigabytes of virtual memory to processes.

 

 

 

Yeah, frankly HTML5 games on mobile, not wrapped in an application package anyways, are pretty much a gong show.

 

Oh, and I am not active in this space, but previous things I have read on the subject say for sponsered/browser games, even with the rise of HTML5, 80-90% of revenue is from Flash.  Obviously over time this is going to change, but as it stands today, browser games earning money are Flash based.

Share this post


Link to post
Share on other sites

Since it seems pretty clear that HTML5 is the better technology to use going forward, does anyone know of any good development tools/environments for game development in HTML5? One of the things that was initially drawing me to Flash was the wealth of development tools available that make game programming intuitive (and Adobe's own Gaming SDK). Since HTML5 is still relatively new, there doesn't seem to be much in the way of development environments and the JavaScript language (in my opinion) is just not well suited to game programming or development of large applications in general. At the moment I am currently working with the basics such as a text editor, Chrome's debugger, and IIS. While it works, more sophisticated tools (for debugging especially) aimed towards application development would be nice.

Share this post


Link to post
Share on other sites

If you are interested in using Phaser, you may also consider using HaxeFlixel, PhotonStorm was a long-time user of the Flash Flixel framework before he decided to port it to HTML5 as Phaser. Similarly, HaxeFlixel is an evolution of Flixel, supporting native Windows, Mac, Linux, iOS, Android, BlackBerry as well as Flash and HTML5

I have heard a lot about Haxe and it definitely sounds interesting. I remember hearing that the developer of Papers, Please reportedly wrote that game in Haxe. Is the language better suited to modular development than JavaScript?

Share this post


Link to post
Share on other sites

Papers, Please was developed in Haxe.

 

I personally feel that it is good for modular code. There are many language features (some awesome for everyday, some are better for that "one time" you really need them) that makes it simpler for me to control how my code relates, and how it outputs. Haxe has a tool called "haxelib" which helps you install libraries of Haxe code, which makes it simple to share code with others, or plug in someone's library. With dead-code elimination, only the code you use is compiled your final JavaScript.

 

This is somewhat anecdotal, but this is a post someone made recently that made Hacker News. They were comparing the performance for a video decoder, using Dart, asm.js, Flash, native C++ and Haxe to JavaScript, it was pretty interesting: http://www.infognition.com/blog/2014/comparing_flash_haxe_dart_asmjs_and_cpp.html

 

The native debugging depends on the target platform. If you use the Flash target, the standard Flash debugger and Adobe Scout all work. When you go to JavaScript, there is something called "source mapping" which helps debugging match back to your original source. This is supported in Chrome and Firefox. It's the same tools you would use for regular HTML5 debugging.

Share this post


Link to post
Share on other sites

HTML5 is highly advertised technology and very hyped, but essentially it is in evolving state right now. It is not mature or stable in any way. They promised all of the Flash capabilities but good luck to see decent HTML5 games made by hobbyists (Zombotron says hi). Technology is not mature at all. A lot of browsers have issues with basic HTML5 stuff, even with Canvas, which were introduced several years ago. The situation is especially sad on smartphones, where you can only play very basic games in browser (think three in a row genre without fancy effects, poker with dozen bitmaps and so on). Anything more complex than that will kill the battery and will be rendered like a slideshow. Someone mentioned low-end devices here? Yeah, sure...

 

However, if we are talking about Flash technology, it is still much more performant and stable than HTML5. Asm.js may change this, but I don't see this technology being active on smartphones for 1-2 years. Not to mention that you can wrap all of your Flash games into AIR applications, which can be freely run on any mobile device with ARMv7+ if I recall right. And you can do it right now with almost no restriction on fancy effects and mechanics. Especially considering the fact that AIR applications can utilize the power of mobile GPU, which is more performant and battery-friendly.

Edited by GuardianX

Share this post


Link to post
Share on other sites

This topic is 1075 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this