

Why Google native client will make game developers and consumers happy [video] - sathishmanohar
http://venturebeat.com/2011/12/09/why-google-native-client-will-make-game-developers-and-consumers-happy-video/

======
fredoliveira
I tried this out for myself with Bastion[1] yesterday (no affiliation) and I
was pleasantly surprised at the performance. Native client can have a dramatic
impact on the gaming industry (possibly making the chrome web store an
interesting competitor to distribution platforms like Steam). Interesting
times ahead for sure.

[1]:
[https://chrome.google.com/webstore/detail/oohphhdkahjlioohba...](https://chrome.google.com/webstore/detail/oohphhdkahjlioohbalmicpokoefkgid)

~~~
sek
Impressive, everything worked fine (Linux).

------
teamonkey
Native Unity3D support is a huge thing. Right now Unity games run in the
browser via a plugin. The plugin installation is a single click, fairly
transparent and doesn't require administrator access, but for the average user
it's scary. Who trusts a plugin? It's reported as the number 1 turn-off for
users.

~~~
azakai
> Right now Unity games run in the browser via a plugin. The plugin
> installation is a single click, fairly transparent and doesn't require
> administrator access, but for the average user it's scary. Who trusts a
> plugin? It's reported as the number 1 turn-off for users.

1\. This is still a plugin. NaCl uses the Pepper plugin API. That it is
bundled in Chrome doesn't make it not a plugin (Chrome also bundles Flash, and
that is still a plugin.)

2\. The Unity3D plugin will at least work in multiple browsers, while using
NaCl will only work in Chrome.

3\. It is true though that, as you say, having a plugin pre-installed as in
Chrome is less scary for users. However, it still has all the other problems
that plugins have, and as mentioned that it is Chrome-specific.

~~~
ConstantineXVI
The difference is this one plugin is capable of covering much more ground than
Unity3D alone. Once it's there, nothing stopping one from porting, say, id
Tech, Unreal, Frostbite, RenderWare, OGRE, Avalanche, Crystal, CryEngine, EGO,
Source, etc. to NaCl and running it in the same plugin. Say what you will
about Google's strategy, it opens up quite a few possibilites.

~~~
azakai
> The difference is this one plugin is capable of covering much more ground
> than Unity3D alone. Once it's there, nothing stopping one from porting, say,
> id Tech, Unreal, Frostbite, RenderWare, OGRE, Avalanche, Crystal, CryEngine,
> EGO, Source, etc. to NaCl and running it in the same plugin.

That's already possible with the Flash plugin using Alchemy. There are demos
of several of those game engines running in it.

It is also possible to compile those technologies to JavaScript and run them
without plugins at all (using Mandreel or Emscripten), but the experience
would be less uniform (results would be different in different browsers),
which is probably why it hasn't been done yet.

~~~
willvarfar
I've worked extensively with Alchemy and Haxe (which can use Alchemy op-codes
for near-direct memory access).

And, recently, started with NACL.

Games are extremely performance-intensive. Its simply crazy to pick a platform
that is any factor slower when you have a faster alternative to hand.

NACL is a whole new level of possible. I think its going to succeed
technically where Flash and plugins failed.

~~~
azakai
I don't think there is any disagreement about the speed. NaCl will be faster
than Flash and other options.

But consider that Alchemy will run in 98% of web browsers (because that is how
much range Flash has), while NaCl will only run in Chrome. So there is a
difference of about 4X in market share.

I'm not saying Alchemy is a perfect solution. Each option in this area
(Alchemy, NaCl, JS) has different advantages and disadvantages.

------
cliffbean
It's depressing to me that NaCl people frequently emphasize the "great piles
of existing code" out there, and how "the biggest deal is that there are all
these existing code bases", and how well they'll run on NaCl.

I'd feel better about NaCl if they talked more about why their design might
make sense for the web in the long term, rather than just why it's going to be
popular in the short term.

------
moocow01
In someways I feel fortunate to not work in gaming. There are so many
platforms and languages you've got to hit and probably by the time you've
gotten your game's reach maximized the landscape has totally changed. I know
Unity is helping to solve this problem but from an outsider's perspective it
almost seems like there needs to a really strong standards group like the w3c
(maybe there is one for gaming?)

------
willvarfar
Couldn't help but notice how often he _shakes_ his head as he's saying
something positive, as though he doesn't believe what he's saying...

~~~
nkassis
He's an engineer. He probably was thinking about all the ifs and "but
technically this is quite exactly like that" of each one of the statements he
was making.

I often go to conferences to demo my project and I have the same habit. I try
to explain the positive of my project but I know all the dirty secrets ;p

------
forgotusername
First they came for the gamers, and I said nothing, for I wasn't a gamer, and
already that industry was infested with proprietary tech.

Then they came for the alternative browsers, and I said nothing, for I was
content to see a plug-in extending support for all those games to the rest of
the world (even though the alternative vendors all objected verbosely).

Then they came for Google Earth, and I said nothing, for it was a perfect fit
to the platform, and I could use Earth from any browser (even though I had to
install the plug-in to use it in future).

Then they came for the video codecs, and I said nothing, for what could be
wrong with smoother video working across browsers (even though I had to
install the plug-in to get there, and YouTube.com suddenly grew a form of
DRM).

Then they came for the Internet banks, returning to the 20th century ActiveX-
alike requirements for login, and I said nothing (because I needed access to
my bank).

Then they came for the well-suited open source projects, and I said nothing,
for I didn't care about that, and running Audacity from a browser sounded
great.

Then it ran on Android and Chrome OS, and I was pleased (even though I could
no longer write native code for Android that didn't target NaCl).

[...]

Then they came for me, and there was no-one left to speak out for me or my
app, for there was only one platform left that ran on every device.

~~~
ootachi
Note that NaCl has shifted from the NPAPI to the Pepper API, so there actually
isn't a plugin that extends support to alternative browsers. You have to use
Chrome.

~~~
pjscott
NaCl is open source, though, so if it gains traction other browsers will start
to support it.

~~~
willvarfar
So far, Mozilla has explicitly stated that they _won't_ adopt it, citing
philosophical differences.

~~~
azakai
As has Opera,

[http://www.theregister.co.uk/2010/10/01/opera_on_google_nati...](http://www.theregister.co.uk/2010/10/01/opera_on_google_native_client/)

Microsoft and Apple have not bothered to go on the record on the topic yet,
but I would bet their position is similar.

------
tomjen3
Anybody knows if this will also be available for chrome-frame?

I have a dream that one day we can ditch Javascript (or at least have a choice
as to which language we want to write in). It seems so, well, limited.

------
bookwormAT
this is very cool. Do the native client APIs support alternate input devices
such as game controllers?

~~~
ootachi
There is a Gamepad API under development by Mozilla:
<https://wiki.mozilla.org/GamepadAPI>

~~~
magicalist
Just FYI, it's been moved to the Web Events working group:

[http://dvcs.w3.org/hg/webevents/raw-
file/default/gamepad.htm...](http://dvcs.w3.org/hg/webevents/raw-
file/default/gamepad.html)

there's an open mailing list if anyone wants to participate.

------
bretthellman
Is this webRTC or something different?

~~~
pjscott
I don't usually post rude "let me google that for you" replies, but I feel
oddly compelled to point out that there are faster, easier ways to get that
sort of information than posting a comment on a forum. For example:

<http://en.wikipedia.org/wiki/WebRTC>

<http://en.wikipedia.org/wiki/Google_Native_Client>

