As the gaming industry, and especially the indie gaming industry, continues to mature, the need for inclusive standards becomes more evident.
Accessibility in your game isn’t just about making it so that a subset of gamers can enjoy your work—although that’s certainly a large factor. It’s also about making your game easier to comprehend for all users, removing unnecessary strain from their experiences wherever possible.
Games that take accessibility into account allow gamers to play longer with fewer negative impacts on their eyesight. Let’s look into the specifics of why this is important, and how we can add more accessibility to the text displays in our games.
Why Accessibility Is Important in Games
For many players, the range of games they play is severely limited by little things that most of us take for granted. For example, color contrast and brightness can make the dialogue of a game unreadable for up to 10 million players in the United States alone, according to the National Federation of the Blind. That's 3% of the US population that can’t play your game, and the number grows exponentially for games released in multiple countries.
Regardless, keeping text displays accessible is important for every player. Clearer displays improve the overall experience and prevent additional strain on the eyes. Players often become frustrated by unreadable text—especially in RPGs, where it appears most prevalently.
For example, small, stylized fonts on parchment backgrounds aren’t the easiest to read. To help prevent these issues in your own games, let’s take a look at some common ways to improve accessibility.
Accessible Design in Games
There currently are no accessibility standards for video games, so we’ll be looking at adapting guidelines created by the W3C for use in web design. They’ve broken visual accessibility down into seven main categories, but we’ll focus on the first two: Brightness & Color and Tracking.
Brightness & Color
The first section is not only crucial for making a playing experience enjoyable, but in some cases may actually be necessary to prevent discomfort in players. Let’s take a deeper look at each of these topics.
When it comes to artificially created brightness, it can become a problem for those with low vision, especially through high contrast, like faux neon lettering. For players with reading disabilities, such as dyslexia, it may make it impossible to read any on-screen text. Many games already include some basic options that allow for changing brightness, but taking it to the next level isn’t much more difficult—and makes a world of difference for players.
A good solution is to include several brightness sliders for various parts of your game—for example, for overall brightness, text brightness, text background brightness, and HUD brightness. These alone will allow a majority of light-sensitive individuals to enjoy your game in a way that works for them.
This can be implemented easily in most game engines by adding identifiers to groups of objects (such as implementing a variable called brightness, with types of “text_brightness” to determine which settings to use), and then using functionality that already exists to alter the brightness.
Contrast in Text
Color selection is an important part of ensuring appropriate contrast in your game. Adapting your visuals is especially important as it affects one of the largest demographics that we’ll cover: people that have lost contrast sensitivity though ageing. Beyond that, being able to clearly read text is important for many players in order to reduce eye strain.
To determine if your text color to background color contrast ratio is sufficient, use a tool like this calculator to help. In addition, offering a few options concerning text background and font colors will further expand the reach of your game, allowing for the inclusion of players that have difficulty with too much brightness or issues with contrast sensitivity.
Because of the vast array of issues that can cause low vision, it’s impossible to plan for every edge-case. Luckily, humans are resourceful and are often able to communicate visually without text.
To maximize the accessibility of your game, consider utilizing other visual displays or even other senses. When text appears on the screen, pairing it with a uniquely identifying sound as well as a symbol will depict your intention universally when done right.
A good example of this combination occurs in the Metal Gear series, which regularly communicates soldier alertness through the use of a large exclamation point paired with the signature alert sound.
Tracking refers to two distinct parts of reading. The first is the ability to follow along a line of text from beginning to end, and the second is following from the end of one line of text to the beginning of the next. Although this may seem like a typical part of reading for most users, if you’ve ever gotten lost on a particularly cluttered page then you’ve had an issue with text tracking.
Avoiding Multiple Columns
When displaying text, it’s important to place it into a single column whenever possible. Two separate sections of text can be placed side-by-side for formatting purposes, but for a singular text, continuing into a second column can be troublesome to navigate. This becomes doubly true for games that are playable through web browsers, as the second column may not display in the proper order for people using assistive devices.
Ever play a game or read an article on a TV with one very long line of text? It’s difficult to read, and if long lines are stacked, getting from one line to the next can be tedious. Beyond that, many players have a limited range of vision, so in order to read the entire text, they will need to move their head several times per line.
Creating a solution for this can take a bit of work, since the best solution is to allow for the width of text boxes to be set. Implementing a slider to decide the width of the text box is fairly simple. However, adding the capability to take any piece of text and allow it to scroll varies depending on the framework or engine that you’re using.
Building Accessible Games Through a Culmination of Changes
While each of these changes may seem small, through their combination we begin to create a more accessible experience. A world of gaming where anyone can enjoy exploring vast, unknown worlds and intricate storylines. Beyond that, designing this type of usability into your game’s world makes the experience more enjoyable for all users.
Implementing changes like these is often thankless, and many players won’t realize they are even there. But the few that do will be thankful for one less headache—and one less squint. These types of systems are what make the difference between a game that is complete and a game that is highly polished.
We covered a lot of ground, so let’s condense all of this into a short list of solutions.
Handling Brightness: A simple brightness slider can go a long way here, and using multiple brightness sliders for different layers (HUD, text background, text, etc.) is ideal.
Contrast in Text: Use a ratio calculator to determine if the contrast in your text is adequate. Alternatively (or in addition to), let users swap text background and font colors when possible.
Color Reliance: For major gameplay events, pair them with other auditory and visual signifiers when possible.
Multiple Columns: Avoid dividing a single text into multiple columns.
Line Length: Allow the user to adjust the width of text boxes for dense areas, especially for games that might be played on wide screens.
This is just the tip of the iceberg when it comes to accessibility, with many more potential changes available throughout your game. Implementing these changes brings many pressing questions into play for indie developers.
How accessible should a game be? Where is the balance between the art of presentation and accessibility? Let me know your thoughts in the comments below!
Subscribe below and we’ll send you a weekly email summary of all new Game Development tutorials. Never miss out on learning about the next big thing.Update me weekly
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!Translate this post