this post was submitted on 19 Jan 2025
223 points (98.7% liked)
Games
17247 readers
462 users here now
Video game news oriented community. No NanoUFO is not a bot :)
Posts.
- News oriented content (general reviews, previews or retrospectives allowed).
- Broad discussion posts (preferably not only about a specific game).
- No humor/memes etc..
- No affiliate links
- No advertising.
- No clickbait, editorialized, sensational titles. State the game in question in the title. No all caps.
- No self promotion.
- No duplicate posts, newer post will be deleted unless there is more discussion in one of the posts.
- No politics.
Comments.
- No personal attacks.
- Obey instance rules.
- No low effort comments(one or two words, emoji etc..)
- Please use spoiler tags for spoilers.
My goal is just to have a community where people can go and see what new game news is out for the day and comment on it.
Other communities:
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
So poorly optimised you need future technology to run it isn't the future proofing strategy I'd go with, but ok...
So, I've seen this phenomenon discussed before, though I don't think it was from the Crysis guys. They've got a legit point, and I don't think that this article does a very clear job of describing the problem.
Basically, the problem is this: as a developer, you want to make your game able to take advantage of computing advances over the next N years other than just running faster. Okay, that's legit, right? You want people to be able to jack up the draw distance, use higher-res textures further out, whatever. You're trying to make life good for the players. You know what the game can do on current hardware, but you don't want to restrict players to just that, so you let the sliders enable those draw distances or shadow resolutions that current hardware can't reasonably handle.
The problem is that the UI doesn't typically indicate this in very helpful ways. What happens is that a lot of players who have just gotten themselves a fancy gaming machine, immediately upon getting a game, go to the settings, and turn them all up to maximum so that they can take advantage of their new hardware. If the game doesn't run smoothly at those settings, then they complain that the game is badly-written. "I got a top of the line Geforce RTX 4090, and it still can't run Game X at a reasonable framerate. Don't the developers know how to do game development?"
To some extent, developers have tried to deal with this by using terms that sound unreasonable, like "Extreme" or "Insane" instead of "High" to help to hint to players that they shouldn't be expecting to just go run at those settings on current hardware. I am not sure that they have succeeded.
I think that this is really a UI problem. That is, the idea should be to clearly communicate to the user that some settings are really intended for future computers. Maybe "Future computers", or "Try this in the year 2028" or something. I suppose that games could just hide some settings and push an update down the line that unlocks them, though I think that that's a little obnoxious and would rather not have that happen on games that I buy -- and if a game company goes under, they might never get around to being unlocked. Maybe if games consistently had some kind of really reliable auto-profiling mechanism that could go run various "stress test" scenes with a variety of settings to find reasonable settings for given hardware, players wouldn't head straight for all-maximum settings. That requires that pretty much all games do a good job of implementing that, or I expect that players won't trust the feature to take advantage of their hardware. And if mods enter the picture, then it's hard for developers to create a reliable stress-test scene to render, since they don't know what mods will do.
Console games tend to solve the problem by just taking the controls out of the player's hands. The developers decide where the quality controls are, since players have -- mostly -- one set of hardware, and then you don't get to touch them. The issue is really on the PC, where the question is "should the player be permitted to push the levers past what current hardware can reasonably do?"
This is why I really respect when a game has very clear separations on the slider indicating that one end is very intensive, bonus points if the game warns me that it might but run well at maxed settings.
Yeah, I agree that the "this particular setting is performance-intensive" thing is helpful. But one issue that developers hit is that when future hardware enters the picture, it's really hard to know what exactly the impact is going to be, because you have to also kind of predict where hardware development is going to go, and you can get that pretty wrong easily.
Like, one thing that's common to do with performance-critical software like games is to profile cache use, right? Like, you try and figure out where the game is generating cache misses, and then work with chunks of data that keep the working set small enough that you can stay in cache where possible.
I've got one of those X3D Ryzen processors where they jacked on-die cache way, way up, to 128MB. I think I remember reading that AMD decided that on the net, the clock tradeoff entailed by that wasn't worth it, and was intending to cut the cache size on the next generation. So a particular task that blows out the cache above a certain data set size -- when you move that slider up -- might have horrendous performance impact on one processor and little impact on another with a huge cache...and I'm not sure that a developer would have been able to reasonably predict that cache sizes would rise so much and then maybe drop.
I remember -- this is a long time ago now -- when one thing that video card vendors did was to disable antialiased line rendering acceleration on "gaming" cards. Most people using 3D cards to do 3D modeling really wanted antialiased lines, because they spent a lot of time looking at wireframes, and wanted them to look nice. They were using the hardware for real work, were less-price sensitive. Video card vendors decided to try and differentiate the product so that they could use price discrimination. Okay, so imagine that you're a game developer and you say that antialiased lines -- which I think most developers would just assume would become faster and faster -- don't have a large performance impact...and then the hardware vendors start disabling the feature on gaming cards, so suddenly cards are maybe slower rendering than earlier cards. Now your guidance is wrong.
Another example: Right now, there are a lot of people who are a lot less price sensitive than most gamers wanting to use cards for parallel compute to run neural nets for AI. What those people care a lot about is having a lot of on-card memory, because that increases the model size that they can run, which can hugely improve the model's capabilities. I would guess that we may see video card vendors try to repeat the same sort of product differentiation, assuming that they can manage to collude to do so, so that they can charge people who want to run those neural nets more money. They might tamp down on how much VRAM they stick on new GPUs aimed at gaming, so that it's not possible to use cheap hardware to compete with their expensive compute cards. If you're a vendor and thinking that blowing, say, 2x to 3x the VRAM current hardware has N years down the line is reasonable for your game, that...might not be a realistic assumption.
I don't think that antialiasing mechanisms are transparent to developers -- I've never written code that uses hardware antialiasing myself, so I could be wrong -- but let's imagine that it is for the sake of discussion. Early antialiasing ran by using what's today called FSAA. That's simple and for most things -- aside from pinpoint bright spots -- very good quality, but gets expensive quickly. Let's say that there was just some API call in OpenGL that let you get a list of available antialiasing options ("2xFSAA", "4xFSAA", etc). Exposing that to the user and saying "this is expensive" would have been very reasonable for a developer -- FSAA was very expensive if you were bounded on nearly any kind of graphics rendering, since it did quadratically-increasing amounts of what the GPU was already doing. But then subsequent antialiasing mechanisms were a lot cheaper. In 2000, I didn't think of future antialiasing algorithm improvements -- I just thought of antialiasing entailing rendering something at high resolution, then scaling it down, doing FSAA. I'd guess that many developers wouldn't either.