HTML5 Quake to Shake Up Flash

With all the hubbub surrounding the arrival of Apple’s new, consciously Flash™-less consumer good (you know the one), there has been a fresh flurry of discussion on that old chestnut — the relative merits of Flash vs HTML.

While much of the talk has been boringly polarized (Flash is God/Flash kills baby seals and/or kittens) the sensible middle ground view reads something like this:

Flash is far too often used to make simple, useful things less simple and less useful. HOWEVER … when it comes to the more complex graphics and interactions common in games and applications, HTML — 5 or otherwise — has its in-built limits. Flash has its place there.

That certainly would have been my take, but Googlites Ray Cromwell, Stefan Haustein and Joel Webber have just released a jaw-dropping ’20 percent project’ that makes you question whether HTML5 does have natural limitations.

Quake 2 in the browser

Incredibly, using mostly Google Web Toolkit (GWT), they’ve converted a Java port of id Software’s revered Quake 2 (Jake2) to run natively in Chrome and Safari – no plug-ins, extensions or third party tricks.

If GWT means nothing you, this is Google’s open source framework that allows them to develop stuff like Wave, Maps and GMail in Java, but deploy it in your browser in HTML, JavaScript and CSS.

The GWTQuake project uses:

  • The Canvas API as a foundation
  • HTML5 audio elements for sound
  • HTML5′s local storage for saving games and scores
  • HTML5 Web Sockets
  • WebGL- a JavaScript 3D graphics processing engine

Now I have to admit, with a publishing date of April 1st, I did wonder whether this was just an elaborate geek joke. Apparently not. You need some tech wherewithal to get this humming, but it’s no prank.

At the moment GWT doesn’t work on Firefox, but it sounds like this is chiefly due to Firefox’s comparatively slow JavaScript engine rather than any inherent lack of feature support. Currently there’s no word on whether GWT Quake runs on Opera, and IE is a conversation not worth starting until we at least get a proper version of IE9.

Obviously this is a pretty raw, geeky, proof-of-concept type project, but it certainly changes my perception of what is possible with HTML5.

Bring it on.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • W2ttsy

    Hopefully this will put some fire into Adobe’s flash dev squad and they will do something with the player instead of releasing new features. Adobe have suffered the same fate as MS, where they have a buggy product, but insist on adding new features and bloat instead of fixing the glaring issues that currently exist and have existed since the start.

  • Anon

    Where’s the tool for artists to create HTML5 animations like Flash has?
    Currently artists have to code in Javascript to create canvas animations???

  • http://www.sitepoint.com AlexW

    Where’s the tool for artists to create HTML5 animations like Flash has?

    No argument that it’s currently FAR, FAR EASIER to create something this like this in Flash.

    I think the ‘take-away’ here is that as long people know it’s technically feasible to create something this sophisticated, they will build tools to make it easier to do so. We’ve seen this with various iPhone app dev kits and frameworks.

    The thing is, this means you could offer fully-fledged games/apps to the iPhone/iPad without going through Apple’s approval process — No Appstore, no need to jailbreak!

    And let’s face it. THAT is the real reason there’s no Flash on iPhone/iPad.

    In the near future someone (Google?) could offer an entirely new app/games ecosystem via Safari. Maybe subscription based?

    That is huge.

  • http://www.brothercake.com/ brothercake

    THAT is the real reason there’s no Flash on iPhone/iPad.

    Absolutely it’s why!

    The thing I don’t understand, is where this is anything to do with HTML5? If Safari has these capabilities, why do you have to non-standard markup (ie. HTML5) to make it work? Can’t you do the same thing with the appropriate <object> types?

  • http://www.sitepoint.com AlexW

    Can’t you do the same thing with the appropriate types?

    There are probably a few reasons that come to my mind.

    I would imagine there ways to avoid HTML5 if that was a priority.

    However it seems to be GWT that took this idea from *possible* to quickly viable — apparently they only got the idea in December last year — and GWT seems to have a serious and ever-increasing HTML5 skew to it. They still had to code over a lot of gaps like WebGL, but from what they were saying, GWT did a lot of the legwork.

    But you’d know much better than I. How feasible would this be to do without the Toolkit? Could you do it in one day a week over 3 months or so?

    The other possible reason is — to some extent – marketing.

    With Youtube and other big sites making a racket about converting to HTML5, and of course Apple’s Flash Jihad, HTML5 has some mindshare — at least with a techie audience. A lot of people who aren’t totally across HTML5, still understand it’s being touted as an alternative to Flash.

    I guess using HTML5 just gives it a label to help people tag it in their heads.

  • Paul

    “No argument that it’s currently FAR, FAR EASIER to create something this like this in Flash. ”

    Actually… you cant create quake 2 in flash.. Sorry, not going to happen. Not even close. If it could have been done, it would have… It can not, know the limitations of your software. Flash has many.