Please Note:
You must have Native Client enabled in Chrome 12 or 13 for this game to work in your browser.
To enable Native Client, do the following:
Go to "about:flags" in your address bar (without quotes)
Click "Enable" next to Native Client
Go to "about:plugins" in your address bar (again, without quotes)
Occasionally you will find that you have to click "Enable NaCl" here too
Restart Chrome
Have fun!
While NaCl poses security concerns, they have invested a lot of effort to make the sandbox secure. Their first two papers deal with this quite a bit [1,2] and the new paper seems to expand on this more, but I haven't read it yet [3]. ActiveX doesn't even compare -- it's just running native code.
Portable NaCl (PNaCl) looked very promising (targeting LLVM (bytecode) and then re-targeting your native architecture) but I haven't heard anything about it lately.
I was less referring to the security issues, as I'm familiar with Google's efforts on those fronts, and more referring the lack of cross browser support. ActiveX sucked for a number of reasons, but one reason in particular was because it forced people to use IE even after IE 6 became the most inferior browser on the market by a long shot in terms of both security and performance. If NaCl becomes popular enough, either other browsers will be forced to add it or there will be similar lock-in issues. If other browsers are forced to add it, will every single one of them have the same security, performance and compliance with the standard as Google Chrome does?
I don't see lock-in issues as a concern. It's an open spec, if it becomes popular enough then even if other browsers don't want to support it developers can make plugins for those browsers (some of the papers even mention this, I believe). In any case, if websites require you to use NaCl it is only stupid unless they are doing something that otherwise wouldn't be feasible e.g. running a performance hungry emulator. It's clear to me that Google has no intentions to leverage this for lock-in.
If other browsers are forced to add NaCl support: of course I doubt they will have the same security, performance and compliance that Chrome does -- but who are we kidding, it's highly unlikely that all browsers will ever be equal in those ways.
Native client is a horribly bad idea on so many levels. Wiz-bang demos aren't enough to distract from the danger.
Now trojans have one huge, lovely target. Just change browser settings and boom, easy attack. This in combination with hiding everything from users (status bar, url bar, etc.) is super dangerous. It's activex all over again.
Do it in webgl or otherwise, leave native code execution outside the browser.
Whenever I visit a WebGL demo inside Linux w/ NVidia drivers, if there are any complicated shaders, my system hard-freezes, forcing me to reboot.
Until the X developers fix Xorg's security model (like that will happen), and until NVidia fixes their Linux drivers (like that will happen), WebGL will always be one massive gaping security and stability problem for me as a Linux user.
Because we know, those days, to sandbox raw x86 code, and not let them access the system and the drivers... However, running shaders directly on the GPU exposes directly graphic drivers, that are not conceived to block unfriendly code.
You have to realize that not only are performances of nacl probably going to improve with time, but more importantly this is not a port of the game in nacl, this is a port of the game, running in the dosbox emulator running in nacl (Dosbox emulate a whole old computer, which then load the game). Redoing such a game from scartcg in Nacl and getting rid of the emulator layer would have much better performances.
"Currently NaClBox is using far more CPU than it should. This is because the current version of SDL for Native Client has a bug that will crash the browser when you navigate away from it. To avoid that, I had to revert back to an older version of the SDL port that has high CPU utilization."
Those insisting that there's no way this will be another ActiveX would be wise to notice this. We're not even one day into the release and already there's a browser-crashing bug.
In addition to the other points, it should be pointed out many games had busy loops in them. Such games will always take 100% of your processor, except in some cases where the busy loop crashes because it manages to count too high and overflow something or other such crash bugs.
No, Chrome is your "OS" in this case. You do have to account for processors though. Right now there is x86-32, x86-64, and ARM.
Go to any of the games and after you've started, right click and save-as to get the nmf file. It's a manifest which has separate nexes for each processor (these are just x86-32 and x86-64).
Looks interesting, but after activating Native Client, I just see a black box in Chrome 15.0.849.1 dev on OS X 10.6.8 – anybody else has that issue? Or do the games only work on Windows?
I also get a 403 trying to load what you've linked, but dosbox_13.nmf loads fine and so do the games.
It determines the filename based on the major version number in the useragent - it would probably work fine if your browser reported chrome 13.something.
I was on 14.0.835.2 (Win7) and had a similar issue (black box, and very laggy scrolling). Once the GPU compositing and GPU accelerated drawing options marked out here [1] are disabled, the issues went away.
Looks like the dosbox is loaded depending on which version of chrome you're running, and there's only 12 and 13 up, so 14/15 tries to get a file that doesn't exist.
Bit of silly coding, given the ABI is fixed from 13 onwards.
This needs Chrome and the Native Client.
From the page: