I love visual novels and dating sims. I’m also a sighted person who uses a screen reader because of a problem with my eyes/head that is aggravated by looking at computer screens, especially to read a bunch of text. VNs are a type of game that could be totally accessible to blind and visually impaired players and anyone who uses a screen reader because they’re text-based! Unfortunately, most are still not accessible, for some reason or another. Even some that are playable could be improved.
This is not a tutorial on how to actually do the coding or put the accessibility into your game. This post is about what is needed for a game to be playable by players who can’t see the screen, and you’ll have to look into whatever program you use to figure out how to make it happen. I mention Ren’Py a few times though because Ren’Py has automatic self-voicing for text (a mode players can toggle on/off that will read text aloud), and it has documentation on how to add the other necessary things.
Anyway, if you’re a game dev who would like to make your games accessible and open them up to an even wider audience who wants to play your games, these are my tips!
(But remember these are just my tips, and it’s always a good idea to look for more, especially from blind and visually impaired players, since I’m writing this from a sighted perspective, if you want your game to be the best it can be!)
First things first, how can a game be accessible for those who can’t see the screen?
a) There needs to be a way players can toggle on/off some sort of text-to-speech (TTS) mode in which everything will be read aloud.
b) The game needs to work with whatever screen reader a person uses for their other computer tasks. (NVDA, JAWS, etc.)
The most obvious thing that needs to be considered: the game text. If you use Ren’Py, this should already be taken care of. Though I’ve encountered some visual novels where it was a bit screwy. Like the text being read before the name of the character talking. Or choice screens reading all the choices at once, rather than when you move to them. So make sure when you start that whatever you’re doing is working properly.
Menus, Stats, Maps, Etc.
Menus, stats, maps, and other screens where you make choices based on images are what is most often overlooked and makes games inaccessible that would otherwise be accessible enough to play. It’s because, when using an image, the self-voicing doesn’t have any text to read unless you give it some. It’s usually as simple as adding alt text.
If there are any images with text or images/screens in which something happens that isn’t stated in the text, it needs to be described while the self-voicing or screen reader mode is toggled on. (I know there’s a way to do this in Ren’Py so that certain text only shows while self-voicing is on.)
Descriptions of Characters and Settings
I think giving a description when a character is first introduced would be nice too. Especially romance options in a dating sim. Same for settings.
When new characters are introduced, always give them some sort of name, rather than just putting question marks or nothing. Even if the name is “Tall Stranger” before the player knows their real name. When the text is read aloud, if there’s no name stated before the dialogue, it can be confusing as to who is talking or what’s going on.
Voice Acting Toggle
If there’s voice acting, consider including an option in settings to turn it off. Voice acting can interfere with the TTS. Full voice acting might be alright, but partial voice acting that only says part of the text that’s on the screen is a problem. I know that, in Ren’Py, voice acting prevents text from being read at all, so players will be missing text if it’s only some of it is voice-acted and they’re not able to turn it off. If you’re going to include voice acting, be sure to test how it works with your screen reader or self voicing mode.
Screen Reader Toggle Button
Preferably, you need to have a keyboard shortcut that will turn on the screen reader. Another possible option, if a keyboard shortcut is not possible, is for the self-voicing / screen reader mode to automatically turn on if the game detects the player is using a screen reader. If you make people navigate into a menu to turn on accessibility, that isn’t going to help anyone who can’t see the screen and is playing alone and has no one to help them.
Ren’Py self-voicing is toggled by pressing the V key. Most people who use self-voicing probably already know that, so that’s the first thing people are going to try. If you’re not using Ren’Py, it’d be smart to also use V as the toggle. If you use any other key, or even anything combined with V, it preferably needs to be stated aloud when the game window opens. If that’s not possible, it should at least be in the game info on the store page.
If you can’t see the screen, it’s hard to use a mouse to click things. Make sure everything can be navigated to and selected using the keyboard.
Skip Option for Anything Requiring Sight
Puzzles, combat, mini games, or anything else that requires someone to see the screen in order to play should have a skip option.
Certain things, however, could potentially be made accessible with a bit of work. For example, Code 7 has some accessible puzzles. I believe Walkerman has accessible grid-based combat. There are games, like A Blind Legend, that have sound-based combat and movement (but that’s probably not super relevant to visual novels). Simple point and click elements in which you’re just choosing a door or an item to inspect could be turned into a choice format.
My point is, if you really want to, you might be able to make non-text elements accessible, but as long as you have a skip option, and the player won’t be missing vital info by using it, the game will still be playable. And whatever you’re including in a visual novel that is choice-based and isn’t navigable by keyboard, maybe consider if there’s really a need for it, or if keeping to the text choice format would work just as well.
(Just to be clear, I’m not saying there should be no sight-required games in existence. Some games are never going to be playable if you can’t see the screen. But that’s why this post is specifically about visual novels and text-based games that potentially could be playable.)
Sound can be used to indicate things like choice screens (though that’s usually not necessary), whether the choice the player made achieved a certain result, whether the current choice is an important one, if certain choices are linked to certain characters / personality traits, etc. Arcade Spirits, when self-voicing is toggled on, uses sound effects to indicate which personality trait your choice has affected and establishes what each sound effects means in the intro.
Include a gallery to see the CGs, or all the art, at any time after unlocking it. This is something I appreciate as a sighted person who uses a screen reader because it means I can play the game with my screen off and not worry about missing any special art because I know I can just go check out the gallery when I’m done.
Other things will have to be figured out on a case by case basis since every game is different. If you want your games to be accessible to blind and visually impaired players and other screen reader users, you just have to consider how any other unusual things you add are going to work.
Test the Game
If you truly want your game to be accessible for anyone who can’t look at the screen, you need to play it without looking at the screen (or pay someone else to test it). The whole thing. From the moment you click to open the game window. Can you navigate all the menu items? Can you tell what’s going on? Is there anywhere you get stuck? Are there any choice screens using images where you didn’t add alt text? Can you access and understand stats, calendars, or any extra sort of menus and info that are part of the game? Is it clear when choices have some sort of special significance, if that’s part of the game? Now you know what still needs fixing.