Become a fan of Slashdot on Facebook


Forgot your password?
Real Time Strategy (Games) The Internet Games

Auralux Release For Browsers Shows Emscripten Is Reaching Indie Devs 44

New submitter MorgyTheMole writes Porting C++/OpenGL based games using Emscripten and WebGL has been an approach pushed by Mozilla for some time now. Games using the technology are compatible with most modern browsers and require no separate install. We've seen Epic Games demonstrate UnrealEngine 4 in browser as well as Unity show off a variety of games. Now as the technology matures, indie devs are looking to get into the mix, including this near one-to-one port of E McNeill's Auralux, a simplified RTS game, from Android and iOS. (Disclosure: I am a programmer who worked on this title.)
This discussion has been archived. No new comments can be posted.

Auralux Release For Browsers Shows Emscripten Is Reaching Indie Devs

Comments Filter:
  • by Anonymous Coward

    but please leave real development to real developers that use real technologies on real platforms. No, we don't need 8 core machines with 16gb of ram to be able to play a game that late-90s computers could've handled natively. Games do not belong in the browser.

    • by Anonymous Coward


      The html5/javascript platform is inferior, FAR inferior to native code,
      HARDWARE-Drivers-HAL->Operating System->DirectX->Web Browser->Javascript->Emscriptem->Game

      Or the current flavor of the decade:
      HARDWARE-Drivers-HAL->Operating System->Virtualization Layer(eg VMWARE)->Drivers->HAL->Operating System -> DirectX->Web Browser->Javascript->Emscriptem->Game

      It's quite honestly stupid when a game console with 1/4 of the CPU and GPU power can beat a desktop ma

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        Oh please, the same arguments were made when API's like DirectX first started surfacing. You may as well argue that unless you're programming directly at the assembly level, you're wasting your time.

        There are plenty of valid reasons for pushing this technology to the web browser. Nobody's claiming that all your future AAA games will be browser based, but it's currently the best way of making an interactive experience that's not tied to a specific platform. It makes the most sense for indie devs as well, who

        • by Anonymous Coward

          Why would you WANT to develop a game for the browser? Just like I don't want to give up my background in actual computer science and strongly-typed languages for the sake of learning a mountain of flubbery web technologies, I suspect the answer will be exactly what that other dude said: the web made us all LAZY. JavaScript is a shitty language, pure and simple, and I seriously doubt you want to switch from it for that very reason.

          Have you ever developed a complex application in a more native language, even

          • by Anonymous Coward

            Learn what Emscripten is and does before you start saying such odd things. The entire point is to use whatever language you want, and it complies down to a subset of JS that the browser can run fairly closely to native speeds (1.5-2x as slow so far, and a lot of optimizations haven't been enabled yet like SIMD instructions). Basically it's just like the JVM, just less optimized right now (both in terms of performance and the libraries/API that are exposed).

            Honestly, I think people are way too uneducated abo

        • Oh please, the same arguments were made when API's like DirectX first started surfacing. You may as well argue that unless you're programming directly at the assembly level, you're wasting your time.

          DirectX came with some advantages as well though. Like OpenGL, you ended up with a slower game than writing specialised code for a specific graphics accelerator, but the trade was that you got to support all shipping accelerators (and ones that hadn't shipped yet) by allowing them to write the code once and get a speedup everywhere. With Direct2D, you got things like accelerated sprite drawing from hundreds of graphics cards that all had different interfaces for bit blits. This meant that your Direct2D

    • I don't believe you are familiar with this tech then. Asm.js with Emscripten runs at around 50% of native speed on the browser. With C++, this means it is near java or C# equivalency. You don't need an 8 core machine with 16 gb of ram to play this game at all. We achieve getting players to try our game with a single click in a compile-once cross-platform setting. The base code is the same that runs on Android and iOS. Low fragmentation, high yield, instant access. If you can't see the benefits, then you can
  • Just tried it a little. And it really seems to work flawlessly. Smooth graphics and gameplay, and music and sound effects come through just fine. And it's a very nice abstract game too; reminds me more than a little of Osmos in both style and pacing.

    • by Bugamn ( 1769722 )
      To me it seems more like a clone of Galcon or Eufloria, nothing like Osmos except for the pretty lights. You have fleets, you send those fleets to conquer suns.
  • Just curious if this would work for CrystalSpace 3d. I have experience with that engine, and I've been considering making an Xwing vs TieFighter MOBA.
  • I read that headline in the same way as I would read the Jabberwocky. Maybe a better headline would be, "C++ compiled to Javascript in a Real Game." Or something like that.

    I guess this kind of thing will become more common as Flash recedes into irrelevance.
  • Just create a sandboxed version of LLVM and put it into the browser. Or maybe Firefox can adopt NaCl. But translating C into LLVM into JavaScript because a small number of vendors can't be bothered to put an open source plugin into their browser is just ridiculous.

    • Yeah, because browsers need more plugins.

      One sandbox is bad enough. Start adding more and you increase the attack surface.

    • by Anonymous Coward

      Google already tried that with Pepper, the other browser vendors wouldn't bite.

      There is way too many cruft layers already:
      Game-Unity(Game Engine)-DirectX/OpenGL-Operating System-HAL-Drivers-Hardware
      So you throw Emscripten in to it and now it's
      Game-Unity(Game Engine)-[emscriptem-web browser]-DirectX/OpenGL-Operating System-HAL-Drivers-Hardware

      • NaCl is the next version of Pepper.

        • NaCl is the core of Pepper. Pepper is just a NaCl plugin. They are the same thing for anything less than the most technical of discussions.

          Salt and Pepper, git it?

          • My understanding is that pepper as a public API is being discontinued, NaCl (which relies on pepper in its implementation), will be the the next public API.

  • Auralux Release For Browsers Shows Emscripten Has Reached MorgyTheMole

  • by AuMatar ( 183847 ) on Wednesday August 13, 2014 @04:19AM (#47661169)

    Doesn't mean you should. Congratulations- you managed to write your app in the least effective way possible and got both the performance of javascript and the ease of writing code in C++. You are the biggest idiot on slashdot today. Your reward is getting to write a nice check to Dice for the slashvertisement.

    • A lot of machines are cryptographically locked down to run only executable files approved by the network administrator or by the machine's manufacturer. Indie developers often lack the clout to negotiate with said administrators and manufacturers. The advantage of JavaScript is that you don't need such clout to get an application to run.
      • by AuMatar ( 183847 )

        So you're saying that the advantage of this is being able to work around the security restrictions on a machine- and you think this is a good thing?

        Of course any such machine will have javascript turned off anyway.

        • No, he's saying the advantage is that it works with, not around the security restrictions of many modern platforms, from ChromeOS to iOS.

          The purpose of those restrictions in general is to prevent applications from running that do bad things, rather than to prevent the user from actively doing things they want to do. A webpage isn't going to monitor my keystrokes, replicate itself to send to other users, read my email, or even innocently change system settings or upgrade a DLL that happens to cause a tech

          • by AuMatar ( 183847 )

            No, the purpose is to prevent unknown code from running at all. It doesn't matter if its in a sandbox or not. It's an end run around the security, and that's always a bad thing.

            • No, in the case we're talking about, the purpose is to ensure code doesn't do bad things. If the code is sandboxed, and it is in this case, and the code has been deliberately run by the user, then it's working WITH the security, not AROUND it.

              You can continue to pretend otherwise, but before you do, you'll have to write a 2,000 word essay on how virtually every website built in the last ten years "circumvents" ChromeOS's (and iOS's, etc) security because almost all of them include "unknown code" (written

    • He's written a high performance game using technologies that are cross platform, have widespread familiarity, and that allow code to be distributed in a form users are finding preferable to older ways of doing things (ie "just works" rather than "install app, then run")

      I don't see the problem. Sure, our Netscape-based Web is showing its age, and we could do with a shake-up of much of it, but OTOH is Javascript (not JS+DOM, just Javascript)+OpenGL really so bad? You know half of Slashdot would be having o

    • Congratulations, you're being a troll. They managed to take their existing app written for a completely different platform, and port it to the web in a way that runs flawlessly on my four year old laptop. Without having to rewrite the whole thing by hand in Javascript. I'd call that a big win, and a really cool achievement.

    • by DeVilla ( 4563 )

      I'm amazed your comment is marked insightful. Admittedly, I wouldn't call asm.js ready for prime-time, it is interesting technology and it will take lunatics like this guy to exercise it just like it took lunatics 15 to 20 years ago to port Doom and Abuse to Linux to begin to see what needed improvement.

      I don't plan on buy games for my web browser, but that doesn't mean that an optimized javascript environment couldn't go somewhere as a portable environment. The good parts of javascript are far more eleg

      • by DeVilla ( 4563 )
        Nevermind. It runs slow in my outdated browser. It sucks and the developer should feel bad.
  • If your game is written in C++ and OpenGL you can already compile natively for Windows, OSX, iOS, Android and Linux.

  • Although I enjoyed the game enough to waste 20 minutes on it, I am less than impressed with a "Pay to not watch the grass grow" model of business. So, while it may run blazingly fast, I'm not going to pay to see if that's the case.

    As it is, it seems painfully slow, and more than a bit of a rip-off of games like these ones I can play for free in my browser with no speed issues [].

    I'm just not seeing the value.

Time to take stock. Go home with some office supplies.