Analyzing Usability and Accessibility in CLI Games Through Nethack

NetHack logo

Introduction

Nowadays, there is little to no discussion about the significance of considering usability and accessibility from the very inception of game development. Over the last two decades, various industry stakeholders have produced extensive literature and guidelines on these topics. However, this has not always been the case, particularly concerning accessibility.

Command-line games deserve special mention among countless older titles with identifiable user experience issues, mainly because they have always occupied a niche often overlooked by scholars despite some maintaining their popularity.

The purpose of this essay is to specifically contrast the prevailing discussions on usability and accessibility in mainstream gaming with the unique characteristics of command-line interface games, with a particular focus on the UI of the classic CLI roguelike NetHack.

That said, «Graphicless» may not sound like the best name for this text because Nethack and other CLI games have graphical interfaces where ASCII characters represent game objects. However, since interpreting these hotchpotch is often a task for the imagination, comparing them to traditional graphical interfaces does not seem appropriate.

PDF version

About the game

NetHack is a single-player roguelike released in 1987 and maintained by the NetHack DevTeam. It is a fork of «Hack,» released in 1982 and inspired by «Rogue» from 1980, the game that coined the genre. Developed primarily for the command line, NetHack has official and unofficial graphical clients available, but the vanilla edition uses ASCII art exclusively for visual representation. The analysis is based on version 3.6.6 of this edition.

NetHack immerses players in the role of a hero, offering diverse races and classes. The goal is to find the Amulet of Yendor, which grants immortality, within the Mazes of Menace. The game incorporates the typical elements of roguelikes and RPGs, including foes, quests, equipment, inventory management, shops, and NPCs. Nevertheless, what truly sets it apart is the depth that can only be achieved through almost four decades of relentless development.

NetHack was chosen as the starting point for the text not only because of its evident usability and accessibility issues when compared to modern standards but also because it presents a golden opportunity to create new research paths due to the scarcity of literature on CLI games.

Usability and accessibility issues

It comes as no surprise that Nethack has a considerable barrier to entry. The official Wiki describes it as «hard,» «unforgiving,» and «deep» (NetHack Wiki, 2023), and it rejoices on the idea of players dying quickly and often, having to consult external help sources, and even diving into the very source code of the game. However, difficulty and information overload are just the tip of the iceberg for why people opt not to keep playing (or even start playing at all).

Due to its nature, NetHack inherits many usability and accessibility issues from both the roguelike genre and CLI games. On top of that, it also contains some quirks (affectionately known by the community as «nethackisms») that do not necessarily follow the guidelines for creating usable and accessible games.

Figure 1. The NetHack game screen

The NetHack game screen

Following Glinert’s dimensions of usability (2009), it is evident even before starting to play that aesthetics, namely «the most important dimension for video games,» is probably the realm with the most significant number of shortcomings regarding both usability and accessibility. Despite having a dedicated fanbase, ASCII art presents substantial challenges, especially for people with disabilities, due to its incompatibility with screen readers. Therewithal, the use of ASCII characters to represent the game world and objects (Figure 1) hinders users from benefiting from the visual cues provided by more familiar representations, thus creating a high emphasis on recall rather than recognition. As if more was needed, in the case of NetHack, many of the forms do not follow their intended function. How can a player recognize a stair going down if it is symbolized by the «>» character?

That brings us to the next dimension: learnability. Starting a game of NetHack for the first time is rough, and the game has no intention of helping. Not in-game, at least. Beyond the character creation wizard, which is more or less intuitive, there is no tutorial, description of the controls, or guidance on what to do next. There are no apparent visual indicators besides arbitrary ASCII characters and a status bar with the player name and stats. Even if a player can guess how to perform actions, the sheer number of available options, hidden menus, and the lack of adequate feedback (like a total absence of sound) or cues for critical irreversible actions contribute to a steep difficulty curve and a potentially frustrating experience. The game expects players to rely on external resources, like the official Wiki, as a permanent reference. This reliance results in a considerable cognitive load, which does not bode well for usability or accessibility.

The next dimension, simplicity, is closely intertwined with the previous one. NetHack not only lacks an in-game, readily accessible list of controls, but the controls also deviate significantly from industry standards for character movement, actions, and system options, displaying a lack of consistency compared to other games in the genre and increasing the required cognitive load.

As bleak as it may sound up to this point, there is a glimmer of hope in the darkness. Besides some of the other editions of the game addressing many of these issues (Figure 2), the base game offers a significant number of customization options that allow changing almost anything, from remapping the controls to assigning user sound cues to specific patterns, as well as providing automation options, which goes in favor of the last dimension, efficiency. However, there is a catch: these options require editing system files and using more complex artifacts, like variables and their values, making them primarily accessible to advanced users.

Figure 2. The Vulture graphical client. From Vulture, 2007, NetHack Wiki. (https://nethackwiki.com/wiki/Vulture)

The Vulture graphical client

Given that many of the issues discussed earlier result from deliberate design choices, it would be presumptuous to suggest that they must be completely resolved. However, there are specific instances where improvements can be made without fundamentally altering the game’s essence. The following sections will address three cases using Folmer’s interaction design patterns (2007).

Proposal 1: what’s important

Problem The game has much information that can be challenging to find.

  • Usability: Players are expected to recall and identify all on-screen elements.
  • Accessibility: Players with cognitive disabilities may have issues recalling or recognizing elements from the game world.
Context Old-school roguelikes, especially those with a long-lasting presence, often require a wealth of knowledge. However, due to the limitations of older systems, conveying this information on-screen was challenging, frequently resulting in complex and convoluted menu interfaces or a reliance on external resources.
Forces · The original design intends for players to use exploration actions (such as #look or #glance) to gather information.

  • Players prefer having all the information on-screen and want to rely on something other than external resources.
Solution There are a few possible solutions for some of the immediate problems resulting from not having all the information on-screen:

  • (Always) Describe the rooms on entering.
  • (Always) List the available actions when standing over or near an interactable object.
  • (On-demand) List the pickable items around of the player.
Why Providing information on-screen would reduce the cognitive load, soothing the usability and accessibility needs of the player and contributing to higher learnability. In the case of expert players, it would also contribute to better efficiency since they could save some steps (like looking around) in their routines.
Examples Many adventure games contemporary to NetHack offer room descriptions on entry and listing available actions near interactable objects. In the case of the on-demand list of pickable items, Diablo III (Blizzard, 2012) highlights and labels all items on the ground for easier recognition when pushing the TAB key (Figure 4).

Figure 3. Diablo III item highlighting. Where Diablo 3 is Missing Out, 2012, Ray Mazza’s Website. (https://www.raymazza.com/post/where-diablo-3-is-missing-out)

Diablo III item highlighting

Proposal 2: better feedback

Problem Not all key presses result in feedback. The base game has no sound at all. For example, walking toward a wall does nothing.

  • Usability: Players can think they are doing something wrong or the game is not working correctly.
  • Accessibility: Players with visual disabilities may have issues interpreting the game world.
Context When players press a key, they anticipate receiving feedback, whether it is the avatar moving or a response from the UI element. Unreachable areas, non-interactable objects, and unresponsive NPCs can swiftly lead to frustration if the player is not given feedback when interacting with them.
Forces · Players expect feedback for any pressed key.
Solution The solution would be adding visual and sound feedback to all the actions that do not have it, especially the restrictive ones that can ruin the experience for players with disabilities.
Why Adding the missing feedback would not only favor players with visual disabilities, but it would also contribute to increasing clarity and even efficiency since most automation systems rely on feedback.
Examples Most modern games offer solutions to the particular case of unreachable areas by using a line of dialogue from the character or other diegetic solutions, such as the gush of wind that impedes the character from leaving the game area in Hollow Knight (Team Cherry, 2017).

Considering the current limitations of NetHack, a more realistic example would be a contemporary game like Savage Island (Adventure International, 1980), which prints the message «I can’t go that way» when trying to move to an unreachable position.

Figure 4. Trying to move to unreachable positions in Savage Island. Adventure 10: Savage Island 1 , 2005, ZXArt. (https://zxart.ee/spa/software/game/adventure-10-savage-island-1/)
Trying to move to unreachable positions in Savage Island

Proposal 3: remapping controls

Problem Many actions need to be performed with different keys from the industry standards.

  • Usability: Players may have issues remembering the keys assigned to each action.
  • Accessibility: Players with physical or cognitive disabilities may have issues using the assigned keys or even the keyboard itself.
Context Roguelikes and complex games in general (like simulators) usually have many actions assigned to multiple keys on the keyboard. Furthermore, most classic roguelikes, especially Nethack, due to its «nethackisms» and other factors (such as the keyboard distribution of the computer where it was developed), use distributions inconsistent with the industry standards.
Forces · Players are used to particular control schemas.

  • Players want simple control schemas and prefer avoiding memorizing a significant list.
Solution There are two possible solutions:

  • Providing an easy way to remap controls in-game.
  • Providing action groups to minimize the number of keys in use.
Why Remapping the controls is necessary for people with cognitive or physical disabilities since they probably use custom, accessible controllers. Besides, it contributes to both the efficiency and the clarity dimensions.
Examples Most games nowadays allow customizing the control schema through their options menu. Also, games like Final Fantasy XIV: A Realm Reborn (Square-Enix, 2010) allow grouping actions in submenus to reduce the number of keys to remember.

Figure 5. Assigning player actions to the action bar in Final Fantasy XIV. Using Player Actions, Step by Step, s.f., Square-Enix. (https://na.finalfantasyxiv.com/uiguide/know/know-action/action_how_to.html)

Assigning player actions to the action bar in Final Fantasy XIV

Conclusions

NetHack’s affiliation with the past becomes even more apparent when looking at how poorly it has adapted to current guidelines on usability and accessibility. Critiquing such a relic by modern standards may seem unjust, especially when we acknowledge that part of its charm lies in those oddities that might not align with contemporary gaming norms.

However, if NetHack plans to stay awhile (and it does), it would benefit from listening to the voices that have emerged over time and appealing to a whole new audience. As demonstrated earlier, this can be accomplished without compromising the uniqueness that has endeared it as a beloved classic with a still alive, thriving community.

Figure 6. The game over screen in NetHack.

The game over screen in NetHack

References

Deja un comentario