Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
First Person Shooters (Games) Google Quake Games

Google Gets Quake II Running In HTML5 258

Dr Herbert West writes "A trio of Google engineers have ported id Software's gib-filled first-person shooter Quake II to browsers — you know, for kicks — as a way to show just what HTML5-compatible web browsers are capable of. According to the developers, '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.' More details are available on one developer's blog, and installation instructions have been posted as well."
This discussion has been archived. No new comments can be posted.

Google Gets Quake II Running In HTML5

Comments Filter:
  • by TheRaven64 ( 641858 ) on Friday April 02, 2010 @03:08PM (#31709022) Journal
    I saw this running a couple of months ago when I visited Google London. The guy who wrote it said it ran in Chrome with no plugins, so I'd imagine that you'd just go to the page and view it, although you'd need to grab the resources from a real Q2 install or demo. It's a nice tech demo, but on his modern multi-core machine it ran about as fast as Quake 2 ran on my old P166. It's one of those hacks that is cool because it's deeply wrong, not something that is in any way sensible.
  • Re:Innovation (Score:5, Interesting)

    by FreonTrip ( 694097 ) <freontrip@gmUMLAUTail.com minus punct> on Friday April 02, 2010 @03:22PM (#31709152)
    Um, dude? I know this certifies me as Gamer Grandpa, but you were unlikely to see a solid 30 fps in Quake II with the software renderer on less than a Pentium 166. Behold the miracles of the (many, many) layers of browser abstraction in action. Or perhaps inaction...
  • by mrspecialhead ( 211339 ) on Friday April 02, 2010 @03:58PM (#31709430)

    It may be hard to understand the significance of this if you are not immersed in the hell that is web front-end engineering. Javascript in isolation is not as bad a language as people make it out to be, but supporting common browsers and fixing all bugs as you're writing it is terrible. It is an incredibly hostile development environment.

    The dream, from a developer's perspective, is this: In 3-5 years (this is the dream part given how fast the web changes), Javascript is an assembly language. You don't write it unless you really need to dig down to the "bare metal" of the browser itself. You compile to it from your language of choice. Your compiler spits out Javascript and any HTML/CSS containers required to skin your app and allow it to render in the browser. Your application can be linked to and run directly in the browser with no Flash, no Unity3d, no JavaFX, no plugins or installation required.

    That no plugins are required is incredibly significant from the perspective of a company trying to distribute a product to as many people as they can, as cheaply as they can. Losing 20% of potential users because you required an installation of them is unacceptable--this increases your marketing costs by at least 25% and dampens the spread of your application via word of mouth, email, Facebook sharing, or whatever viral channels you happen to be using. This is why new 3D browser plugins are not succeeding. Unless it's Flash, no one has the plugin you need and you can't get them to install it reliably enough.

    As someone who is frequently made miserable by having to support stupid browser oddities, I would kill to be able to write an application in Python, C#, or Java and know that I can compile to a package supported by >90% of people on the web. Yes, running complex stuff in Javascript is slow. But as seen in Chrome and Firefox, it's getting faster. Much like writing in assembly versus higher-level languages, writing Javascript directly will always be faster than compiling from another language. But at what cost to your time and sanity?

    In 2010, my real options for rich content on the web are (1) Javascript/Browser Support Hell and (2) write a Flash application instead. That #1 is so miserable is one of many reasons for Flash's continuing success. The dream shown by this demo and others is that we will get a real Option 3.

  • by TheRaven64 ( 641858 ) on Friday April 02, 2010 @04:19PM (#31709578) Journal
    I don't see how WebGL is a Flash replacement, given that Flash is a 2D platform. JavaScript + Canvas or SVG gives you the 2D stuff, without WebGL. WebGL is aimed squarely at things that Flash can't do.
  • by icebraining ( 1313345 ) on Friday April 02, 2010 @04:49PM (#31709818) Homepage

    Tried Pyjamas [pyjs.org]?

  • by am 2k ( 217885 ) on Friday April 02, 2010 @05:09PM (#31709972) Homepage

    Uh, those are the instructions for running the server. You don't need any plugin for the web browser.

    I guess they don't want to handle the bandwidth required for letting thousands play Quake 2 over their link (legal questions aside).

  • by mrspecialhead ( 211339 ) on Friday April 02, 2010 @05:29PM (#31710138)

    Yep, I've experimented with pyjs and with GWT itself. This and other similar projects are incredibly exciting. The missing link for rich content is being able to reliably do with the resultant browser code what an standalone game can do with its graphics/sound/IO libraries. Widespread HTML5 adoption plus a good framework to support using it would hopefully get us all the way there. I can't wait, personally. Thanks for the link.

  • by RAMMS+EIN ( 578166 ) on Friday April 02, 2010 @05:43PM (#31710228) Homepage Journal

    ``In other words, goodbye Flash and Java applets. And die already.''

    Personally, I'd much rather have had a good, efficient, open-source plugin for interactive multimedia, based on open standards.

    Yes, it's nice that we can emulate that with existing web standards, but, really, why has nobody actually built a good platform specifically tailored for the things we're now using JavaScript, HTML, and HTTP for? Java was close, but too bulky. Flash was great, but proprietary. AJAX is open, but horrible from a technical point of view. Silverlight, I don't know about the technology, but it's basically Microsoft's also-ran. What else have we got, and why is it that no project seems to have gotten it right _and_ taken off, whereas so many things that have taken off haven't gotten it right?

  • by TwinkieStix ( 571736 ) on Friday April 02, 2010 @07:29PM (#31711144) Homepage

    I agree that Javascript is quickly becoming an assembly language. GWT (the tooling Google used to get Quake running in Javascript) is exactly that. Java code is compiled to "native" Javascript.

    Although, what you say about browser oddities is largely irrelevant with the usage of toolkits like jQuery, Prototype, Dojo, etc. Instead of targeting the Javascript DOM API, you target your toolkit's API. The DOM API is the part that differs between browsers, except for a few very rare cases. Targeting a toolkit's API is a thinner way to abstract the differences between browsers instead of inheriting the overhead of compiling one language to another before running against a machine. For instance, managing C++ pointers in a language with built in garbage collection is probably not the most performant process.

    Additionally, there is a subset of the actual language that some consider the "good part" from which you can also target at the language level. This is a great book about how to do that:
    http://oreilly.com/catalog/9780596517748 [oreilly.com]

"I've seen it. It's rubbish." -- Marvin the Paranoid Android

Working...