5 ms·
It's interesting to think of the reasons we don't have browser-based 3D renderers. Sure, WebGL exists. But it seems like the promise fizzled out, and I'm not qu
by sillysaurusx 5y ago
It's interesting to think of the reasons we don't have browser-based 3D renderers. Sure, WebGL exists. But it seems like the promise fizzled out, and I'm not quite sure why.
Maybe it's as simple as "Steam is the money pipeline, and everyone makes native games on Steam."
- pjmlp 5y agoEasy, so many reasons beyond just blaming Apple, - WebGL is a subset of ES 3.0, when the hardware can do GL ES 3.2 - WebGPU, when it arrives sometime during 2022, it will be a 1.0 MVP of the features from Metal, Vulkan and DX 12, with yet another shading language that looks like a mix of C++/HLSL/Rust, WGSL. - If you just want compute, now WebGPU is the only option, although GL ES 3.2 has it. After two failed attempts from Intel, Chrome folks managed to force everyone to use WebGPU instead, so that is ready when WebGPU is ready. - Lack of tooling, to debug WebGL you have basically to debug the browser process and try to track down your 3D calls from the browser own ones (there is a SpectorJS, which is quite simple when compared against something like Pix or REnderDoc) - Browsers black list consumer's hardware/software, so content producers have no idea how well it actually runs. - Indie game development moved from Flash into mobile, where tooling is much better. Finally, I leave you the Flash demo for Unity 3 using CrossBridge[0] and Stage 3D [1], back in 2011. https://www.youtube.com/watch?v=UQiUP2Hd60Y https://www.youtube.com/watch?v=UQiUP2Hd60Y [0] - https://adobe-flash.github.io/crossbridge/ https://adobe-flash.github.io/crossbridge/ [1] - https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage3D.html https://help.adobe.com/en_US/FlashPlatform/reference/actions...
- mobmunk823798 5y agoI tried to do mobile web gamedev and found it impossible: both Apple and Google break mobile web games in different ways, I presume because it could threaten the 30% cut their mobile stores get. For example, the HTML5 Minecraft I've never seen run properly in a mobile web browser: https://classic.minecraft.net/ https://classic.minecraft.net/ Mobile Safari: - Forever lacked >WebGL 1.0 - WebGL very slow compared to native - Won't let you use accelerometer, motion control, etc., because "Privacy" (but privacy loving Apple was totally going to scan our iPhone photos until we all raised hell...) - Web Audio stack breaks games in interesting ways desktop doesn't. "Oh, we don't let you load .mp3 audio samples by default like desktop browsers can...." Android Chromium: - Has 200-300ms audio latency on many devices. Here's a demo where touching/clicking the squares should have instant response (try it on desktop) but many Androids have the lag: https://webaudiodemos.appspot.com/TouchPad/index.html https://webaudiodemos.appspot.com/TouchPad/index.html
- fenomas 5y ago> the HTML5 Minecraft I've never seen run properly in a mobile web browser: > https://classic.minecraft.net/ https://classic.minecraft.net/ I think that site just doesn't grok touch. Tech-wise, I believe it would run okay on modern phones if the controls were sorted out.
- TazeTSchnitzel 5y agoChrome and Safari both have WebGL debuggers that let you see all the API calls made IIRC. It's not RenderDoc but it's not that bad?
- pjmlp 5y agoChrome certainly doesn't have such thing unless you mean SpectorJS, yes it is bad, it is pre-historic compared with something like RenderDoc and Pix, which can on Pix's case, I can even single step and set breakpoints on shader code.
- astlouis44 5y ago"Steam is the money pipeline, and everyone makes native games on Steam." This is 100% it, everyone thinks browser games are a thing of the past and that's it, end of story. Well, they couldn't be more wrong and I'm happy to explain why. The tooling for developers traditionally just hasn't been there. Developers coming from the native game engine world typically don't have a firm grasp of web technologies, so the ones that do target it get massive file sizes which turns off anyone who would actually try it out, but ends up getting frustrated and closes the tab. Shameless plug, but my team and I are on a mission to solve this for Unreal Engine developers looking to export their projects to HTML5. The potential for the gaming and metaverse opportunity in the browser is enormous, so to this end we're bringing the full power of UE4/UE5 to WASM, in combination with WebGPU + WebXR to deliver experiences that rival anything on Steam or other storefronts or app stores. In addition to our hosting platform for deploying, maintaining, and monetizing, we offer a suite of tools for optimization that include compression for drastically reduces file sizes, and on the fly asset fetching to keep load times as short as possible. The goal is near native performance, with faster deployment and accessibility than Steam. For developers and creators, there's no unnecessary 30% cut of your virtual worlds and real-time 3D applications to walled gardens. Add in that you only have one codebase to main that when deployed, it just works everywhere with a browser. For users, play is a single click away, no local installs or dedicated clients required on computers or mobile. Link to our website: https://www.theimmersiveweb.com/ https://www.theimmersiveweb.com/ Link to our Discord: https://discord.gg/zUSZ3T8 https://discord.gg/zUSZ3T8
- pjmlp 5y agoHow are those Unreal developers supposed to debug WebGL, GLSL shaders, and browser profiling of their WebAssembly code?
- lodovic 5y agoI understood the major challenge isn't about displaying a 3d model, but content caching and distribution. Are you going to download 4gb of textures and keep that in local storage?
- robbedpeter 5y agoThe browser is not an appropriate medium for games that need non trivial access to local storage and system input. Browser compatibility, and being subordinate to multiple third parties isn't great, either. Rather than fighting with browser limitations, it's easier to package, deliver, and maintain a stand-alone application. Steam isn't a major consideration once you've gone into the weeds of implementing software that colors outside the usual browser lines.
- deleted 5y ago[deleted]
- tehlike 5y agoThis is changing. Browser has 0 friction distribution and security advantage other mediums don't have
- robbedpeter 5y agoThat security advantage is the reason it's inappropriate for certain things. One of those things is i/o intercept. You don't want browsers to be able to do certain things that games or first class apps can.
- binarynate 5y agoUnity's WebGL player is alive and well: https://docs.unity3d.com/2021.2/Documentation/Manual/webgl-gettingstarted.html https://docs.unity3d.com/2021.2/Documentation/Manual/webgl-g...
- pjmlp 5y agoIt is alive, regarding well it depends, given how little it is actually used, and Project Tiny seems to have been dropped.
- asiachick 5y agohttps://play.unity.com/ https://play.unity.com/ https://simmer.io https://simmer.io there are several other unity only web game sites and lots of others with not just unity https://itch.io/games/free/unity https://itch.io/games/free/unity
- meheleventyone 5y agoThere’s Shadertoy and Three.js although the main reason we don’t see many 3D web games is both Steam being where the money is, portability to consoles and asset size. The latter in particular makes the web unattractive to game developers used to delivering gigabytes. It’s a different mode of production and people won’t make that switch en masse until someone proves it out. Now Blender is really good we’re seeing a lot more indie games exploring low-poly 3D aesthetics. Further the increasing viability of using more compact formats like SDF hopefully means we see even more people realising they can actually build something on the web.
- WithinReason 5y agoThe Xbox actually has a working browser: https://www.youtube.com/watch?v=vw_4kiYvEmE https://www.youtube.com/watch?v=vw_4kiYvEmE
- meheleventyone 5y agoYeah we shipped by accident on it thanks to that: https://twitter.com/bobbydigitales/status/1441446078511939591 https://twitter.com/bobbydigitales/status/144144607851193959... You can even plug a keyboard and mouse in and use all our game editors.
- astlouis44 5y agoWell old titles that are on Steam have been ported to WebAssembly... and keep in mind these are just straight ports with little to no compression or asset fetching to reduce the file size and load times. Curse of Monkey Island: https://personal-1094.web.app/scummvm.html https://personal-1094.web.app/scummvm.html (press esc key right away upon load to skip straight to playing) Baldur's Gate 2 demo: https://personal-1094.web.app/gemrb.html https://personal-1094.web.app/gemrb.html Diablo demo: https://d07riv.github.io/diabloweb/ https://d07riv.github.io/diabloweb/ Humongous Arts games: Spy Fox in Dry Cereal demo: https://thatgamedev01.itch.io/spyfoxindrycereal https://thatgamedev01.itch.io/spyfoxindrycereal Pajama Sam demo: https://thatgamedev01.itch.io/pajama-sam-3 https://thatgamedev01.itch.io/pajama-sam-3
- zurn 5y agoWe do. Follow some of the Three.js people in Twitter to see some interesting things people are making, eg https://twitter.com/mrdoob https://twitter.com/mrdoob For example this IFC-in-browser thing looks amazingly useful: https://twitter.com/ifc_js/status/1462880392915083269 https://twitter.com/ifc_js/status/1462880392915083269
- technobabbler 5y agoAs a gamer, Steam is about way more than mere distribution. It's a community: discussions, chat, friends, voice chat, screen share, remote play over the internet, cloud saves, sales, filters, betas, tags, mods, library management, matchmaking, etc. It's way better at those things than Epic Store, GOG, Microsoft or Apple or Google stores. Valve has been evolving it as a platform for decades and its competitors just aren't very good at all. Even if you can get the game's renderer and UI to reach parity, it's hard to overcome the UX and network effects of Steam. And that sort of ecosystem fragmentation (alternative platforms often don't offer crossplay) is bad for gamers, not to mention having to implement different multiplayer pipelines makes lives harder for devs. Gaming on the web might be nice for trashy flash like games, but for anything more, why would anyone waste time on that when there's much better curated experiences on Steam, or barring that, mobile app stores and Switch? There are already enough excellent indie games to last several lifetimes. Not gonna waste time exploring the dark corners of the web to try some amateur's experiment with webgl. If they're not on an established game platform by now, I could only assume the devs care about their philosophies more than end user experience, and it would be a subpar experience even if I got the graphics to load (big if). Even something like GeForce Now (cloud rendered streaming games) use Steam and Steamworks APIs for the community and multiplayer APIs. It's therefore much better than competitors like Google Stadia (which is pretty much dead and has no community). GOG has a niche but only for single player games. For multiplayer it's either Steam or dead matchmaking. Maybe a more interesting comparison is something like boardgamearena or boardtopia, which offer not just simple games but also the marketplace and matchmaking features of their own. They have established their own communities finding a niche (digital low fi board games) that Steam has neglected.
- pjmlp 5y agoAnd streaming technologies have a big advantage, they can take full advantage of modern hardware without any sort of driver issues on the client side blacklisting the page.
- technobabbler 5y agoYeah, now just waiting for the last mile connections to catch ip Maybe another decade or so... WiFi is also still not up to par just quite yet. Maybe wifi 6?
- TazeTSchnitzel 5y agoWe do have browser-based 3D renderers, but it's always several years behind the state-of-the-art in terms of what you're allowed to do with the hardware, so I think it tends to only appeal to indie developers like me…