It is somewhat surprising how often many game developers seem to not pay sufficient attention to the proper presentation of screen resolution choices with respect to aspect ratio in the settings screens (a.k.a. configuration pages) of games.
Many games (especially PC based games) will present the user with a list of resolutions to choose from somewhere within a graphics settings screen. The list will typically enumerate a number of different resolutions such as 640×480, 800×600, 1280×720, and so on. That’s all well and good of course, but something important is frequently missing from the displayed info: aspect ratio.
An aspect ratio, for those unfamiliar, is the ratio of width to height of a computer screen’s resolution (width / height). Anytime a computer display is set to a resolution which does not share the same aspect ratio as its native resolution then stretching in either the width or height dimension may occur, unless the sides of the screen are also clipped (i.e. unless “letterboxing” is applied).
If the aspect ratio corresponding to each resolution is not displayed, then any player who wants to choose a resolution which doesn’t cause stretching will have to manually calculate the aspect ratio of each resolution, such as by using a hand calculator for example. This is not something the player should really have to do.
A player may not even know what an aspect ratio is, how to calculate it, or why it’s important. The player also has to waste time doing something that could have very easily been automated. Worse still, if the player chooses a stretched resolution and doesn’t realize it, then they may believe that the stretching is an inherent part of your artwork and thus their opinion of your work and their gameplay experience may suffer.
Now you might be thinking, who cares? Do players really care that much about stretching? Well, maybe they do and maybe they don’t. However, a simple thought experiment will show that even if they hardly care at all then it will still almost certainly nonetheless be worth taking the time to fix the problem.
Consider the fact that players often spend many hours in front of the game screen and thus any visual unpleasantness of the game (such as stretch distortion) will be continually present over a large span of time, thus causing those distortions’ negative impact on the experience to be amplified.
Nonetheless though, suppose (for argument’s sake) that players care very little about stretched graphics. Suppose that a player’s opinion of a game is only one tenth of one percent less (i.e. 0.1% less) if viewed stretched compared to if viewed not stretched. This is being very generous probably, since the negative impact of the stretching on the experience is likely far greater than that.
Suppose the game does very well and sells 1 million copies for $50 each. The player’s reduction in opinion can also perhaps be thought of as a corresponding reduction in the overall sales (roughly). In other words, we can approximately calculate that 99.9% of the same number of people buy the game with stretching compared to the 100% that would buy it if it was without stretching.
Our revenue before costs then is 50 million dollars. One tenth of one percent (0.1%) of 50 million dollars is $50,000. Thus if we sell 99.9% of what we would have sold otherwise then we make $50,000 dollars less, which could easily be roughly the entire salary of an employee for a year.
Thus, by not attending to the aspect ratio properly, even when assuming it has very little effect on player opinion, we’d stand to potentially lose quite a lot of money. That’s money we could have used for more game development and content, among other things. Why waste it though when it’s so simple to solve the problem?
The first obvious solution is to include the aspect ratio in parenthesis adjacent to every resolution in the list, so that the player can select the correct ones more easily. For example instead of “640×480”, “800×600”, “1280×720”, etc, we might write “640×480 (1.3333)”, “800×600 (1.3333)”, or “1280×720 (1.7777)” and so forth. However, even though this is a significant improvement, it is still only a partial solution to the problem from a user interface experience standpoint. We can still do much better.
One of the most important lessons of computing, and indeed of efficient living in general, is to try to automate as much as possible and to communicate as clearly as possible. Information should ideally be organized and structured in a way that reduces unnecessary tedium and also minimizes the chance for confusion.
As such, rather than making the player have to look through the entire list themselves to find any matching aspect ratios, we can instead communicate that info more clearly to the user in terms of what it actually means rather than merely in terms of what it is. In other words, we can automate or eliminate almost all of the tedious thinking for them if we simply organize the system the right way. This is similar to why we hide code implementation details in programming for example.
We can provide a button near the default resolution list labeled “Stretched Resolutions” or something similar. If the player clicks the button, then we can open another list containing the other resolutions, which has them organized in groups that share the same aspect ratio. We could also order each of these aspect ratio group by the magnitude of the amount of stretching each would cause and also display that stretching amount as a number, if we wanted to be even more helpful.
With these kinds of changes in effect (or any other similar kind of system), we’d now have a resolution selection scheme that allows the players to much more easily make the most informed choice possible with minimal hassle and without having to look through extraneous or suboptimal information, thus improving the usability and utility of our game and also reducing the chances of the player’s opinion of our game dropping due to screen stretching.
Simple details in games are important, as they can effect a player’s overall experience more than people may realize. It’s ironic that developers sometimes spend huge amounts of money and time creating amazing fantasy worlds for commercially released games and then dull the experience by just not attending to a number of various trivial and easily fixed usability details. The devil’s in the details, as they say. Why let all that wonderful work suffer when you can fix it so easily? It’s ok to be more sloppy in prototypes and such, but for commercial releases it would be wise to be more attentive.
When you find yourself following an arbitrary convention in your work (e.g. such as listing screen resolutions without their aspect ratios), but can’t really explicitly state the reasons why, then there’s often a much better way of doing things. You just have to stay alert enough to perceive it. Keep your mind sharp. Unjustified assumptions are often the bane of innovation.
This article is actually a resurrected version of an old article from the previous incarnation of my personal website (the version of my website that existed maybe around 2013 but was subsequently deleted). I found the old text for the article in an XML backup file from the old site. A full restoration of the old site isn’t possible anymore unfortunately, but I can still manually strip out some fragments of XML code from some of the old backup files. I’m not sure where all the old website files are, but I’ve at least been able to find some of it. Maybe I’ll manually restore some other items from my old site over time too. I also applied some minor edits to this article to improve it some, after extracting the original text.