The game I'm working on targets lower end graphics capabilities machine users.
Should I make my game's graphics lower quality so that everyone can play it or make its graphics high quality so that people must go and buy a new GPU to play it?
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.Sign up to join this community
Many of the expensive effects (lighting, high-res textures, etc) make a game beautiful, but are not usually necessary. Of course there are exceptions. A stealth game, for example, would depend heavily on lighting and shadow effects, making it really difficult to cut corners. Turning off most effects won't break a game, even if it makes it look ugly.
Unless you are a AAA game studio with a high marketing budget and a highly anticipated game, you cannot expect players to upgrade their computers just to run your game. To them, a game with high system requirements is a broken game. You don't get to assume a certain reasonable benchmark, like you would if publishing for a console. Instead you must assume that there will be at least some players who don't have the latest and greatest, buy the game, and then feel cheated because they can't run it. On the flip side, having expensive effects is great for showing off the game. Those with powerful machines are probably the ones sharing screenshots and gameplay videos. You want people watching these to see that this is a modern game, not something from last decade.
I know Unity at least makes it easy to work with, by default, six different quality settings, although you can add more. These adjust the texture resolutions, pixel light counts, shadow distances, etc., and the default values for those already work well for most requirements. I would expect that most modern game engines would have a similar system.
It depends on how much effort you want to put into this
You could, of course, make the graphics very simple so that anyone can run it. This may put some people off from playing it though, since they want a game that looks good.
To fix this, you could have different graphics settings which the user can select. This is done in lots of big PC games these days, where there are defaults for different graphics levels. Most of them also allow players to turn on and off features like shadows and particles to adjust the performance.
This will take a lot of work to implement though and it is only done by the big games made by companies. If you don't want to go into that much length, you could perhaps just have two settings. One of them will have shading, textures, and all of the high level graphics. The other will have all of those disabled so that any computer can run it.