Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
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:
  • If this is so cool as described, why do I need installation instructions? Shouldn't it just run in Chrome or Safari?

    Now it's time to go RTFA.
    • by pavon (30274) on Friday April 02, 2010 @02:02PM (#31708966)

      From the project FAQ [google.com]:

      We are as yet unable to provide a public demo link. The Quake II code is GPL licensed, but the demo resources (textures, models, sounds, et al) are not, so we cannot simply upload them to a server. We are pursuing legitimate avenues to do so, though -- stay tuned.

      • There's GOT to be some good levels, characters, weapons available under Creative Commons. How about stealing some from OpenArena?

        • I think you'll have a hard time finding a level that doesn't use even a single of the original game assets.

          • Not hard, if you're willing to go to Quake3 games -- Nexuiz, OpenArena, Tremulous, World of Padman...

            The question is whether those can be backported to Quake2.

    • by TheRaven64 (641858) on Friday April 02, 2010 @02: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.
      • by dAzED1 (33635)

        It's one of those hacks that is cool because it's deeply wrong, not something that is in any way sensible.

        You apparently don't fully understand the bane on existence that flash is. The POC is as a flash replacement, not as a platform for replacing your xbox/ps3/wii.

        • by TheRaven64 (641858) on Friday April 02, 2010 @03: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 am 2k (217885)

            Still, OpenGL/WebGL is pretty well suited for pixel-based 2D stuff too.

        • by Sancho (17056) *

          Flash sucks, no doubt. But the development tools are great. That's where Flash really shines--any idiot can build a flash game.

          When there are tools to easily build JS+Canvas+Websockets+audio+HTML5, then you may see the beginning of the end of Flash.

    • by cduffy (652) <charles+slashdot@dyfis.net> on Friday April 02, 2010 @02:13PM (#31709086)

      Also, it presently needs a dev version of chrome started with a command line parameter that disables some sandboxing features.

  • The most recent Jake2 release was comparable and faster in some situations than the native C version.

    I wonder how the javascript version stacks up to the Java and C versions.

    • Re: (Score:3, Informative)

      by binarylarry (1338699)

      Oh, Jake2 benchmarks: http://bytonic.de/html/benchmarks.html [bytonic.de]

      • by MobyDisk (75490)

        That graph compares "original C code" to a Java version using jogl. Does the original C version of Quake use OpenGL or software rendering? If they are comparing software-rendered C to OpenGL accelerated Java, that's a silly comparison. Or am I mistaken about the original C version?

        • The benchmarks are against the hardware accelerated OpenGL path of Quake2.

          I agree, benchmarking the C software renderer against a hardware accelerated Java renderer would be a joke. :)

  • Since I can already play QuakeLive in a browser, I probably won't get too excited about Q2.
    • by iYk6 (1425255) on Friday April 02, 2010 @02:41PM (#31709302)

      No you can't. QuakeLive requires a "browser plugin" which defeats the whole point of playing in a browser. You don't get any of the advantages, like sandboxing, cross-platform, or no installation required.

      This article is about running Quake in a browser, which is pretty dang cool, if not really practical. Also, it's not really about Quake or FPS so much as HTML5.

      Urban Terror was a good suggestion. They probably could have gotten permission to distribute it if they asked. I would have suggested OpenQuartz, which is GPL. It's only half a level, but that's plenty for a demo.

      • Also, it's not really about Quake or FPS so much as HTML5.

        No, in fact this is almost ANTI HTML5.

        The only HTML5 here is the final rendering is occuring in an HTML5 Canvas. This is NOT HTML5 and this is not truly running the game in a browser as you suggest as it is relying on WebGL and other libraries to produce a final render to the HTML5 Canvas.

        If this was an HTML5 demonstration, it would be using PNGs, SVG, and CSS to create the game not just rendering to a square HTML5 canvas element.

        On Windows Vista or Windows7, I could write code in a couple of minutes using

        • by SanityInAnarchy (655584) <ninja@slaphack.com> on Friday April 02, 2010 @08:11PM (#31711854) Journal

          WebGL and other libraries

          WebGL isn't a library, it's a binding. It does bind to native OpenGL (if the browser supports that), and while it may not be strictly HTML5, it is in line with the HTML5 goals -- to make the browser itself the platform, without relying on plugins.

          If this was an HTML5 demonstration, it would be using PNGs, SVG, and CSS to create the game

          Fair enough, though that would be much slower.

          Wow, almost as impressive as using activex rendering DirectX content that we first saw in the freaking 1990s.

          Yes, because ActiveX is a nice, cross-platform standard with multiple open source implementations... Oh wait.

          Read that again until it sinks in, by the way.

          Cross-platform -- WebGL runs on Windows, Linux, and OS X, at the very least, and likely on the iPhone. Your attempt to pretend this is a Google-vs-the-world thing falls flat.

          Standard -- WebGL is managed by Khronos, who maintains OpenGL itself -- the working group includes Apple, Google, Mozilla, and Opera.

          Multiple open-source implementations -- Firefox and Chromium both support it in some dev build or other. That also means Gecko and Webkit, which means dozens of other browsers.

          WebGL embedded in a browser or used as a plug-in is NOT the browser's rendering engine doing the work.

          So what?

          And for what it's worth, it is useful that it ends up on a Canvas. Unless I'm mistaken, that means it is composited with the rest of the document, meaning you could (for example) draw your HUD using standard HTML and only use the GL for the 3D. Please explain why this is a bad thing.

  • This is what Quake Live should have been!
  • by Anonymous Coward

    It doesn't count if it can't play Doom

    • by antdude (79039)

      DOOM FTW. It is my favorite id Software game (Wolfenstein 3D is second) and one of my favorite computer games.

  • Does it run Crysis?
  • The thing that is killing my old iBook G4 are the bloody Flash games that my wife wants to run on it. The thing is still perfectly capable of doing most stuff but Flash is such a resource hog and the OS X version of Flash so poorly optimised, especially since they released Flash 10 for Mac which made the PPC performance much worse. I'm tempted to get an iPad but the lack of Flash would upset her indoors but I think lack of Flash is a bonus. Anyway, if all these Flash game writers started porting over to

    • Re: (Score:3, Insightful)

      by Firehawke (50498)

      Simply isn't going to happen until someone writes a development environment on par with Flash's, which doesn't seem to be happening any time soon. Chicken and egg problem. There's no interest in moving off Flash until the tools are there and nobody wants to write tools until there's interest in them.

      • by Moochman (54872)

        Well the lack of tools is certainly a gap in the market that some party could cash in on right now with a pretty big payoff long-run.

        This makes it look like GWT is becoming a candidate. Also based on some of the assertions made recently by Adobe in the vein of "we're in the creative tools business, not the technologies business" I think they may jump on board the HTML5 train soon as well.

    • The thing that is killing my old iBook G4 are the bloody Flash games that my wife wants to run on it. The thing is still perfectly capable of doing most stuff but Flash is such a resource hog and the OS X version of Flash so poorly optimised, especially since they released Flash 10 for Mac which made the PPC performance much worse. I'm tempted to get an iPad but the lack of Flash would upset her indoors but I think lack of Flash is a bonus. Anyway, if all these Flash game writers started porting over to HTM

  • I wonder if a browser game like this would work if you saved the page for offline access.

    • I'm not sure about android and chrome, but in the iPhone + Safari, there is away to make your web apps downloadable and useable offline.

  • by mrspecialhead (211339) on Friday April 02, 2010 @02: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.

    • Let me guess: you're John Dvorak... ?

    • Re: (Score:3, Interesting)

      by icebraining (1313345)

      Tried Pyjamas [pyjs.org]?

    • by Khalid (31037)

      This is exactly how ZK Framework and GWT work, you just write you programs in Java and they generate Javascript for you while taking into account browsers incompatiblities and indeed I believe it's the future if Web development.

    • Re: (Score:3, Interesting)

      by TwinkieStix (571736)

      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

  • I don't know why some knee-jerks tagged this article as "Java". It's not running on Java. It uses JavaScript. It doesn't use Flash either. It's pure browser code.

    Also read this part of the developers' blog post:

    What this means for the Web

    For years, people have assumed the browser was a poor platform for this kind of thing, and that you'd need something like Flash, Silverlight, JavaFX, or native code. While it is true that you should not expect the browser to rival triple-A titles like Far Cry or Call of Du

    • Re: (Score:3, Interesting)

      by RAMMS+EIN (578166)

      ``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 techn

    • What part of the linked articles mentioning Google Web Toolkit did you miss?

      GWT translates source code in Java to html and js. In this case Jake2 is written in Java, and has been massaged into GWT friendly code.

      Hence the 'Java' tag.

  • And this, my friends, is why something like the iPad is going to take off ... big time.

    Google is really pushing this "browser as a platform" concept to the limit. Now imagine a "GooglePad" or a "ChomePad" or something which does nothing but browse the web. You click on a link and within seconds you're gaming at 60fps. Control-scheme aside, I think this concept will be succesful.

    MMORPG in a browser, anyone?


  • I hate how people who should know better assume that everybody runs the same Linux distro that they do and fail to write HOWTO instructions intended for a wide audience in a generic manner.

    At http://maximumhoyt.blogspot.com/2010/04/quake2-in-browser-in-mandriva-2010.html [blogspot.com] there are Mandriva-ized abbreviated instructions which are useful if you use Mandriva (or a Mandriva derivative) and want to try this out as well.

    But I do have an error and Quake2 won't display (I get an Aw, Snap! in Chrome), so any feedbac

  • Has anyone invoked this meme yet? I don't see it. It's relevant in this case because we really are seeing stuff that used to be native code done in the browser. If there's not a C->Javascript translator already then soon there will be. Google's native client can run compiled code. It's starting to look like we can expect a Linux kernel running in a web browser in the next few years. Not obviously that useful but would be cool and you can bet that people will find things to use it for ...

  • I like a good fps as much as the next guy. I really do, I'm an Urban Terror junkie. It's quake 3 tech, but very similar gameplay. However, it seems like we could have better uses for this technology:

    http://slashdot.org/comments.pl?sid=1588910&cid=31546834&art_pos=5&art_pos=5 [slashdot.org]

  • So now, we can use Quake to benchmark browsers, instead of Acid2 or some Javascript libraries. Yay !

  • Looking at their web page, you can't run it in a browser from the web, or by downloading it. You have to download it and build it, and people are reporting all kinds of problems getting it to work.

    What's actually going on behind the curtain?

After Goliath's defeat, giants ceased to command respect. - Freeman Dyson