It's interesting, in a way the web is perpetually "still early" because of the churn and deprecation, but at the same time the web is known for extreme legacy support.
Flash Player was used for games starting around 1999, there was Shockwave player, Java applets, and Silverlight too. All of those could have been gaming platforms, but now they're all fully deprecated. I think by the W3C, against the will of Adobe, Oracle, and MS.
But at the same time CSS 1.0 is still fully supported and makes HTML layout forever single threaded and slow.
I think it's something about the web ecosystem and culture, for some reason the wrong choices are made as to what should be legacy and supported forever, and what should be deprecated. I'd bet in 5 years WebGL will be deprecated, while OpenGL still works on Windows and Mac.
Web tech is far behind and churns a lot, WebGPU is just barely a few years old, and there's *many* complaints about it already. WebGL has only been really usable for about 6 years, depending on how you count, and we remember how Flash went. That's not really enough time for people to build their systems.
It's great for 30min experiences, but not for serious stuff.
I don't think it's a propaganda thing, everyone uses the web, if people could just click a link and have a high quality experience they'd do it, it just doesn't happen.
It did some research on this, it seems the problem is that CSS is fundamentally unparallelizable because of how children influence parent layouts. It wouldn't be impossible to fix this with a "CSS 2", or "use strict" that removed the problematic behavior and unlocked godlike performance. But apparently CSS is impossible to sandbox because injecting foreign CSS is extremely common, people use thousands of npm packages and ads inject CSS.
Also the layout engine's complex behavior is a big source of fingerprint data, that along with speeding up the web 100x would make bots a lot cheaper and harder to detect. So there's just no incentive to fix it.
@webprofusion@jorgemanru But games can also instance millions of meshes with different parameters, even with massive amounts of skeletal animations, texture data, etc.
@webprofusion@jorgemanru But in 3d scenes, each triangle can effect each other triangle, through shadows, light emission, and depth occlusion, even in simple cases. It'd be impossible to brute force it, but renderers are clever by using multi-pass and latency hiding techniques, can divs not do the same?
@dkharms_@onehappyfellow FOMO is when you're pushed to do something quickly out of fear of missing out. I'm not sure how that applies to a closed beta.
@Burnvolver@humorMEplzz Although "finished" is relative. It makes sense that if you can instantly patch post release that you wouldn't grind as hard balancing and testing every single interaction.
@Burnvolver@humorMEplzz There is the competitive integrity of older games versus newer ones. Halo 2 only got 4 patches post release and was played competitively for many years with very few exploits. But all modern games are patched continuously as players discover exploits in the mechanics.
@stylewarning@alganet There's the rare application that processes tons of DB queries or is a local LLM harnesses, but the for the vast majority of software, displaying a GUI interface is the most resource intensive part of their job. (1080p is 2 million pixels!)
@DottedAnt@Jonathan_Blow But you also have to simulate everything from neighboring chunks that moved over a chunk boundary. In Terraria there's no wind that moves objects between chunks. And you can't just freeze chunks when you're far away like Noita (chunks do not fast forward when you return to them)
@SeloSlav I thought WebGL was being replaced by a new system with a new language. It'll take another 5 years just to get up to speed, and it might just be replaced again. The web moves too fast and doesn't care enough about robustness to sustain projects much larger than text/video chat.
@SinnersSAW@Jonathan_Blow@Horrorshow369@ThinkSludge@Krtzyy I've always heard the term to refer to things like League of Legends or WoW, one of those games that require a massive time investment and have their own dedicated social media sphere.
@rywalker@dfuqpedro@faizan10114 Point to important bugs found by AI systems? I've heard of a few small ones, but from what I understand, fuzzing still finds more than agents, and everyone's still drowning in CVE's.
@Vuojolahti@firtoz@aeejazkhan And yet stb_image.h decodes png, jpg, gif, tga, hdr, bmp, and a few others I've never heard of, in about 7k lines, no libraries.
You actually can't though, parsing errors will be delivered by Yacc and won't have all the context needed to give good errors. You'd need to build the language then replace Yacc later to get good errors. Which is an option, but also, tokenizing and parsing the grammar is so easy that it's hardly worth bothering to go through it Yacc. And if you give up building the parser you're probably were never going to build a good language imo.
@oxcrowx@jardi21609 @EmbeddedKate Stuff like Yacc is good for skipping the first steps in a classroom-like environment. But parser generators lead to unavoidably terrible error messages if you actually try to write code with the new language.