Well, even Steam nowadays is kind of a wrapper for a browser.
Well, even Steam nowadays is kind of a wrapper for a browser.
This was reinforced recently when an incredibly good software engineer I knew recently got stuck with a problem. It ended up being a networking problem but his understanding of anything deeper than basic DNS settings was approximately zero. I was actually amazed given I assumed from his other knowledge that he would have a similar understanding of deep network concepts.
I think this happens just as much in companies. Yes, they may have 100s of insanely good graphic programmers who can do crazy low level stuff with shaders on GPUs, but do you know how to build a set of scalable and extendable web services to power a GUI app, with localisation, payment methods, 2FA, etc. I have seen some absolutely insane APIs written by game devs before, basically reinventing the wheel to pull a news feed in.
>I was actually amazed...
You countered your own argument there.
As a very well known figure in the React community, the creator of Redux and currently working for Facebook on the React core team, he says people often think he's an expert in everything.
I imagine that it is implemented and maintained entirely by people who are biding their time waiting for an opening on a team where they get to do something they give half a damn about, because it is pretty clear that nobody has put any love into this stuff.
A friend at a large GPU maker was mentioning that a lot of "squeezing all possible compute abilities" for games are in the driver, rather than in the game itself. Which is why you'll often see significant performance improvements with driver updates after a game has launched.
It makes sense as it's in the GPU makers' best interest to have the maximum performance, or else they'll be crushed in benchmarks.
He actually did spend significant effort optimising his shaders to get good performance on PC, but an Nvidia driver update would silently replace some of his code with hardware-optimised shaders they'd written themselves (similar to how Windows 95 had a hard-coded fix for Sim City).
This was never advertised publicly, and the only reason he found out was because he debugged the executable and noticed his shaders were never actually being executed.
I believe this is the story OP mentioned [1].
> Windows 95? No problem. Nice new 32 bit API, but it still ran old 16 bit software perfectly. Microsoft obsessed about this, spending a big chunk of change testing every old program they could find with Windows 95. Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
[1] https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii...
Or, sometimes GPU folks will send a team over to help the game studios fix performance issues during their development.
There are some studios who push the envelope and make beautifully optimized games. There are many, many more who ineptly cobble together components and make something that runs well-enough.
Of course, after release, the biggest improvements come from outside the game dev team. The point is not to forget all the improvements very carefully and skillfully baked in before release, just because consumers don't see the delta.
The wage slaves they've got working on the store and launcher front-ends are probably not the same highly talented designers and others that they have working 80 hours trying to panel-beat a game into a shape that they can get out of the door without too many major patches being needed in the days following release.
this is bathesda. There won't be many patches, but not because its bug free, but because its broken and will remain that way. The community will patch it, right?
Most game studios produce poorly optimized junk and are barely managing to ship a working product.
Every company has an attention budget to spend from.
Which ones are those?
* https://www.improbable.io/blog/thanos-prometheus-at-scale)
The League of Legends client (which launches the actual game) is awful too. I don’t understand how it continuously burn 20% of CPU when doing nothing.
Epic
Valve
Guerilla Games
(IMO)
Rockstar San Diego
Studios who choose/have the freedom to release a game "when it's ready", and/or have Sony/Microsoft backing.
One can hope Microsoft's acquisition of Bethesda will change their ways, but having set the release date of Starfield (11/11/22) so far ahead of time doesn't inspire confidence... hopefully they'll have the freedom to push this back if needed.
I'm pretty sure the "new" Steam UI (the current one) is fully ported to basically be like an Electron app (I don't think it's literally Electron, but same concept).