With WASM it might actually run faster in the browser as well.
It does, but the main speedup comes from using WebGL instead of Canvas2D. Sadly, Canvas2D is still as slow as it ever was and I really wonder why. Years back I wrote a standalone Canvas2D implementation[1] that outperforms browsers by a lot. Sure, it's missing some features (e.g. text shadows), but I can't think of any reason for browser implementations needing to be _that_ slow. [1] https://github.com/phoboslab/Ejec…
Porting my JavaScript game engine to C for no reason
31–40 of 139 posts
Re: Porting my JavaScript game engine to C for no reason
#32Re: Porting my JavaScript game engine to C for no reason
#33The history section does not feel quite accurate. From what I recall, what killed Flash wasn't iOS, but rather the acquisition of Macromedia by Adobe.
Flash game sites were still huge and popular after Adobe’s purchase, so clearly it did not kill it. If you mean something like that the acquisition started the death… that’s a hard position to argue against, since it’s subjective. Perhaps you’re right.
Re: Porting my JavaScript game engine to C for no reason
#34The next logical step is to port this to WASM so that it can run in the browser.
Re: Porting my JavaScript game engine to C for no reason
#35Re: Porting my JavaScript game engine to C for no reason
#36> Many Web games were created with Impact [the game engine from the article] and it even served as the basis for some commercial cross-platform titles like Cross Code, Eliot Quest and my own Nintendo Wii-U game XType Plus. Cross Code is an excellent game. I knew that it used web tech and I was constantly amazed by how performant it was on the Nintendo Switch hardware. I would guess that this engine deserves some cred…
Re: Porting my JavaScript game engine to C for no reason
#37"Thoughts on Flash" may just have saved the Web platform at its hour of greatest need, ie. creeping dominance of a single piece of software. I believe that somewhere in there was frustration with Adobe who seemed to abandon the MacOS platform support for Windows' much larger user base, eg. Mac versions were always behind Windows versions. Perhaps Jobs also may've felt that there would be no Adobe without Apple as muc…
Re: Porting my JavaScript game engine to C for no reason
#38Earlier quoted context omitted.
WASM still needs better multi-threaded support. We built a game in Bevy and it took minutes to sequentially load in all of the assets.
You don't need multithreading to get concurrent asset streaming, a completion callback or async-await-style code will work too (after all, that's how most Javascript web games load their assets "in the background"). Also, browsers typically restrict concurrent download streams to about 6 (the exact number is entirely up to the browser though) - so you can have at most 6 asset files 'in flight'. In the end you are sti…
Re: Porting my JavaScript game engine to C for no reason
#39The next logical step is to port this to WASM so that it can run in the browser.
The engine already compiles to WASM, see TLDR.
Re: Porting my JavaScript game engine to C for no reason
#40Earlier quoted context omitted.
Flash game sites were still huge and popular after Adobe’s purchase, so clearly it did not kill it. If you mean something like that the acquisition started the death… that’s a hard position to argue against, since it’s subjective. Perhaps you’re right.
Adobe had competing products mostly based on open standards. They shut down many active product lines and merged what was left into Adobe AIR, which didn't take off.