Earlier quoted context omitted.
> What’s your point? He's addressing the problem with your hypothesis that "native games on the web will disrupt Steam" by pointing out that you're comparing apples (a technology platform) and oranges (a distribution channel). Steam doesn't exist because games don't use WASM.
There's all that stuff on other platforms. Reddit subreddit indie games would be neat if I could just open the post and play the game. I can't imagine I'd use Steam much after that. (And I guess facebook would do the same.) As for payments, I already pay mostly through Google pay or through paypal. Steam isn't adding a huge amount of value.
Pay attention to WebAssembly
241–250 of 251 posts
Re: Pay attention to WebAssembly
#242Earlier quoted context omitted.
Thoughts on gaming’s role to play with WebAssembly..? My team and I are current working on Unreal Engine WASM support, with WebGPU integration on the way. Personally, I believe native games on the web is going to disrupt Steam and the app stores and enable a whole new distribution channel for developers, especially indies. No 30% cut, works on any device with a browser.
Some advantages that Steam will still have: 1. Steam provides a system for user accounts and profiles 2. Steam handles payment securely for both buyers and sellers 3. Steam handles social networks/friend list/multiplayer 4. Steam allows you to have all your games in one place 5. Steam is a platform for reviews 6. Steam has its own internal economy/marketplace
8. Has a platform for modding (Workshop)
9. Has sales every few months
10. Has festivals that give new games exposure to a big audience
The list goes on... It's always better to have more competition, but anyone trying to disrupt Steam has several big challenges ahead, not just running games on the browser. I imagine Steam could start offering games in WASM as well.
Re: Pay attention to WebAssembly
#243Earlier quoted context omitted.
Incidentally, Minecraft Java has always had horrible performance, to the point where it was rewritten in C++. There are two versions of Minecraft now. The main reason Minecraft Java is still alive is the hackability and the resulting extensive mod ecosystem.
It was rewritten in C++, because Playstation, XBox, iOS, Android[0] don't do Java and Microsoft wanted a single codebase. [0] - Android Java isn't really the same Java as in Minecraft.
Re: Pay attention to WebAssembly
#244Grafbase is an edge-first data platform for developers. It will allow you to deploy globally fast backends using a Git workflow.
We're also betting big on server-side WASM.
We're launching the private beta in a few months. Sign up for early access if you're interested in building this with us: https://grafbase.com
Re: Pay attention to WebAssembly
#245Earlier quoted context omitted.
The only significant perf advantage WebAssembly has in browser vs JS is currently access to (Pentium II era) SIMD. This is a regrettable choice, because most languages targeting the browsers are now lacking access to SIMD. Heavier computation is currently being done with WebGL shaders (eg Google Meet background swap, TensorFlow tfjs).
> Heavier computation is currently being done with WebGL shaders Re: in-browser heavy-computation: Where can I learn more about these patterns to get started? Books / blogs? Thx.
Rereading the blog post, they do seem to use WebAssembly as well there and the abovementioned SIMD feature (through XNNPACK).
Re: Pay attention to WebAssembly
#246Earlier quoted context omitted.
The author isn’t saying it’s a “cure all performance solution.” The quote you copied uses cautious language like “almost always” and “results do vary.” The author also cites real world apps that have switched to WASM and seen big performance gains (Figma and 1Password), which is much more compelling than the benchmarks you shared.
You do realize that I didn't put up those benchmarks and wrote the article way back in 2017 just so that I can pick on a passage in this article? I was (and still am to a degree) excited about WASM, actually ported a significant chunk of my business logic from JS to C++ only to discover that the whole thing offered only ~20% performance boost, which didn't merit maintaining a whole separate toolchain. I'm not questio…
I made that comment in good faith pointing out that the author was not saying WASM is a catch all performance booster.
But I could get on board with your claim here that “almost always” is disingenuous (which wasn’t what you were saying in the previous comment).
Re: Pay attention to WebAssembly
#247I'm afraid WASM is going to break the internet. There will be the real, now fully closed apps (silos, walled gardens, call them whatever you want) and the remnants of what the internet was, written in HTML, an observable, hackable text. In the other hand... Java couldn't pull this off. Flash couldn't pull this off either. So we'll see.
Re: Pay attention to WebAssembly
#248Earlier quoted context omitted.
> The bulk of Figma rendering is Figma-custom GPU code. It's true that Figma uses Skia, but only for some specific graphics algorithms in Skia, not as a general purpose rendering library. Can I ask why you went that route, instead of just using Skia?
I don't know the history, but I think Figma predates much public knowledge about Skia. Further, I have the impression that Figma has pretty specific and complex graphics needs. For one example of the sort of thing I mean, we decode image data in JS and put it into GL textures without the Wasm side ever seeing the pixel data, so that the browser can (potentially) decode on a background thread and uncompressed pixel da…
I'm pretty sure this can be done in Skia in C++, so it should be possible with WASM. I think it possible to create a Skia surface using an existing GL texture buffer object.
Re: Pay attention to WebAssembly
#249Earlier quoted context omitted.
So, honest question. if we're compiling our code to run on servers, why are we compiling it to run on a bytecode interpreter rather than native? My single use for docker is to containerize / isolate, not to run across architectures. I get the in-browser optimized / compiled code. That makes sense.
Wasm doesn't have to run in an interpreter. Many of the runtimes (like Wasmtime, Wasmer) compile the Webassembly to native machine code first. But that native code is still constrained by the Wasm security/sandboxing model, which includes memory isolation. (there is no direct memory sharing between the host and a Webassembly instance) A few benefits why it is even useful in a server context: You can distribute a sing…
What is that wasm project you're working on, if it has been publicly announced / released? It sounds very similar to Microsoft's Krustlet.dev and Suborbital's Atmo: https://github.com/suborbital/atmo