3 ms·
This has already been possible for years - Unity and Unreal have had ports for a long time. The problem is that the web is a horrible platform to release AAA or
by kevingadd 4y ago
This has already been possible for years - Unity and Unreal have had ports for a long time. The problem is that the web is a horrible platform to release AAA or AA games on. No way to pre-install, arbitrarily small local cache for your assets, long load times (due to slow I/O and code compiling every time), graphics API feature set from a decade ago, limited support for multithreading, SIMD not really widely usable yet (but close!), etc. On Android your game won't start because phones don't have enough RAM to run 64-bit Chrome and 32-bit Chrome doesn't have enough address space for your game. Don't get me started on how bad some of the other APIs are - for example, wanna stay fullscreen on iOS? You can't unless you're using a <video> element, it will constantly boot you out if it even lets you in at all.
WebGPU will help with the 'graphics API feature set from a decade ago' problem but you may have to wait like 2 years extra for it to show up in Safari and ordinary Android phones since Apple delays new features and Android phones don't get updates. Android phones also have horrible video drivers, so it may not work on many handsets ever. Plus you have to rewrite all your shaders in their special snowflake shader language and wait for them to compile on every page load.
Ultimately, Apple doesn't want you shipping browser games because they would rather get 30% of your revenue via the App Store. The Chrome team probably does want you shipping browser games but they're in a difficult situation with the state of the mobile market, they probably need to do painful stuff like implement compressed pointers if they haven't already.
- pjmlp 4y agoExactly my point of view, 3D Web APIs are only good for 3D models in e-commerce, shadertoy like playgrounds, retrogaming and casual games with PS3 like capabilities. And even the PS3 at least had a proper graphics debugger.
- drorco 4y agoYea I was working on a Unity game that originally had a WebGL build. At one point I implemented a 3rd party plugin that required multi-threading for real-time rope simulation (Obi Rope), and at that point WebGL basically became impossible for the game.