That’s my slightly sensationalist tabloid headline, but it’s entirely true. So long as you own the game, etc. And via the burgeoning magic that is NaClBox. Which really does let you play Monkey Island, or indeed any other DOS game playable in DOSBox, in a web browser. If that web browser is Google’s Chrome. I know it’s true – I did it.

Look, I’m going to have to get a bit technical here. But there’s this new thing Google are doing called Native Client. (Which they amusingly abbreviate to NaCl, which those who were paying attention in GCSE chemistry will know is the chemical formula for table salt.) It’s an alternative for Active X, or Java. Active X and Java are types of national gym chains and coffee, which allow browsers to run applications within themselves without disrupting time. NaCl is Google’s version, which according to a thing I read on the internet is even better. And proof, if proof be need be, comes in the form of its ability to be subverted in such a fashion that it can embed DOS games without much fuss.

That’s what Reddit user ‘dragmorp’ has done (he rather modestly seems to have hidden his real name), in creating a hybrid of Native Client and DOSBox, with NaClBox. It’s a free software project that is allowing him to embed DOS games into his browser, that hopefully being on Reddit and this site won’t cost him eighty million billion pounds in bandwidth costs. Right now he’s (rather sensibly) only uploading game demos, rather than full games, so he doesn’t get sued into a black hole. But the source code is there for the taking, so anyone who knows what they’re doing (i.e. not me) can replicate the same for their own collection of DOS games.

In order for it to work, you’re going to have to take Chrome into the slightly unnerving world of unsafe, not properly tested software. Which means typing the following into your address bar:

about:flags

This brings up a page of all manner of exciting bits and bobs you didn’t know Chrome could do, or can’t quite do yet, which you can enable. But for the moment control yourself and just enable “Native Client”. Once you’ve done this you’ll need to restart Chrome for the magic to take effect.

After that, and after ignoring the troubling yellow message that appears warning you that your Chrome is no longer quite secure, you should be able to visit this page and see the games dragmorp has currently uploaded. Just click on the game, then click on the big play button, and if all has worked the game will just start working, right there in your browser, like it’s the future or something.

There does appear to be a very common issue, however, where despite following these steps exactly you’ll find that it won’t work and just tells you there’s a missing plugin. There’s so far been no word from the creator about this matter, but it seems to be affecting a lot of people, including me. On my desktop, at least. On my netbook it works just fine (despite being a synced Chrome, so basically identical). Go figure.

Clearly this is at day one, but it’s a really interesting demonstration of the possibilities for NaCl, and a super-fun way of playing through demos for Sam And Max, Sim City 2000, and Falcon 3.0. Hopefully he’ll soon start adding some genuinely freeware DOS games too, or at least someone else will take up the task.

This is as completely and utterly pointless as the NaCl architecture itself, sorry to put such an obvious downer on it, but this is just an extra layer of obfuscation added to running dosbox, which is the last thing dosbox needs.

the pressing play and it running is happening because someone else set dosbox up for you, not because of the NaCl platform, if he’d served it to you with a samba or ftp server, it’d’ve been just as seamless & less likely to break.

It is basically the worst idea ever and this is Google’s power-play to make their browser “the API” for platform control, rather than the underlying OS.

However, horrible, stupid ideas have a way of spreading on the web, so get used to it. (If RPS starts doing that “#!” nonsense where every page is really just a fragref to on the single frontpage, though, I am going to VEHEMENTLY EXPRESS MY DISPLEASURE ON THE INTERNET.)

The browser is already the API for zillions of web apps. NaCl (and especially PNaCl) is an alternative to Javascript/Flash/Silverlight, nothing more. Except it’s faster, and you can use C/C++.

Since Silverlight hasn’t taken off (despite some technical advantages), it’s not particularly surprising that Google would make its own Flash alternative. Have you tried some WebGL demos lately? Even after years of effort, Google can’t really make Javascript suck any less. We need something else that’s portable and fast.

Disclaimer: I art a Native Client Fanboy. I think it fills a unique slot in the interwebs. NaCl is:

## Crossplatform ##
Silverlight/Moonlight is somewhat pants on Linux (no Netflix!) and Flash is kinda awful on platforms that are not Windows. This also opens things up for interesting things on mobile devices.

## Open source ##
Again, advantage over Flash and Silverlight. Admittedly, this would be slightly less of an issue if they were better at being crossplatform.

## Browser agnostic ##
Chrome is just the reference implementation; there are plants for NaCl will be pluginized for use in Firefox and Opera and Safari and what have you. Presumably after things are out of highly experimental and unstable territory.

## Fast ##
In theory, anyway. It’d be difficult for it to be much slower than Flash at runtime. And Java has a way of making things laggy while the plugin loads. Javascript is OK, but the dynamic nature of things means that in theory, it’ll never be as efficient as something tight written in C. OTOH, this is probably pretty dependent on the VM they’ve got behind this thing. It’s all well and good to zip past Flash and Javascript performance, but Java (once it’s actually loaded and running) has like a decade of optimization behind it. We’ll see.

## Integrateable with Javascript ##
Javascript is effectively the only general purpose client-side language we have on the internet. It’s horrifically slow for things like image processing. But! You can call functions from a NaCl app from Javascript. Offload the slow tasks to the faster runtime. No other plugin lets you do that, afaik. This means you can make webapps faster without having to use more bandwidth or server-side processing AND you don’t have the build your webapp completely using the plugin, unlike Flash/Silverlight/Java. You can even fallback on something like server-side processing so that people who don’t have NaCl don’t even notice. This is how the internet is supposed to work.

## Nice for lazy and non-tech-savvy people ##
Seriously. Flash and Unity3D are spoiling me. I used to just download indie games all the time without thinking about it. But it’s like twenty times more effort to download and extract games and put them in my games folder than it is to click a “play” button on a website. Some of my siblings don’t even know *how* to play a game that comes in a zip file.

## Like the only way we’ll ever get Unity3D games on Linux ##
Thus are my true motivations revealed. Waaaant gaaaaaames on Ubuntuuuuu!

It was a fair comment, but ‘an extra layer of obfuscation’ and ‘someone setting up DOSbox for you’ are exactly what DOSbox needs.

Command line DOS and setting up a samba connection for everyone currently on the internet might be fun for you, but the easier DOSbox is to use, the more people can enjoy great old PC games. How is that a bad thing?

Would it feel more useful if you could play say, UFO: Enemy Unknown anywhere without need to install and configure DOSBox and the game? I know I could do some quick bughunts for downed aliens during the tea break!

To the people saying it’s platform agnostic (it’s only apparent benifit over writing a native c application) it’s not, that’s pNaCl & the difference between NaCl & pNaCl is that NaCl is native & pNaCl is byte code, that’s whats called a bait & switch.

EDIT: I’m not against the idea of making dosbox easy to use. I’m against the idea of running in a browser (even if it no longer really is) being synonymous with easy to use. I also believe that browsers should be limited to a non-realtime, instance based, scripted, application architecture and that anything this complex doesn’t have anything to gain from being tied to a specific network protocol.

What i was originally trying to say was that everything good about this can be done without the browser and without NaCl.

person on the internet:This sucks because of flipppody floppby flooby
John:Well it seemed to work fine for me with no troubles
person on the internet:Well you’re stupid, they’ve just done fliipofyt doffy loopy
other person on the internet:Ah, flappy whayppppt fllrrg!

Yay, one step closer to IP owners forcing people to play their old games online, potentially killing the dangerous GOG.com in the bud while making some cash.

Yay, one step closer to the destruction of the meaning of words like “ownership” and “offline”.

Yay, one step closer to the disparition of the dedicated PC platform, to be replaced by a Chrome OS terminal running a streamed World of Warcraft in a native client process all within the browser infrastructure.

Hi! Nice write up. It makes me want to play my own site! Anyway, I added in some additional details to help people with the “missing plugin” issue.

Regarding the speed… I have a version that runs much faster (uses about 2% of the cpu) but is less stable. I am thinking about allowing people to somehow choose to use the faster version with the knowledge that chrome will show the sad face when you leave the page.

It really amazes me how people come up with this stuff, yet Microsoft with its $28 trillion R&D budget can’t come up with squat that works. Their idea of compatibility for Windows 7 is to load up XP in a virtual machine and waste yet more drive space and time trying to do what this fellow has in a simple browser plugin.

Amazing.

I can already see me back in Magic Carpet Plus playing 75 levels of intense awesomeness like I enjoyed back on my 486DX2-66 bawks.

MythArcana: I suspect that you do not know what you are talking about.

Firstly, do you realise that DOSBox has been in development for more than a decade, and publicly available for almost that long? I’m not saying that this new NaClBox plug-in is not noteworthy (even if personally I consider it utterly pointless — why would you not simply run DOSBox directly?), but unless “this fellow” also contributed to DOSBox itself, he has not implemented any of the backwards-compatibility code here. That would be akin to claiming that a guy who gets Doom running in a web browser must have written Doom.

Secondly, your comparison with Microsoft’s approach is amusing, because both approaches are in fact identical. DOSBox is also a virtual machine. Microsoft’s VM in Windows 7 emulates a machine that runs Windows XP, DOSBox’s VM emulates a machine that runs DOS.

@MythArcana: fst, virtualizing xp and browser plugin is comparing apples to oranges, snd, this R&D budget (and customers bitching whenever they need to change tech) is why you need compatibility solution in the first place, not to spend trying to implement it.