Noob trying to understand the *proper* use of screen resolutions

I’m new here, with only a basic understanding of Blender now, and little understanding of performance issues.

What do people normally consider when setting the screen resolution in a game?

My impression is that a high resolution (for example 1400x1050 which is what my desktop is set at) would be too high for many complex games, hence they opt for a lower resolution, say 800x600. Is there a performance issue at play here that I need to understand?

Also, I noticed that when I set my screen resolution to 800x600 it doesn’t use the entire real estate of the screen (I’m running an IBM thinkpad laptop). If I publish a game in 800x600 mode it looks really bad (a small 800x600 window surrounded by mostly black screen). I think this is something my computer does and not common to all systems, but it begs the question: is this an issue I have to think about if I publish a game?

Should I be dynamically choosing the resolution based on the users system?

What are the common approaches here?


Well, the performance difference depends on what is your bottleneck: graphics, physics or logic. If it is graphics, a lower resolution may likely improve the Fps of your game. But I rather recommend eliminate bottlenecks like high poly count, big textures before considering a lower resolution. A non-native resolution scaled to the screen looks mostly quite bad.

So you are suggesting, assuming I don’t have any bottleneck issues, that with a 1.0 public distribution of a game, I should, ideally, have some external logic that determines the users screen resolution and starts the game in the native resolution?

As a best case, best practice scenario.

If you really want to cater to a range of machine configurations, make it user selectable like the commercial games do.

That involves making a menu (not simple, but doable), or doing some sort of startup .bat, shell script or applescript. Or, have a text file with the settings in them the user can edit and that’s loaded on start.

These things can be decided later - first objective is to make your game run well. If you can make it run well in fullscreen on your own machine, you can provide methods to scale it down later.

This is very old, I used all the wrong Python, and I don’t believe it works cross-platform in the version that’s on my server… but it still ought to give you an idea of how to handle the issue. (I really ought to update my website sometime in the next decade… :frowning: )

BTW, people like options. So even if you only use a config file or something… it’s nice to let people turn off fullscreen and select a custom resolution.

I wrote a launcher in C++ for the user to setup their options and then run the game: (first screenshot)

However, I couldn’t get the launcher working in Linux, so I just wrote a simple shell script for Linux users to use. And I haven’t done anything for Mac :s

You can download a version of the game on the downloads page. I have not provided the source for the launcher, but you can still look at the shell script.


I once saw your launcher before and it was great. I should try to do something like that with my game project. Maybe this could be build in with blender 2.5?