

The H prepares to enter the BrowserQuest sands, passing the HTML5 guards.

Mozilla has launched a demo of an online roleplaying game that runs completely within a web browser. BrowserQuest, a homage to classic video games, was created by the French developers at Little Workshop and is completely based on HTML5 and JavaScript. It can be played on computers with Firefox or Chrome – or Opera, if WebSockets are activated. The developers say that it is also compatible with iOS and Firefox for Android.

The creators of Browserquest say that it can be played by thousands of users at a time, spread out over the game's various worlds. A few hours after launch, however, the system doesn't seem quite able to handle such a high level of interest; the game takes a while to load, if it manages to at all, even though a status page says that only a few hundred players are active.

Players in Browserquest can chat with other users as they complete tasks. They can also see how many people are currently exploring the game world. These other players can be observed but not attacked. The game also include homages to games like Portal and references to well known meme's such as "like a boss" and Nyan Cat.

The game is intended to demonstrate what the WebSockets network protocol can already achieve. The developers explain that as soon as the game is started, the browser creates a connection with one of the servers via WebSockets. Each of these four servers is the host of multiple game worlds and synchronises player data. Two other servers are dedicated to serving only the static assets of the game.The game's server is written in JavaScript and runs on node.js.

Beyond WebSockets, the game client also makes use of HTML5 Canvas for the 2D tiling, Web Workers for background processing, localStorage to retain the state of the player, CSS Media queries to help resize the game as appropriate for a device and HTML5 audio. This makes the code an excellent source of information on the practical application of these various technologies. All of the project's source code is available on Github. The licence for the code and assets is currently unknown, though expected to be open source, as it has not been added to the Github repository; an issue has been raised and currently the response is "The licensing information will be updated in the next few days".

(djwm)