Google Gets Quake II Running In HTML5
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 is really cool and awesome, but why would I wan't to run this on my browser?
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.
Where can I try it out online?
Wasn't this posted yesterday?
we were honestly a bit surprised when we saw it pushing over 30 frames per second on our laptops
Holy shit! Quake II hasn't seem frame rates like that since the 486! No matter how fast computers get programmers will always find a way to slow down their programs.
Capable of further dragging us down as we fall into ever more inefficient programming paradigms.
Lovely.
From the project FAQ:
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.
Is this a demonstration of how far browser tech is now, or how far browser games are behind on native application?
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.
Mod me down, my New Earth Global Warmingist friends!
Why Safari and not Chrome?
admit it
The purpose of something like this is to push the boundaries of what can be done in web development as a means of determining where it falls short, and what needs to be done to allow efficient practical applications in the future.
Since I can already play QuakeLive in a browser, I probably won't get too excited about Q2.
This is what Quake Live should have been!
It doesn't count if it can't play Doom
This is exactly the kind of thing to create a new need for progress in computing. Remember when quake1 came out? We didn't have 3D acceleration in the consumer PC market.
Does it run Crysis?
'We are trying to prove ourselves wrong as quickly as possible, because only in that way can we find progress.' RPF
.NET has changed significantly over the past 6 years, can the same be said for Java?
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.
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 HTML5 once it is finalised then the lack of Flash will not be an issue. Oh, and Steve Jobs will have done us all a great service in releasing the iPad without Flash and ending it's tyrannical reign.
"I have the attention span of a strobe lit goldfish, please get to the point quickly!"
I wonder if a browser game like this would work if you saved the page for offline access.
The truth is, Apple should get the credit for this. After all, if not for the iPod's brave refusal to use Flash, these Google employees would NEVER have wasted their time on this.
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.
The iPad doesn't support Flash, but it does support HTML5 , so we can totally Quake II on the iPad... because you know we can... and have lots of money and free time.
There's GOT to be some good levels, characters, weapons available under Creative Commons. How about stealing some from OpenArena?
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
...and Sergey asked of them: "What is that you have so much of on your hands?" and in unison and with a great shout they cried out "TIME!". And Sergey said to them: "You shall take the shootem, not from the land of ego, but from the land of id, and you shall polish it till it shines on the chrome, and you shall take it on safari, and you shall make it follow the law of web compliance. And they went to the land of id which was the place of doom, and took it with them and fit it to the chrome, and took it on safari and they even had the firey fox following after them, for even the fox sought compliance under the web law. But there was no exploder in their midst, for they were not seekers of the web law but kept to their own and wouldn't listen to any other. And they showed it the the netizens present at the dotted slash, and they said behold, look what the Googlers have done with the doom from the land of id, and they marveled at it and karma was burned and even from Soviet Russia they were proclaimed as new overlords.
I can run Doom on my SATNAV. This is way cooler, means I will be able to run it on my netbook with ease.
If it has to be installed then its not running in the browser.
If it has to be installed we don't need no sticking browser.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
the age old question of how does it apply in practice: "COOL! But how do I game on it?"
*sighs nostalgically for when the most annoying, distracting thing a web designer could put on their page was a blink tag*
I can't speak for Quake, but plenty of DOS based software ran a lot faster faster on my 100 MHz 486-DX than on a similar spec Pentium. Animator Pro did 2x screen averaging SEVENTEEN TIMES FASTER. It depends what hardware a program is optimized for.
PS XTree Gold was much faster on a 286 than any file manager on a Pentium or later.
Soon we will have advertisements and website navigation "taking advantage" of these capabilities. At least now some of the crap can be filtered by just filtering out flash.
Don't tell me how kickass your HTML5 app is when it won't work out of the box in my HTML5 capable browser.
You wouldn't have to install anything, hypothetically. It's just because they can't release the graphics that you have to. If you install this now on a server, you can point to it from any (HTML5) browser on any other computer without installing anything.
Of course, that's assuming it's not an April Fools joke . . .
A trio of Google engineers have ported id Software's gib-filled first-person shooter Quake II to browsers
Google tells me it's a castrated tomcat or crystal meth. Are these things really in Quake II?
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).
I played the original Quake on a 486/66 DX2. It ran at about 2 fps. I went back to playing Duke Nukem 3D and never looked back.
I too wish that I could play Duke Nukem forever.
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 Duty in the browser, there is no reason why lots of casual games that used to be implemented in Flash, or are now implemented in Objective-C on the iPhone/iPad can't be done using similar techniques we've used.
In other words, goodbye Flash and Java applets. And die already.
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?
Y
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 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 feedback will be appreciated.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
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
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Flash 10 noticeably improved the performance on my old G4 DP 1.25. What you're saying honestly reads more like FUD, as it doesn't add up. Prior to my Intel MacBook Pros, I had Titanium 1Ghz Powerbooks and they ran Flash content -- like games - well enough for the most part.
Here, try a few HTML 5 examples, they runs MUCH slower on a Mac than the same type of demos done in Flash;
http://www.themaninblue.com/writing/perspective/2010/03/22/
My G4 Gets about 27 fps on all "Flash" examples, including 500 particles with shadows. With HTML 5, it averages about 12 fps 'without' shadows and about 4fps with shadows. The Flash examples are about 2 - 7x faster on average with my "PPC" running Flash Player 10. My UniBody 17" averages about 100 fps faster on all examples for reference.
With "heavy" HTML 5 content -- the link below -- on my MBpro unibody 17" in Safari and Firefox, the browser becomes almost unresponsive and the animation is very choppy. With the same type of content in Flash, my browser responds without hesitation and the animation is smooth;
Flash: http://mrdoob.com/46/Depth_of_Field_Test_07
HTML 5: http://mrdoob.com/97/Depth_of_Field_HTML5
I won't attempt this HTML 5 example on my G4 as it gives newer Mac a heavy work out.
What you're saying is more inline with what Jobs wants the world to believe instead of what's actually a reality. Please, stop regurgitating his talking points. He's not spreading FUD about Flash because it's the right thing for us as consumers, but because it stands to benefit his closed off platforms if consumers are OK with using iTunes/Quicktime as a gateway to all entertainment instead of a popular alternative like Flash, or any plug-in for that matter.
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?
One of the advantages Windows always has had over, say, Unix and MacOS, is that it ran all the good games. Hard core gamers stick with Windows (or a dual boot MacBook or something) because it's the only platform that has the good games. But slowly, slowly big applications (Microsoft Office! Microsoft Encarta! Microsoft Trips and Streets!) are going into the cloud (Google docs, wikipedia, pick a map site) or becoming apps. Except the good games. And they rarely get ported to MacOS because the return on investment isn't there.
Until now this was incomprehensible.
Steam is running on both MacOS and Windows. Building rendering engines FOR YOUR BROWSER (although not yet practical, it is only a measure of when) means that one of the last great hold downs of Windows is on the verge of becoming a commodity by running in a god-damn browser!
Wow! Now we can do what we could do 10 years ago, but slower. All that matters is that it's in the browser right?
I'm still waiting to run Duke Nukem Forever in my browser, you insensitive clod!
Catalin Braescu
Ofaly.com
It can play a game from 1997!!!
That's amazing!!! I'm completely sold now on HTML5. I can't wait to play other really old games.
There are rumours of Nexuiz in Google Chrome OS, but Nexuiz is not Quake2, is a very high intensive opengl app, so It will need a rather good graphic card to run.
-Woof woof woof!
If flash games are made on the Flash studio, then I don't think flash will go away easyly. Theres a lot of expertise already on flash. But if people is using platforms like Flex, maybe, and only maybe, is easy for these people to move to different stuff that is not that different. Since Flash run in actionscript and actionscript is Javascript, then maybe, and only maybe, these people would see as "easy" to switch, or test the other platform.
Who knows?
Anyway I doubt WebGL is part of any standard that will be widely available, more widelly availbale than the unstandard that is flash.
-Woof woof woof!
Lol you boast you can make a browser plugin that would run more efficiently than this 'crap', yet you cannot even understand a simple synopsis of a simple article? Unless your programming skills are lightyears beyond your simple logic and reading skills, I think you are over estimating your own abilities. Love the capital Z in your user name too, thats pretty bad ass.
Hope this absolutely ignorant comment of yours haunts your rich slashdot career Mr BitZtream!
I see the word "wireframe" ... and my memory lurches back to the two different versions ("wireframe" and "solid") of the old "Elite" for PCs. Now there's a piece of gaming history to aim for!
Mining lasers fore and aft, fuel scoops at the ready, and here come the Fer-de-Lances!
Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
Isn't this Duke Nukem Forever's new engine? /s
No mod point. Pyjamas is wonderful.
I hope someone is working on a Javascript port of the Linux kernel. I would love to know that Linux can run in my browser.
Then we go recursive: Linux runs in a browser, which runs in Linux, which runs in a browser, which runs in Linux ... and it would be Linux and browsers all the way down.
I am anarch of all I survey.
Yo DAWG i herd you like to game 3D so i put a 3DE GAME in yo BROWSETR so you can game WHILE you browse
Firefox already does this, just open in your address bar: chrome://browser/content/browser.xul