4 ms·
> Why would I want to play a 3D game in my fucking browser of all places? To provide users a way to instantly play a game without having to download all assets
by Flux159 2y ago
> Why would I want to play a 3D game in my fucking browser of all places?
To provide users a way to instantly play a game without having to download all assets at once. Give developers a potential way to avoid app store royalties of up to 30% on desktop or mobile. With wgpu in rust, you can also target WebGPU as a shared 3d runtime that will run across OS's natively rather than having to target Vulkan, Metal, and DirectX.
> Why would I want to run an LLM in the browser, I could just run it natively for better performance?
What about users who don't know how to download a model and run it locally? I would argue this is the vast majority of users in the world. Also, this specific use case is probably not going to be generalized with WebGPU yet due to model sizes, but rather other APIs like the Prompt API in Chrome which will use Gemini Nano embedded into the browser (assume it will eventually get standardized). https://developer.chrome.com/docs/ai/built-in-apis https://developer.chrome.com/docs/ai/built-in-apis
I agree with you that WASM and WebGPU will be used for adware, targeting, and spyware - but if you don't want to use them, you should disable them in your browser settings - there's definitely value add for other users even if you can't see any benefits.
- stackghost 2y ago>To provide users a way to instantly play a game without having to download all assets at once There's a reason QuakeLive didn't catch on and it's because streaming resources to the player makes for awful UX. >What about users who don't know how to download a model and run it locally? Those users also don't know how to compile MS Word from source but they have been getting along just fine with installers.
- dartos 2y agoThe ability to paste a URL into a browser and have that be everything you need to do to play a game is pretty compelling for many kinds of games. That’s what made flash games so big back in the day.
- pjmlp 2y agoURLs can also be mapped into native applications, it is a matter of the right OS. https://developer.android.com/training/app-links https://developer.android.com/training/app-links
- dartos 2y agoThat’s a different flow though. Pasting URL into browser, then having access to game Vs Pasting url in browser Get link to install app Install app Navigate to the original url again. Technical capabilities don’t always change user experience
- pjmlp 2y agoApplication streaming, no need for installation before using.
- skydhash 2y ago> To provide users a way to instantly play a game without having to download all assets at once No need for the web in that case, which is inefficient. You can do with like those 1MB installers and stream those assets. > but if you don't want to use them, you should disable them in your browser settings Which the majority won't. People don't even go in their phone settings, apart from connecting to WiFi and changing their wallpaper.
- zztop44 2y agoI don’t want to download a random executable from some unknown source. However, I trust the browser sandbox.
- skydhash 2y ago> I don’t want to download a random executable from some unknown source Why would you do that? --- There's few applications that warrant having direct access to the GPU and other devices. And for those, a native app would be a much efficient way (for the user).
- text0404 2y agoyeah but users don't care about technical efficiency, they care about having seamless experiences that aren't interrupted by long downloads, app/context switching, and loading screens.
- skydhash 2y agoWhich the web doesn't provide. Try opening Figma and Sketch at the same time or Mail.app and Gmail. Google Doc is closer to Wordpad than Libreoffice.
- account42 2y agoI however don't trust the browser sandbox when it is continuously expanded with bloat that normal websites don't need.
- MindSpunk 2y agoBrowsers will never run games that aren't toys or use very simple assets in a way that doesn't completely suck. High quality assets need gigabytes of data. You either require users to download all the assets upfront (the thing we're trying to avoid) or streaming the assets dynamically. You end up having to re-implement steam to keep a local copy of the assets on the client device yourself, expect browsers to do the same to manage caching the gigabytes of data transparently, or design your game around a very slow storage device or use tiny assets. Flash games worked because they fit very nicely into the 'tiny assets' category.
- sroussey 2y agoPWA to cache everything locally?
- iknowstuff 2y agoStreaming assets seems reasonable.
- pjmlp 2y agoApplication streaming sorts that out, with much better tooling for 3D development.