Traditionally while programing online games, a developer has had to choose from a select few plug-in based solutions. Adobe Flash, being the most popular of these, has commanded the online gaming market for over a decade now. Nevertheless, it looks as though the web may be on the verge of a major change as the new HTML5 specification offers several advantages over the current plug-in based options. Several advantages and also a few disadvantages of using HTML5 for game development are outlined below.
Advantages of using HTML5
No Plug-ins Required: Plug-ins are little pieces of software that run in the background which allow other pieces of software to run. Plug-ins are small program snippets with a very narrow scope of functionality that “plug in” to a larger, more complex application to add a wider functionality. Let’s take an online flash game for an example. When you visit a site that features a game made in flash your browser cannot run the game directly, it actually runs the flash plug-in that in turn is responsible for rendering the game. HTML5 is native to the browser in which it runs and requires no plug-ins. An HTML5 game is run directly from the browser. This means no middle man. It also means no extra software to install, no annoying pop-ups asking the user to update or asking for permission to do this or that. Native run software is generally more stable, requires less resources, and tends to error/crash less.
Ease of Use: Ease of use is an important factor and cannot be overlooked. It is common sense that the easier an application is to use, the more end users there will be capable of using it. It is not very difficult for the more technically savvy user to install, update, and manage plug-ins. However, there are quite a few “technologically impaired” users out there who might find managing plug-ins either a bit over their heads, or not worth the time and effort.
Compatibility: The web is a big place with a great many devices, gadgets and platforms. Reaching game players on all of these different devices can be quite challenging. Plug-in based games will only work on devices that support the corresponding plug-ins since not all devices support all plug-ins. For example, many of the Apple gadgets do not support Flash. HTML, however, is supported by almost all web based devices. It is true that HTML5 is not currently universally supported, especially by older devices/browsers, but in the future it is very likely that all manufacturers and all browsers will include HTML5 support. This is a huge advantage for game developers as only one version of your game is needed. You do not have to program a special version for each and every platform you wish to target.
Local Storage: Cookies are good. Both the chocolate chip variant and the HTTP web based ones. However, browser based cookies do have their uses as well as their limits. For example, cookies can only be about 4 KB max in size and are difficult to access client side. The local storage offered by HTML5, however, will help address some of these limitations. Letting game developers have access to significant amount of persistent local storage on a clients system not only has a wide range of programmatic possibilities, but can also reduce load times and bandwidth usage.
Multiplayer Support: Websockets support is one of the most intriguing and promising technologies in the HTML5 basket. It allows two way real-time communication between the client and server. Probably the most significant thing this introduces for web game developers is quick and easy support for multiplayer games.
Cost: Many of the other proprietary options all tend to have a cost associated with them. HTML5 is free. Very free in-fact. No special IDE is needed; a simple text editor would suffice (although this would not be the most efficient way to go about it). The cost of a high-end plug-in developer suite may not be a big hurdle for larger game companies, but for the indie developer a low cost or free option could be a significant advantage.
Open Technology: Never underestimate the power of open technologies. People have a great track record of rallying support behind pretty much anything that is open source. Undoubtedly tons of websites, tools, communities, tutorials, and all sorts of other useful resources dedicated to HTML5 will be created in the coming months and years as the spec is implemented and becomes more widely used.
Disadvantages of HTML5
While HTML5 is a promising technology, there are some shortcomings that must be considered. Many of these are only temporary shortcoming and will disappear as this technology reaches maturity. All the same, it might be valuable to examine the cons listed before making any design choices for a project.
Partial and Inconsistent Implementation Across Browsers: HTML5 is still a very young technology. Full implementation is not expected for another 10 years. Browser makers so far have been incredibly fast at incorporating the new standard into their browsers, however the specification itself is still being defined. As such the whole technology is very much a work in progress. Supported features are inconsistent across the different browsers and subject to change.
Inconsistency Between Browsers:Browsers are made by different organizations, and while strict compliance to the HTML5 standard is the end goal, it is very likely that differences will exist in the various implementations. Traditionally these differences tend to be subtle, but they still tend to cause a lot of frustration at the developers end.
File Format Concerns: There are several concerns regarding which media file formats the HTML5 standard should recognize as universal. Patents and copyright issues seem to be the leading concern at the moment and even as this article is being written, there is still a debate on the topic. Due to this ongoing debate, not all formats are supported by all browsers and a developer has to include multiple version of a file in order to be compatible with all the major browsers.
Smaller Community: There are currently very few tools, frameworks, and resources for HTML5 as compared to the plug-in based options. As mentioned above, it is expected that this will change as publishers race to fill the gap, but for now, this could be a notable hindrance.
Limited Resources: With HTML5 it is true you are not using a plug-in, but you are still running inside a browser. This means that there is still at least one level of software between your game and the hardware. If you are making a higher end game that requires a lot of resources, and this may hamper performance. This is especially true if you are targeting phones and smaller mobile devices. These types devices often have very limited processing power and resources to begin with. A purely native application may be a better fit to squeeze out every last bit of performance available.
The Future of HTML5
Despite the above mentioned short-comings, HTML5 can still be an excellent choice for browser based games. Many developers have already recognized the advantages and have released all sorts of great games made with the new technology. Take a look at these HTML5 games and you be the judge. Many of them meet and even exceed the quality of typical flash games found on the web, all without the aid of any plug-ins.
Undoubtedly, the various plug-in based games that currently dominate the market will continue to do so for some time to come. However, things will only get better and easier for HTML5 game developers as additional tools, resources, and communities are created over the coming years. Browser makers will further refine their implementations of the spec and mature HTML5 game engines will be developed. Given these factors and all the advantages the new technology has to offer, it is predicted that more and more game developers will start choosing it. As HTML5 matures into its full potential, it is feasible that eventually it will not only displace Flash and the other plug-ins, but replace them entirely as the technology of choice for online gaming.
==== About the Author ====
Jarred Draney is a self-taught computer nerd who grew up in the western United States. He is not fond of working for the man, and is passionate about gaming, programing, web development, and online entrepreneurship. He is involved in a variety of web development projects and hopes that one day they will be his main source of income.