Slashdot Mirror


Emscripten and New Javascript Engine Bring Unreal Engine To Firefox

MojoKid writes "There's no doubt that gaming on the Web has improved dramatically in recent years, but Mozilla believes it has developed new technology that will deliver a big leap in what browser-based gaming can become. The company developed a highly-optimized version of Javascript that's designed to 'supercharge' a game's code to deliver near-native performance. And now that innovation has enabled Mozilla to bring Epic's Unreal Engine 3 to the browser. As a sort of proof of concept, Mozilla debuted this BananaBread game demo that was built using WebGL, Emscripten, and the new JavaScript version called 'asm.js.' Mozilla says that it's working with the likes of EA, Disney, and ZeptoLab to optimize games for the mobile Web, as well." Emscripten was previously used to port Doom to the browser.

9 of 124 comments (clear)

  1. Chrome by The+MAZZTer · · Score: 4, Informative

    Looks like Chrome is looking to do this as well.

  2. Re:Remember the good old days? by Pieroxy · · Score: 5, Informative

    What happened to seeing a grid of 80x25 characters on a black background? Progress.

  3. Re:I don't care by dyingtolive · · Score: 3, Informative

    You're wrong! 64 bit is better because the number is bigger! It has more bits! AC learned this when he got his MBA.

    --
    Support the EFF and Creative Commons. The war is coming, and they're supporting you...
  4. 64-bit gives better security by pavon · · Score: 4, Informative

    Plus, there is no real advantage to using a 64-bit browser unless you want it to use more than 2gb of memory

    ASLR (Address Space Layout Randomization) is far more effective in a 64-bit address space than in a 32-bit address space. Browsers need all the layers of protection they can get from exploits.

    On the other hand, WebGL gives any website in the world nearly direct access to exploit bugs in GPU drivers, significantly increasing the attack surface of the browser. I say nearly, because the browser does check all parameters for possible buffer overflow conditions before passing them onto OpenGL calls, but any other type of exploit is still possible.

    I would definitely prefer that Firefox prioritize features that increase security over those that decrease it.

  5. Re:I don't care by Enderandrew · · Score: 4, Informative

    64-bit browsers are inherently more secure, and can access more memory. Native 64-bit apps also run faster. You're trying to call someone an idiot without realizing that you don't know what you're talking about in claiming there are no advantages.

    http://arstechnica.com/information-technology/2012/11/64-bit-firefox-for-windows-should-be-prioritized-not-suspended/

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  6. Re:I don't care by Enderandrew · · Score: 3, Informative

    Firefox these days uses less memory than Chrome.

    http://www.ghacks.net/2012/06/21/chrome-uses-way-more-memory-than-firefox-opera-or-internet-explorer/

    Mind you, Chrome is still my everyday browser, but Firefox has gotten really good at being efficient with memory.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  7. Re:Javascript engine evolution by buchner.johannes · · Score: 5, Informative

    Ah, my mistake. "use asm" is a proposed Javascript feature:

    ... asm.js, a strict subset of JavaScript that can be used as a low-level, efficient target language for compilers. The asm.js language provides an abstraction similar to the C/C++ virtual machine: a large binary heap with efficient loads and stores, integer and floating-point arithmetic, first-order function definitions, and function pointers.

    http://asmjs.org/spec/latest/
    Also interesting:

    You could write your programs in Asm.js, but the idea is that you will use other languages that compile to Asm.js. This opens up the possibility of converting existing desktop apps to run in the browser. Emscripten, for example, is a compiler that converts the LLVM bitcode intermediate language to either JavaScript or the asm.js subset.

    http://www.i-programmer.info/news/167-javascript/5694-firefox-runs-javascript-games-at-native-speed.html

    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
  8. Google is interested in asm.js by Anonymous Coward · · Score: 2, Informative

    "At least some at Google want to embrace a Mozilla-backed project to speed up Web apps written with JavaScript -- even though it competes directly with Google's own Native Client and Dart programming technology. "

  9. Re:WHY?!? by spage · · Score: 3, Informative

    Why? Because you're in a browser right now and it's the most popular software platform ever.

    Where's the controller/joystick API for the web browser?

    https://wiki.mozilla.org/GamepadAPI

    WebGL is just VRML version 2.

    No it isn't.

    We have too many layers of cruft/abstraction layers/API's to deal with.

    WebGL sends shader programs to the GPU which executes them. There isn't a layer underneath it.

    A properly designed "world browser" that actually starts in the 3D environment and perhaps renders flat 2D web pages as such would make a lot more sense instead of trying to shoehorn 3D into a 2D "web page"

    People had no interest in such world browsers, several companies including Microsoft offered them in the 90s and they all died. Microsoft's 1997 technology was called Chrome (yes, really), and they promised "Chromeffects would turn a web browser into a rippling, 3D space with audio and video playback".

    Meanwhile people do like 3D games, they do love running things in their browser, and the fullscreen API lets the game canvas go fullscreen. Enjoy your lawn.

    --
    =S