It's great to see WASM coming at last, but I must admit I'm a little disappointed (for now, anyway). Huge download, and though it runs smoothly (firefox 50) I'm not really impressed given what was possible with the flash version.
The main idea of killing Flash was because some websites completely ran on it, which is bad. But games never was an issue, and never will be.
Battery life, system resources, downloading assets, ..., it's all the same if you use either Flash or JavaScript.
Newsflash: Apple didn't block Flash because it is "bad", they blocked it because they wanted you to go through their app store
Newsflash: Games written for Flash (in ActionScript3) also run on Android and iOS. It even became "Best Mobile Application Development product" of 2014 and 2015.
They say Flash advertisement banners were annoying, so what do you think about those JavaScript popup banners that pop in the middle of the page you are reading, saying "Please subscribe to our mailing list"?
I you develop a game for Flash, it runs consistently in the Flash plugin. If you develop a game in JavaScript, you need to test it in all browsers you want to support. And yes, they are all different. And still gives troubles so many years later. Surprising? Not for old farts like myself.
But no worries. I looked at my google analytics for the past few years. Most visitors moved to Chrome. Flash plugin installed percentage: remained the same.
Haha - I've run into exactly this problem writing games in HTML5 and JavaScript. I was all smug thinking, "Hah - screw these Flash guys and their stupid loading progress bars because of all that dreadful Flash bloat. I'll show them!"
Except, of course, I didn't, did I?
Because most of that bloat is actually game assets (graphics, textures, sound effects, music, oh, and time spent churning out procedurally generated content), and not just the useless crap I thought it probably was(1), so it makes no difference what you're using as a platform, and you still end up with a progress bar (basically). The code on its own comes down in a flash, but that's only a part of the equation, and in terms of load/initialisation time, not a big part.
Still, what I never do is display a pop-up prompting the user to install Flash, or Unity, or Java, or whatever, which is a definite improvement.
(1) In fairness I do download all sfx and music in the background, so you don't have to wait for them all to load before you can start playing.
IMO flash didn't fit into the open web vision, if I wanted to make my own browser, it couldn't gain traction until adobe decided to release flash for my browser
This feels like history repeating itself. The Flash version still runs better for me than the WebAssembly version, and the Flash version worked well on people's systems 5 years ago! It seems like half of the things I see on HackerNews is JavaScript poorly doing that other solutions did better a decade or more ago
That's why programming is "half a field," according to Alan Kay. If it were a real field, then there would be greater preservation of group knowledge/experience. Instead, it's like a pop culture, subject to cyclic fads, with less overall progress.
For awhile, OOPSLA was full of presentations of things that people did in Java, that had previously been done in Smalltalk. I'm sure many others have parallels.
Also, if Adobe had done a much better job, things would be different. (You could say the same thing for Smalltalk and OO.) But corporate incentive structures are somewhat broken and too short term. This is why Apple could produce a better UX free of bloatware and outcompete Wintel. This is also why Apple is now starting to fail some of its users.
I'm now looking at networking for browser based multiplayer games. WebRTC datachannel has a pretty big header. Websockets carry TCP sematics. I think Flash did this better too!
The best part is that we're just now achieving what we could do in Flash 5-10 years ago, which was capable of achieving what we could do with native code 5-10 years before that.
I never had a problem with Flash games and I haven't heard it many others. Flash games and Flash animation were casualties lost when it fell out of favor.
What I hated with a passion is seeing a progress bar and warning to updates Flash so I could look at the hours for a restaurant down the street. It would also hijack copy/paste and other shortcut keys to switch windows or close the window. I would also hear my CPU fan spin up and battery life drop because I left it open in another browser tab.
When CSS and Javascript started doing things Flash used to do I sighed because while I can use a Flash blocker, I can't do the same for CSS/Javascript.
For me, the WASM version was noticeably slower, with an especially noticeable JIT warmup. It might have been because the asm.js version was running at a lower resolution, so it's not a very fair comparison.
You can transpile this demo to C++ with IL2CPP. It's built into Unity for iOS/Android platforms, never tried to do it on desktop, but I think it must be possible.
Compiling Linux to WASM (yes I know it has been done for single-threaded Javascript, but it would be interesting to know how this would perform on WASM, with threads).
And compiling VirtualBox to WASM would also be cool. If only as a performance indicator.
I tried this with ASM.js - looked impressive to think this was all built with WebAssembly. Haven't seen the flash version, but still this looks awesome for 50mb.
I'm curious, why not use JVM bytecodes for web assembly... or actually any of the legitimate, mature, optimized, hardened runtimes out there? I feel like we're reinventing the wheel, again.
Because the camera doesn't rotate, so when you are facing south, forward would move you backwards on the screen, and strafe-left would move you right on the screen.
[+] [-] k_|9 years ago|reply
Flash version, [at least] 5 years ago: http://tsuyobi.heteml.jp/unity/flash/AngryBots/
It's great to see WASM coming at last, but I must admit I'm a little disappointed (for now, anyway). Huge download, and though it runs smoothly (firefox 50) I'm not really impressed given what was possible with the flash version.
[+] [-] koonsolo|9 years ago|reply
The main idea of killing Flash was because some websites completely ran on it, which is bad. But games never was an issue, and never will be.
Battery life, system resources, downloading assets, ..., it's all the same if you use either Flash or JavaScript.
Newsflash: Apple didn't block Flash because it is "bad", they blocked it because they wanted you to go through their app store
Newsflash: Games written for Flash (in ActionScript3) also run on Android and iOS. It even became "Best Mobile Application Development product" of 2014 and 2015.
They say Flash advertisement banners were annoying, so what do you think about those JavaScript popup banners that pop in the middle of the page you are reading, saying "Please subscribe to our mailing list"?
I you develop a game for Flash, it runs consistently in the Flash plugin. If you develop a game in JavaScript, you need to test it in all browsers you want to support. And yes, they are all different. And still gives troubles so many years later. Surprising? Not for old farts like myself.
But no worries. I looked at my google analytics for the past few years. Most visitors moved to Chrome. Flash plugin installed percentage: remained the same.
[+] [-] bartread|9 years ago|reply
Except, of course, I didn't, did I?
Because most of that bloat is actually game assets (graphics, textures, sound effects, music, oh, and time spent churning out procedurally generated content), and not just the useless crap I thought it probably was(1), so it makes no difference what you're using as a platform, and you still end up with a progress bar (basically). The code on its own comes down in a flash, but that's only a part of the equation, and in terms of load/initialisation time, not a big part.
Still, what I never do is display a pop-up prompting the user to install Flash, or Unity, or Java, or whatever, which is a definite improvement.
(1) In fairness I do download all sfx and music in the background, so you don't have to wait for them all to load before you can start playing.
[+] [-] tonmoy|9 years ago|reply
[+] [-] AstroJetson|9 years ago|reply
... and there goes Tuesdays work plan...
[+] [-] bhouston|9 years ago|reply
I wonder when the first "no wasm" browser plugins will come.
[+] [-] amelius|9 years ago|reply
[+] [-] wingless|9 years ago|reply
[deleted]
[+] [-] kawsper|9 years ago|reply
[0] http://store.steampowered.com/app/630/
[+] [-] moolcool|9 years ago|reply
[+] [-] stcredzero|9 years ago|reply
For awhile, OOPSLA was full of presentations of things that people did in Java, that had previously been done in Smalltalk. I'm sure many others have parallels.
Also, if Adobe had done a much better job, things would be different. (You could say the same thing for Smalltalk and OO.) But corporate incentive structures are somewhat broken and too short term. This is why Apple could produce a better UX free of bloatware and outcompete Wintel. This is also why Apple is now starting to fail some of its users.
I'm now looking at networking for browser based multiplayer games. WebRTC datachannel has a pretty big header. Websockets carry TCP sematics. I think Flash did this better too!
[+] [-] bane|9 years ago|reply
[+] [-] pfranz|9 years ago|reply
What I hated with a passion is seeing a progress bar and warning to updates Flash so I could look at the hours for a restaurant down the street. It would also hijack copy/paste and other shortcut keys to switch windows or close the window. I would also hear my CPU fan spin up and battery life drop because I left it open in another browser tab.
When CSS and Javascript started doing things Flash used to do I sighed because while I can use a Flash blocker, I can't do the same for CSS/Javascript.
[+] [-] bigato|9 years ago|reply
[+] [-] mobiuscog|9 years ago|reply
Really happy about the way this is progressing.
[+] [-] Retr0spectrum|9 years ago|reply
[+] [-] Thaxll|9 years ago|reply
[+] [-] bhouston|9 years ago|reply
[+] [-] runejuhl|9 years ago|reply
[+] [-] curiousgal|9 years ago|reply
[+] [-] imaginenore|9 years ago|reply
UnityLoader.js:72 GET http://webassembly.org/demo/AngryBots/Release/AngryBots.mem 404 (Not Found)
[+] [-] k__|9 years ago|reply
[+] [-] amelius|9 years ago|reply
Also interesting would be to run other virtual machines (JVM) inside WASM, and see what the performance is.
Also interesting: compiling Firefox into WASM, and running it on Chrome (or the other way around) :)
Further, I'd like to see a good test of multithreaded/shared memory performance.
[+] [-] golergka|9 years ago|reply
[+] [-] amelius|9 years ago|reply
Compiling Linux to WASM (yes I know it has been done for single-threaded Javascript, but it would be interesting to know how this would perform on WASM, with threads).
And compiling VirtualBox to WASM would also be cool. If only as a performance indicator.
[+] [-] egeozcan|9 years ago|reply
[+] [-] s3th|9 years ago|reply
[+] [-] curiousgal|9 years ago|reply
[+] [-] reitzensteinm|9 years ago|reply
[+] [-] thedaemon|9 years ago|reply
[+] [-] alexellisuk|9 years ago|reply
[+] [-] exabrial|9 years ago|reply
[+] [-] ndesaulniers|9 years ago|reply
[+] [-] bigato|9 years ago|reply
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] ivrrimum|9 years ago|reply
[deleted]
[+] [-] zimpenfish|9 years ago|reply
[+] [-] skocznymroczny|9 years ago|reply