Thus far, we’ve mainly seen the up and coming HTML5 web standard used for video. A bunch of Google engineers wanted to see what else HTML5 could do, and decided to try porting the classic first-person-shooter Quake 2. Lo and behold, they were successful — and they actually ended up surprising themselves with how well it ran.

HTML5 is the latest revision of HTML (HyperText Markup Language), the programming language that makes up most of the web. It’s being looked at as a challenger to Adobe Flash in many ways, since it allows for web animations and video without the use of a plugin. With this demonstration, these Google engineers also proved that HTML5 could be a legitimate threat to Flash’s stranglehold on online games.

Here’s what they did to bring Quake 2 to HTML5:

We started with the existing Jake2 Java port of the Quake II engine, then used the Google Web Toolkit (along with WebGL, WebSockets, and a lot of refactoring) to cross-compile it into Javascript. You can see the results in the video above — we were honestly a bit surprised when we saw it pushing over 30 frames per second on our laptops (your mileage may vary)!

While it may look choppy, take note that the WebGL standard is still in its infancy, and this demonstration is also likely running off of unoptimized code. That they’re already able to surpass 30 frames per second — which is often considered the bare minimum for a game to be playable — is an achievement.

GamesBeat Summit - It's a time of change in the game industry. Hosted online April 28-29.

If you’d like to build the game’s code and test it out yourself, you can find the project on Google Code. Since it’s making heavy use of HTML5, you will need to use a browser like Chrome or Safari. Firefox currently doesn’t support all HTML5 elements.