Hacker News new | ask | show | jobs
by Segmentation 4565 days ago
Is there a possibility for major titles becoming "asm.js ports"? Games like World of Warcraft, League of Legends, Battlefield series, Starcraft 2, Minecraft, etc.
2 comments

Major desktop titles probably not but major mobile titles definitely yes [1].

WebGL + asm.js on desktop computers should be roughly equivalent to native iOS / Android applications on top-of-the-line mobile devices (with possibility to get better effects on desktop GPUs).

This is btw what's going on with these very fast Emscripten ports - they can be done so quickly because the bulk of the hardest work was already done before, when engine and game developers made their code and maybe even more importantly their assets work well on mobile devices.

If you noticed many of these fast Emscripten ports were not desktop ports but had already existing mobile versions before - Unreal Engine Citadel demo, Unigine Crypt demo, and now Monster Madness.

Nevertheless it's still very impressive, big kudos to Mozilla folks.

-----

[1] For example these iOS 3d games should be feasible on the web (runtime performance wise, big asset downloads may be pain): The Walking Dead, The Wolf Among Us, Grand Theft Auto 3 / Vice City, Infinity Blade series, Max Payne 1, Mirror's Edge, XCom: Enemy Unknown, Real Racing, Asphalt series, mobile Need for Speed series, etc.

Plus of course anything 2D - Angry Birds, World of Goo, Plants vs Zombies, Osmos, Limbo, etc.

Minecraft in the browser has been done already, hasn't it? It'd be pretty trivial, as it's been ported to java / c# / objective c already, and has low system requirements.

Given that asm.js games tend to run at something like 15-30% of the speed of native code, I doubt we'll see Battlefield 4 or Starcraft 2 anytime soon. Additionally, given that the WoW game client is many gigabytes in size, I doubt we'll see that either, even if it could run.

So: Minecraft, yes. The rest? No.

There have been minecraft like demos that implement about 1% of the functionality of minecraft.
Citation on the 15-30% claim? We see more like 50%, including compilation time. Sometimes much faster on certain benchmarks (Bullet IIRC?) now that float32 support has landed.
https://hacks.mozilla.org/2013/12/monster-madness-creating-g...

This is from a link in the article for more information. These Monster Madness fellows found Firefox gave them 33% of native performance, and Chrome 20%. Presumably IE would give you fractions of these figures.

I figured that, rather than citing figures from benchmarks, I'd go for the real world scenario that this release has given us.

Those figures seem to be in the context of a week long initial port. The team lead uses a figure of 50% in the video.
Also, much of these games is 3D rendering, and WebGL runs at essentially full native performance.
Minecraft is FAR bigger and more complicated than people give it credit for. Getting a terrain generation demo running in a browser is not even remotely the same thing.
Minecraft started as a Java browser plugin game. I think that's what the GP is referring to, not "Show HN: Minecraft in 3 lines of Javascript"

https://minecraft.net/classic/

I think he's talking about the apps for the various ecosystems. Although they're not feature-complete.
Well, no, they're not as rich as the desktop versions.

But as they've had a team port (a trimmed version of) Minecraft to xbox live arcade, and the iPad, it would surprise me if they're not already working on a *.js version.

Is it that big of a leap from voxel.js, which is already doing this with pure javascript? (genuinely curious)
The WoW client already supports streaming, you can play the game after downloading only the core content. Even that is pretty large though, but it could be optimized for the web.