10 ms·
First 3D Commercial Web Game Powered By asm.js
- kayoone 13y agoasm.js really shines for usecases like this, the fact that they did the port in a week is truly remarkable. GFX/Audio/Multiplayer all works fine, but loading times are pretty slow on Chrome, but for a first version this seems great. Edit it seems pretty playable in firefox and chrome, don't notice much of a difference performance wise. Now please make a reverse case for PNaCL and pepper.js and we can all get really excited :)
- fritz_vd 13y agothis is quite remarkable
- camus2 13y agothis is C++. now all javascript folks need to learn C and C++.
- AndrewDucker 13y agoOnly if they want ultra-high performance, for writing games and suchlike. Otherwise they can stick to javascript. (And, of course, anything else that compiles to javascript)
- azakai 13y agoYou can also mix the two, write typical JS and use a high-performance library from JS for something specific, like physics http://kripken.github.io/box2d.js/webgl_demo/box2d.html http://kripken.github.io/box2d.js/webgl_demo/box2d.html
- camus2 13y ago> Only if they want ultra-high performance, for writing games and suchlike. CUSTOMERS want ultra high performances, especially on mobile. Therefore businesses will have to deliver these performances. Trust me, in a few years , getting a good client-side gig will mean knowing C/C++ . The limitation today is the size of the "js" code produced, which is way too heavy.
- timje1 13y agoTo be fair, if you want ultra-high performance for high quality 3d games, why did you learn javascript? Go away and learn C or C++ ... This doesn't give anything to web developers. It gives C / C++ developers a way onto the web.
- TazeTSchnitzel 13y agoWell, you can also write asm.js code manually to squeeze out performance, if you need to.
- camus2 13y agoit's faster to learn C and all the toolchain than writing any meaningfull code in asm.js directly, asm.js is not javascript, as strange as it sounds.
- TazeTSchnitzel 13y agoI don't mean to write your app in it, I mean using it for optimising tight loops and such, just as C developers occasionally write some functions in asm for performance.
- chc 13y ago> To be fair, if you want ultra-high performance for high quality 3d games, why did you learn javascript? That's not fair at all, because there are valid answers to that question like "Because I also want my programs to run in the browser."
- agentultra 13y agoIt works really well and I'm glad to see more of this happening. Being able to share games over the web that run at near-native performance levels without plugins has a lot of potential both for end-users and creators. Really cool stuff.
- timje1 13y agoI just hope that it helps drive growth away from Internet Exploder ...
- philbarr 13y agoUnfortunately the "enterprise" seem set on it. Yesterday I was working with a new content management platform and I had to downgrade my Internet Explorer to 9 because it only works with IE 7,8 and 9. Then that still didn't work because of some MSXML problem I couldn't fix and I ended up having to use a VM with XP installed and IE 8. Un-be-lievable. I don't know who these Enterprisey IT managers are who are making these decisions but they seem to have a lot of power which they are using irresponsibly. And they seem to love IE.
- acomjean 13y agoI thought things had gotten better. A decade ago the large company I worked for switched to a web based timecard system. The only problem, ie only and the software team of 50+ all were using hpux or solaris workstations. No ie. Oh and they wanted timecards done daily. The solution? Set up 2 terminals in the lab with a unix backend and a windows NT virtual environment so we can use IE to do timecards.
- oneeyedpigeon 13y agoHow complicated can/should a timecard system be? Surely one of those 50+ software engineers could have rewritten a portable version in a few days and saved you a lot of bother.
- anon4 13y ago
- skloubkov 13y agoWhile I really see potential of asm.js couple of things about execution (including this title) 1. Brings my browser to its knees (Firefox here) 2. Security. They seem to open themselves up to a whole lot of potential hacks (I hope their code deals with cookie jacking, csrf, sniffing, etc). While this would be a problem with closed source, this is made worse by running it in browser 3. Cheaters. How would they deal with people injecting code and creating bots?
- AndrewDucker 13y ago2. It's javascript running in the browser, it can't do anything that you couldn't already do with javascript running in the browser. 3. The same way that companies currently cope with clients. It's not like client-hacking isn't so common-place that you have to design around it anyway.
- awestroke 13y ago2: There's always the option to run the game iframed, served from a subdomain or similar. 3: Cheating has always been possible, in all games. The minified javascript source is still hard to grasp for a game that size.
- Segmentation 13y agoIs there a possibility for major titles becoming "asm.js ports"? Games like World of Warcraft, League of Legends, Battlefield series, Starcraft 2, Minecraft, etc.
- timje1 13y agoMinecraft 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.
- jiggy2011 13y agoThere have been minecraft like demos that implement about 1% of the functionality of minecraft.
- samworm 13y agoMinecraft 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.
- WA 13y agoI think he's talking about the apps for the various ecosystems. Although they're not feature-complete.
- timje1 13y agoWell, 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.
- 13y ago
- kro0ub 13y agoAnd this is seen as a positive development?
- jebblue 13y agoIt's interesting but didn't Quake Live run inside the browser?
- mbel 13y agoIt was using some kind of custom browser plugin. Which on one hand allowed it to run normal, compiled-to-binary Quake III engine, on the other it worked only in selected browsers.
- elisee 13y agoQuake Live used a native plugin actually, it was basically a regular native game running inside the browser's chrome.
- macmac 13y agoI am not sure how to play the game. The intro messages reads: {"success":false,"error":"DuplicateEntryException","message":"\u0027Anonymous1900\u0027 already exists."}
- benjamincburns 13y ago$20 says it's a race condition being caused by multithreaded access to a nonatomic auto incrementing ID...
- eknkc 13y agoIt works just fine in Safari. You know, without any special treatment from Apple for asm.js optimizations. I was sceptical but this shows that asm.js is a much better approach than Google's ActiveX wanna be solutions.
- hcarvalhoalves 13y agoIt loads, but I can't interact with anything here (Safari 7.0).
- cpeterso 13y agoWhen I try to load the game in Safari 7.0 (on OS X 10.9), I get a Flash game, not asm.js.
- Fr0styMatt 13y agoIn what way is using LLVM bitcode (PNaCL) at all similar to ActiveX? Yeah yeah I get it. I like asm.js as much as the next person; I just wish this whole PNaCl-is-ActiveX meme would seriously go away. It's willful ignorance. FWIW, I think it's fantastic that asm.js is turning out great. I also think that PNaCl is a worthy technical achievement. Two ways of solving the same problem given different constraints. I think Mozilla has a better chance and agree with their reasoning re- browser compatibility and third-party adoption. Still doesn't mean I'm going to go around calling PNaCl ActiveX when it clearly isn't.
- johnbm 13y agoBecause PNaCl comes with its own implementations of input, graphics, audio, etc and cannot talk to any of the regular Web APIs. So basically, PNaCL is either ActiveX or it's Flash. https://developers.google.com/native-client/dev/pepperc/group___interfaces https://developers.google.com/native-client/dev/pepperc/grou... That said, I support using LLVM bitcode more than asm.js myself. I think asm.js is the dying breaths of JavaScript being hailed as its rebirth.
- 13y ago
- drblast 13y agoWayyyy back in 2007 I half-jokingly made a prediction about the future of computing. The hot topics at the time were AJAX and new multi-core processors targeted at consumers. Everyone was trying to envision which language would win out by making it easy to write massively parallel programs. There were lots of articles published about Haskell and software transactional memory. The demise of C and C++, and their managed Java/C# spawn was imminent. How could you write in a language that couldn't handle multiple cores for you? The future is here, in 1/4 of the time I thought it would take. I guess I have to go write a new prediction. So. . .here's my prediction, taking into account the pace of hardware development and the history of software development. In 20 years, cheap hardware will be ridiculously fast, but it will still look very much like Intel hardware today. We'll have many, many CPU cores to work with, but nobody will use a parallel programming language designed to take advantage of multiple cores. Instead, virtualization (i.e. VMware, Xen) will be integrated into the operating system, and each process will run on its own virtual machine. Each web browser will have been expanded into a full blown widget toolkit and have merged in something that looks like Flash, but there will still be multiple incompatible browsers. The latest craze will be a browser compatibility layer written in a programming language that compiles to "raw Javascript", and it will reduce the performance of applications but allow you to use them anywhere. People will set about re-writing a version of Photoshop in the new compatibility layer, and everyone will wonder why they'd do that, when the current version of Photoshop runs in Internet Explorer just fine. Edit: The lesson here is that if you want to predict the future, try to do it by making a prediction so ridiculous it could only be a joke.
- fidotron 13y agoMozilla need to tone down the disingenuous marketing as it's going to bite the otherwise worthy asm.js in the long run. The problem is that video fails to explicitly point out that the only version relying on asm.js is the browser version, which is the least interesting, while they're all excited about different devices those are all supported thanks to Unreal's cross platform support and has nothing to do with the asm.js version.
- padenot 13y agoThe video was not made by us, it was made by the game developers. This particular video (and blog post) is about the asm.js port of the game (and other possible solutions), not about the game itself.
- ZeroGravitas 13y agoIsn't the connection that Unreal's cross platform support was written in C or C++ and they ported it to a web browser in a week by compiling that to asm.js?
- mistercow 13y agoI feel like "compatible with all modern browsers" is a little dishonest as long as Apple keeps dragging their feet with WebGL in iOS. I know that this isn't an asm.js problem, but the implication is that you can make a game like this which runs in all modern browsers, and that's simply not true yet.
- azakai 13y agoI would argue that a browser without WebGL is not a "modern browser". WebGL is part of what a browser is today, and it works (and is on by default) in recent versions of Internet Explorer, Chrome, Firefox and Opera.
- mistercow 13y agoI agree in some sense, but the honesty of a statement depends partly on how the audience can reasonably be expected to interpret it. And you can reasonably expect an audience to interpret "modern web browser" to include any major browser released within the last year.
- azakai 13y agoI disagree, when IE8 and 9 came out, and within a year of their release, did many people consider them "modern browsers"? I don't think so. (Only with IE10 and really with 11 did Microsoft's browser be worthy of that designation.) New != Modern
- grogenaut 13y agoIt runs pretty slow with newest nvidia drivers on a 2 year old lenovo laptop with a decent graphics card. Getting sub 10fps. It's impressive that it works though.
- vertex-four 13y agoTrying to open this up on Chrome to see whether it works, it can't download files, because the S3 bucket doesn't give an Access-Control-Allow-Origin header. Can they put a CORS configuration up? http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how... and http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketP...
- marcosscriven 13y agoI really wish iOS enabled WebGL in Safari. Not sure why they don't, because it's available in web views on their iAd web view, and thus technically possible.
- jhvh1134 13y agoI often wonder if they are just concerned about delegitimizing their app market to some degree. Flash gave a similar threat.
- est 13y agoUncaught TypeError: Cannot call method 'createBuffer' of undefined blob:http%3A//www.playverse.com/5295321b-d5f5-4862-8065-821e3ded7e1d:5046
- chris_wot 13y agoOn my iPhone, when I go to play Monster Madness it takes me to apple.com - any reason?