Main image of article Mozilla Firefox Gets HTML5 Savvy
Mozilla Firefox has been quietly chipping away at Google Chrome's position as the premier browser for HTML5 web games, with a faster release cycle and improved JavaScript engine.  On the website, where higher scores are better, Firefox 11 clocks a very respectable 335 score with 9 bonus points, putting it not far behind Chrome 17 with 374 and 13 bonus points. So it's not altogether surprising that Mozilla released a game experiment to promote Firefox's abilities. Browserquest is a lightweight HTML5 MMO which bears a quite remarkable similarity to the SNES classic Legend of Zelda, even though the graphics are new. It's not a full game and more of an experiment, but it has 20 missions for anyone to compete and it can apparently support thousands of players. There are three servers supporting up to 10 instances of the game world, with 100 players in each instance. If you look at the status page you can see how many of the instances are currently in use and how many players are on. When writing this I saw 1,546 in play but expect it to increase. The technology is what makes this interesting since it showcases many of the HTML5 features and works with many different browsers besides Firefox, including mobile compatibility. My iPhone Safari running on iOS 5.0.1 wouldn't play and kept coming up with an error message to enable local storage/cookies. Another iPhone browser Atomic Web didn't show the local storage error message but couldn't get past the "Enter Your name" screen. So it's not a great mobile experience but they did warn that mobile play was more experimental. These are the HTMl5 features used:
  • Canvas - for Drawing graphics.
  • Web workers to make the game experience smooth by offloading processing to different CPUs.
  • LocalStorage for saving game progress.
  • CSS3 Media Queries to work on different size devices.
  • HTML5 Audio. So you can hear my hero getting slaughtered by rats...many times!
The game server is written in JavaScript using the open source server library node.js. The full source code for the game client and server are both available on github, so it may yet grow into a more fully-fledged game. Still, it should certainly inspire many more developers to switch to HTML5.