Despite some unexpected medical drama with family members, I managed to finish my game
Battle Weary, which is a deckbuilder roguelike that was designed from the ground up to be screenreader friendly.
Play the game here.DeckbuildingYour character is your deck of cards. You start the game by drawing a hand of four cards. When you encounter an enemy, you can play as many cards out of your hand as you want (attack, defend, and other types of cards) and then discard the rest. Then it is the enemy's turn to play a card. Then you draw another hand of four cards, and the battle continues.
When the enemy manages to hit you, you take a Wound card. And every time you reshuffle your deck to get a new draw pile, you shuffle in an Exhaustion card. If you ever draw a full hand of "deadly" cards like Wounds and Exhaustions, then your hero has fallen and it's game over.
Over time, you can build up your deck to be more powerful by buying new cards from the trainer, the blacksmith, etc., which allows you to delve further and further into the dark forest before having to return to town to get healed (to remove Wound cards) or rest at the inn (to remove Exhaustion) cards.
Screen Reader SupportThe game is written in HTML5, and I set myself the challenge of making it screen reader friendly. It turns out that there's not a lot of information out there on the internet about making web games work well with screen readers; the closest thing I could find was how to make web applications work, but most of that was in the context of making, essentially, web forms navigable.
So I ended up having to do a lot of experimentation and testing, but I eventually got a "Hello World" app working with VoiceOver, and I was able to apply that to Battle Weary as I developed it.
But the technology for making an interactive game wasn't the main hurdle; it was trying to adjust the gameplay of a traditional roguelike to make it understandable and enjoyable when used with a screen reader. For instance, having to listen to something like "There is a snake four tiles west and two tiles north, there is a door six tiles east and seven tiles south, etc." every time you take a step to understand the environment would get tedious quickly. So I changed the game's movement to be room-by-room instead of tile-by-tile, a'la Telengard. That preserved the basic gameplay of roguelikes while making it easier to describe the player's situation in text.
ResultOverall, I feel the game turned out pretty well considering the challenges I had. I haven't gotten any feedback from anyone who regularly uses screen readers yet, but I'm hoping that the manner in which I exposed the gameplay works well in practice. If you have access to a screen reader (particularly one other than VoiceOver) and are willing to test the game with it, I'd love to hear how it goes.