Building a better MUD for screen reader users

Updated
A headshot of Andruid, shaded blue.
By Andruid

Writer, roleplayer, storyteller, and nerd who tries to live by Bill and Ted wisdom, i.e. "Be excellent to each other." 

Table of Contents

    Welcome to part 2 of the Accessibility in Gaming series! Last week, we met Aaron and learned about what it’s like gaming with partial sight. This week, I’m pleased to share an interview with Niamh, a game implementor with experience building a better MUD for non-sighted players.

    Today’s post is about her perspectives on accessibility, features she’s worked on, and her advice for fellow implementors.

    Whether you’re a gamer, game creator, or just curious about the topic, I hope you find today’s post an interesting and inspiring read.

    Building a better MUD – what’s involved, and why do it?

    Niamh first popped up on my radar years ago, when she became a volunteer staff member for a game I was playing at the time. Since then, she’s started her own game, and over the past few years, I’ve been impressed by her efforts to make her MU* more accessible and welcoming toward non-sighted players.

    For those not familiar with the acronym, “MUD” stands for multi-user dungeon, a type of multi-player, text-based RPG.

    MUDs were the precursors to video game MMORPGs, so they share a lot of the same terms and lingo. These days, the acronym is often shortened to MU* (with a wildcard) to reflect a broader definition that isn’t so narrowly focused on dungeon crawling.

    Niamh’s a smart cookie, so I was sure she’d have thoughtful things to say about accessibility, including advice for creating a more accessible game. I asked her if she’d answer a few questions about her experiences building a better MUD, and she kindly agreed. 💜

    Meet Niamh, implementor of Alter Epoch MU*

    To get the ball rolling, I asked Niamh to introduce herself and her MUD. (The name ‘Niamh’ is of Irish origin, by the way, and is actually pronounced NEEV!)

    “I go by Niamh and am the implementor on Alter Epoch (AE), which is a post-modern game set in the urban remnant of a formerly space-faring civilization,” she said. “I usually describe us as ‘cyberpunk lite,’ as while the setting on the ground has cyberpunk vibes, the way it got to where it is and the overarching backdrop tend to be more heavily science fiction. We’re roleplay focused.”

    Quote by Niamh pulled from the body of the post.

    When asked what inspired her to build a better MUD, Niamh answered, “I tend to feel that lacking accessible features as a MUD in 2022 is a pretty poor idea. Even at its most pragmatic, the community of people who play text-based games is home to many, many non-sighted users.

    If you avoid addressing those needs, then you’re guaranteed to miss out on a lot of cool people who might have had some fun on your game or become a part of its community. “

    Niamh added, “Accessibility requests are almost always pretty simple to fulfill. There’s no reason not to and a lot of reason to work them in, not the least of which is providing a universal experience for everybody.”

    Niamh’s accessibility improvements

    When it comes to building a better MUD for non-sighted players, Alter Epoch is one of the more feature-rich MU* games I’ve come across. I invited Niamh to share some examples from AE, which I hope will inspire other implementors to enhance their own games.

    Screen reader mode

    At the top of the list is screen reader mode, which is basically “brief mode” on steroids.

    “Toggling screen reader mode on changes the output of the game for the user, trimming away what’s unnecessary to avoid spamming the screen reader,” said Niamh. “A light example of this paring down would be eliminating what’s read out loud to the user when they input common commands, such as ‘look.’ Rather than have their device read a large block of text every time they want to check what or who is the room with them, the mode cuts it back to just things that are likely to be relevant, such as objects or fellow players.”

    “As a sighted person, I can skip over room descriptions I’ve already read with my eyes, but the screen reader can’t as easily do that,” she explained.

    Screen reader mode doesn’t just turn on brief descriptions, however. It also removes all color cues and replaces them with their written counterparts.

    For example, in Alter Epoch, the color cyan is used to denote that someone is new to the game. This helps more experienced players make sure that new players receive a warm welcome and extra help.

    When screen reader mode is enabled, the game strips the cyan color away and replaces it with (new), which is something a screen reader can actually read aloud.

    Non-ASCII options for ASCII-heavy systems

    Screen reader mode doesn’t just strip away color, it also toggles on non-ASCII modes for traditionally ASCII-heavy systems.

    “Our in-character hacking system has two modes,” Niamh explained. “One is heavy on ASCII art, the other is pure text parsed down for audio clarity.

    Our score sheets can be viewed in plainly formatted segments to trim down how much information is fed to the screen reader at once. We were also able to implement an alternate display for helpfiles that have tables or a lot of visual formatting.

    Other in-game systems, such as mining and medical treatment, also use heavy ASCII art but were adapted for use with screen reader mode to ensure everybody can enjoy them.”

    Screenshot of Alter Epoch's ASCII-based hacking system.
    Example of an ASCII-heavy system in Alter Epoch used for hacking in the Matrix.
    Screenshot of Alter Epoch's screen reader-friendly hacking output.
    The same system, pared down in screen reader mode to omit unnecessary color and ASCII visuals.

    That’s definitely cool, but what about player-generated ASCII art?

    Turns out, there’s a solution for that, too.

    “A system we inherited from our sister game, The Inquisition: Legacy, allows players who like to use ASCII art to use an in-line color code-like symbol to omit the art for those with screen reader mode toggled on and replace it with a text description,” said Niamh.

    When editing the description on an item, a player can enclose any ASCII between two {a tags and its written description between {A tags. With screen reader mode enabled, the game will only display the content between the {A tags; otherwise, it’ll display the content between the {a tags.

    What I love about the above examples is that they show how building a better MUD doesn’t have to be complicated. Sometimes, it’s as simple as omitting ASCII or giving players easy tools to help each other do the same.

    Use of :: to create pauses

    Niamh then shared something I didn’t know, which is that some screen readers parse colons as slight pauses.

    “We have a non-sighted staff member who has been a huge source of help to us when it comes to designing accessible features. Through her we’ve been able to learn how some of the technology works and how to use text within the game to interact with it in ways that make it cleaner for the user,” said Niamh.

    “For example, we learned that using :: causes the screen reader to pause for a little longer than it does with just a comma or period, which we’ve used in places to tailor the information that’s being sent to the user.”

    This, in turn, has helped Niamh build a more accessible MUD.

    “Instead of double line-breaks, which aren’t much use in formatting without vision, we use the double colon for a similar ‘this is the end of that segment’ effect when the user has screen reader mode active,” Niamh explained.

    “We’ve gotten pretty good feedback on this, though I’ve been told that it doesn’t work with every screen reader software option.”

    Example: building a better MUD score sheet

    To demonstrate all of the above features and how they contribute to building a better MUD, let’s look at Alter Epoch’s score sheet output.

    The first image uses the default view, while the second image shows the same score sheet with screen reader mode enabled:

    Screenshot of Alter Epoch's default score sheet.
    Default score sheet, showing the use of an ASCII border, color, and visual spacing to make it easier for sighted players to read quickly.
    Screenshot of Alter Epoch's screen reader friendly score output.
    Same score sheet with screen reader mode enabled. ASCII and color have been stripped away, and colons have been inserted to create audible pauses.

    If you’re a non-sighted reader, here are the same two outputs in text format, so you can hear the differences with your screen reader:

    Default score sheet:
    .============================( /-\lter Epoch )============================.
    |  Name    : Andruid Andruid                                              |
    |  Created : Thu Jan  6 12:07:21 2022 (4rp/20h)                           |
    |  OL Level: Low                RP Level : None         Active: No        |
    |-------------------------------------------------------------------------|
    |  Intro      : the Storyteller                                           |
    |  Gender     : Male                       Birthday : April 12, 2346      |
    |  Culture    : Terran                     Language : Terran              |
    |  Class      : Slummer                    Origins  : Unselected          |
    |  Rec Level  :  38%                       Death XP : 0                   |
    |  Influence  : Weak (1/55)                                               |
    |-------------------------------------------------------------------------|
    |  Screen Name: Unset                      Lifestyle: Dirt Poor           |
    |  Opt-in     :  no                        ID Number: 164-148-8841        |
    |-------------------------------------------------------------------------|
    |  Strength Good        [ 65]                Logic     Decent      [ 63]  |
    |  Agility  Average     [ 59]                Intuition Decent      [ 61]  |
    |  Body     Average     [ 57]                Charisma  Average     [ 55]  |
    |-------------------------------------------------------------------------|
    |  Height    : 173 cm             Weight   :  62.8 kgs.        Age   : 30 |
    |  XP        : 29153              QP       : 315               App   : 2  |
    |  Fitness   : 291/291 MV         Toughness: 301/301 HP, 100% of max      |
    |  Rejection : 118[118] (100%)    Items    : 1/44                         |
    |  Tax       : no                 Load     : 21/195                       |
    |-------------------------------------------------------------------------|
    |  Voice   : He speaks in an unremarkable voice.                          |
    |  Diremote: He leaves [direction] with no diremote set.                  |
    |  Position: He is standing.                                              |
    |  Goal    : No goal set.                                                 |
    |  Email   : no                            UPEX     : no                  |
    |-------------------------------------------------------------------------|
       Action  : Andruid has no action set.
       Andruid is not affected by anything.
    
    Screen reader-friendly score sheet:
    Score for Andruid Andruid ::
    Created Thu Jan  6 12:07:21 2022, with 4 rp hours and 20 hour
    Online Level Low :: RP Level None :: Active: No ::
    Intro: the Storyteller ::
    Gender: Male :: Birthdate: April 12, 2346 ::
    Culture: Terran :: Language: Terran ::
    Class: Slummer :: Origins: Unselected ::
    Rec Level: 38% :: Death XP: 0 ::
     Influence: Weak 1 / 55 ::
    Screen Name: Unset :: Lifestyle: Dirt Poor ::
    Opt-in:  no :: ID Number: 164-148-8841 ::
    Stats:: Strength, Good at 65 :: Logic, Decent at 63
           Agility, Average at 59 :: Intuition, Decent at 61
           Body, Average at 57 :: Charisma, Average at 55
    Height: 173 cm :: Weight:  62.8 kgs. ::  Age: 30  ::
    XP: 29153 :: QP: 315 :: Appearance: 2 ::
    Fitness: 291/291 MV :: Toughness: 301/301 (301) hp, 100% of max ::
    Chance to avoid rejection: 118[118] :: Items: 1/44 ::
    Taxes are not due :: Load: 21/195 ::
    Action: Andruid has no action set. ::
    Voice: He speaks in an unremarkable voice. ::
    Diremote: He leaves [direction] with no diremote set. ::
    Position: He is standing. ::
    Goal: No goal set. ::
    Email waiting: no :: UPEX waiting: no ::
    Andruid is not affected by anything. ::

    Hopefully, the above examples show how simple changes can make a text-based game more accessible.

    Other helpful features for building a better MUD

    A few more features Niamh shared, relevant to the topic:

    • A help index for visual descriptions. Helpfiles in the index include descriptions of building materials, art mediums, architectural features, and facial features, all collected from around the internet and organized in one place.
    • The ability to freely recolor player-crafted items. As color-coding can be a stressor, it’s optional and anyone can add color to a player-crafted object at any time. Non-sighted players don’t have to worry about using color codes if they don’t want to.
    • A built-in list of color code gradients. If non-sighted players do want to add color, there are several pre-made color gradients to choose from. These gradients were submitted by the community to make it easier for non-sighted users to add color to their items in a stress-free way.

    When asked which features she’s most pleased with, Niamh said, “I’m the happiest with the accessible helpfile alternatives, as helpfiles are something every player is going to need at some point, and the balance between making things both visually clean and capable of being understood when spoken aloud left neither camp entirely satisfied.

    Being able to tailor help information that was once difficult for non-sighted users to process into formats designed specifically for their screen readers felt like a milestone.”

    The fact that the community has stepped up to help their fellow players is also inspiring!

    It just goes to show that if you give players the opportunity, they’ll help do their part in building a better MUD, too.

    Quote by Niamh pulled from the body of the post.

    Niamh’s advice for game implementors

    Building a better MUD for everyone takes effort, but it’s a worthwhile endeavor if you want to create a more inclusive game.

    One of the last questions I had for Niamh was whether she had any advice for fellow game implementors who may not know where to start.

    “Definitely talk to players who use screen readers and get their input,” she said.

    “Delve as deep as they’re comfortable with you delving about what the experience is like, where there’s weak spots, and the best ways you can use the game output to signal things a sighted user or admin might never have considered. They’ll likely have some tips or tricks they can explain to you (like the double colon pause!) that will allow you to make their experience on your game smoother.”

    And speaking of getting players’ input – if you haven’t checked out last week’s post on gaming with partial sight, it’s definitely worth a read. Yes, I know I’m biased. 😁


    Thank you so, so much to Niamh for sharing her experiences on building a better MUD for all. May 14, 2022 UPDATE: Niamh has announced that she will be closing down AE to pursue other MU* projects. Stay tuned for more info on her upcoming game!

    Posts in this series