Author Topic: Creating an interface for blind players to play rogue like games  (Read 14646 times)

hamster007

  • Newcomer
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Creating an interface for blind players to play rogue like games
« on: November 24, 2015, 05:50:08 PM »
Dear developers,
my name is Vojtěch Polášek and I am a blind IT student from Czech Republic. I like playing games and I like when blind people are able to play the same games as other sighted people. I have a plan for a project and I would like your help/opinion. Therefore I apologize for length of this post, but I need to clarify what I would like to do. Thank you for reading this.
The first important thing is that it is almost impossible for blind people to play rogue like games. The second important thing; it is not fault of the developers. Blind people use screenreaders which can read contents of a screen and output it via voice or braille. Currently it is somehow possible to play for example Nethack with a braille display, but it is unbelievably painful, because you can see only one line of 40 or 80 characters at the time, and it is really difficult to get an idea of a map through this way. It is also hard to read character information which is displayed at the edge of terminal.
There exist a rogue like game  for blind called Entombed, but it is paid and it misses some features, although it is inspired by rogue like games. It is available only for Windows.
I would like to change this situation.
Basically I would like to create a special user interface for some rogue like game. This interface would be specially designed for blind players. Currently I have not decided about exact working of the interface yet, but this is not important right now. The biggest obstacle is, how to get all needed information from the game it self. I have thought about two solutions.
The first one is to run the game in background and simulate normal player, reading information from a game's own user interface. But I don't like this solution much, because game's interface is not adapted for being processed by a computer and I think it would be rather complicated to get all needed information. If there is no other possibility, I would think about that.
The second option is to get current game state without reading it from the regular user interface. And this is a point where I need your help and information. I am thinking about some kind of "current state file", which would contain all information about current game, or some kind of socket, which would allow me to fetch information from a running game. Do you know about any rogue like game which offers some possibility to get current information without reading them from standard user interface?
Another obstacle wil be controlling of actual game, but I think this will be much easier than this problem.
For your information, I tried playing Nethack, Angband and Zangband. I am a Linux user and I would like to use Python or C++ for my project. I would like my project to be usable at least on Windows and Linux.
Thank you very much for your help. If you have any ideas concerning this project, feel free to post them.
Best regards,
Vojtěch Polášek
PS: I hate your captcha of this forum. It is impossible for blind users to overcome it.

Ancient

  • Rogueliker
  • ***
  • Posts: 453
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #1 on: November 25, 2015, 01:06:06 AM »
Greetings Vojtěch. Welcome to the Temple of the Roguelike.

First, I view you making the statement blind people find roguelikes hard to play after trying only two yourself (ZAngband is almost identical to old Angband on terms of user interface) as a very unfair generalization. That said, I think only classical games of this genre can be effectively played using screen reader and these are in decline recently.

Here are a few games that do feature useful support for screen readers.

ADOM: Regarded as quite accessible, due to verbose descriptions, excellent look command and many status changes being also reflected in log. There has been interesting discussion on rgrd about that.

DoomRL: Features specific enhancements for the blind. Besides ADOM-style looking it has two commands - examine monsters and examine items, which report information by giving relative locations. I heard there is also a mode which can disable the map and give more info by text, but I do not know how to activate it. Furthermore, DoomRL has meaningful in-game sound which is rare thing for classic roguelike.

Warp Rogue: Now defunct, but features the most enhancements for screen readers. Copx is truly the champion here, see the rgrd post for all the things he did.

I know of only one game that can do kind of state dumps, and it is ADOM again. There is a command to save verbose log file of character. The file contains all kinds of data, but only a screenshot for the map.

I doubt there is anything in existence that exposes the data structures in readable way. There is just no reason for game developers to do so, because it would mean maintaining another data output for zero gain. When anyone thinks of blind players they implement convenience features right into the game. Your best bet to get state information about a game is to modify the source code to add this. But then, if you can program well, you can improve the interface directly which is more effective option. Also, I think reading game's interface is not as bad option as you make it sound. Roguelike library Necklace of the Eye does just that and is very successful at providing alternate presentations for many games.

I am going to post about captcha in website related subforum shortly. Maybe Slash can do something about it.
Michał Bieliński, reviewer for Temple of the Roguelike

Z

  • Rogueliker
  • ***
  • Posts: 905
  • Karma: +0/-0
    • View Profile
    • Z's Roguelike Stuff
Re: Creating an interface for blind players to play rogue like games
« Reply #2 on: November 25, 2015, 02:16:47 PM »
Have you listened to http://www.roguelikeradio.com/2012/10/episode-48-designing-for-visually.html ?

My Necklace of the Eye attempts to provide alternate input/output for classic roguelikes. Currently, it does things like making it easier to enter diagonals (classic roguelikes were designed where all computers have numpads, which is no longer true now), making it look on new computers just like it looked on old ones, or providing tiles for games which did not have them originally, but I would love it to provide an interface which makes them playable by blind people too. I consider this an interesting potential project, but I am not planning to work on it myself at the moment (especially that I do not know what blind people consider easy, and what not).

In the case of ADOM, NotEye potentially provides a way to create UI scripts -- ADOM exports all the data in a format that can be read by the Lua script (the script can read the ASCII screen, but it can also directly read the data structures provided by ADOM, and exactly know which item marked, say, with a blue "!" the character is seeing). I think it would be possible to create a script which helps blind people to play. (Although I would wait a bit with this project -- no such UI scripts are created yet, and currently, even getting ADOM-NotEye to communicate with screenreaders is quite complicated.)

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Creating an interface for blind players to play rogue like games
« Reply #3 on: November 27, 2015, 03:55:35 PM »
Hi hamster007

It's intriguing to hear that some work is being done in this field. There was quite recently a thread started here about a student making a similar game as an academic project. In case you missed it, here's a link: http://forums.roguetemple.com/index.php?topic=4772.0

I have little knowledge or experience with blindness, so take my comments with a grain of salt, but just thinking aloud: I would believe that a roguelike for blind players should be designed from scratch, scrapping any of the traditional features if they make the interface too hard to work with. For instance, the archetypical tactical grid might be difficult to design in a pleasing way. It might be easier if the layout of rooms and corridors is designed way more regular than in most roguelikes. For instance, let's say a small room is always 3x3 tiles big. The game would easily know if the player is standing in the center of a room or next to one of the walls, and it would probably be easier to implement some sort of "status repport" command, where the game tells you eg.: "You are standing in the south-eastern corner in a small room. There is one kobold at the western wall. There is one goblin right next to you, to the north. There is a treasure chest in the middle of the room. There is a door on the northern wall."

Of course, you could also have templates for "big rooms" or "long rooms" and such, but you might want to exclude angle-shaped rooms, complex field of vision-calculations and so forth.

Perhaps you could even leave out the tactical map altogether and try to design a system that is easier to navigate without having to remember a detailed list of which beings and features are situated on which coordinates. There are some roguelike-inspired games that take a cue from interactive fiction and the like, such as Kerkerkruip and Anamnesis (I don't know if Anamnesis can be played with a screen reader, though a similar game could certainly be designed with visually impaired players in mind). There have also been some stabs at one-dimensional Roguelikes, where you can see which enemies or features await up to a certain distance, and still have to fiddle with turn-based resource use, simplistic positioning tactics, etc. I also come to think of a 7drl released this year, called Malleus Goblinficarium, which consists of a series of one-on-one battles against various foes, where you have to weigh your opponent's stats against your own stats and equipment. That game is in a way reminiscent of how combat is handled in your typical japanese console rpg, and could at least serve as a point of referance. Although, again, it relies on graphics to be played. Thread on this forum: http://forums.roguetemple.com/index.php?topic=4547.0

It's a shame that so many games which could undoubtedly be designed to be quite playable for blind people, aren't, simply because sighted developers forget to take that into consideration. I'm very much guilty of this myself. My current project uses graphical tiles on a hexagonal grid, so I'm not even sure if a terminal version would be easily played by the blind. But I'm very interested in learning more, for future reference, so please do keep us posted.

edit: Sorry if I'm missing the whole point of you wanting to write an interface for existing games. Heh. Concerning making good use of a 80 character wide braille display: Maybe it could be used to render the contents of a 9x9 square centered at the player's position? Regarding taking an existing game and parsing the "game state" to a file or a string, it probably depends heavily on how the game is designed at the outset. Tidy developers might make games where the program itself has a clear enough idea of what's going on that it would be manageable, but I'm sure some games consist of too much spaghetti code for this to be feasible.

As always,
Minotauros
« Last Edit: November 27, 2015, 04:04:20 PM by AgingMinotaur »
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

hamster007

  • Newcomer
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #4 on: December 02, 2015, 10:05:30 PM »
Greetings,
firstly I truly apologize if I dehonested someone's work. I didn't know about possibilities which you are talking about and I will certainly investigate. I thought that all games are similar to nethack/angband/zangband.
Now I am a bit confused. Is there any comprehensive list of rogue like games with some, categorized by type/interface/...
I see that I should explore more before creating something.
Thanks for valuable information.
Best regards,
Vojta

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Creating an interface for blind players to play rogue like games
« Reply #5 on: December 02, 2015, 11:22:16 PM »
I don't think anyone felt their work was dishonored by your post. Never worry. Regarding a list of Roguelikes, it's such a dense forest of games that noone knows for sure. But Roguetemple keeps a searchable database: http://forums.roguetemple.com/irldb/

Also, Roguebasin contains a lot of information, including lists of games, in case you've missed it: http://www.roguebasin.com

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

Omnivore

  • Rogueliker
  • ***
  • Posts: 154
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #6 on: December 22, 2015, 12:51:37 AM »
Just a thought - Rogue-like single player MUD anyone?

Happy Holidays,
Brian aka Omnivore

KhaoTom

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 64
  • Karma: +0/-0
    • View Profile
    • My Projects
Re: Creating an interface for blind players to play rogue like games
« Reply #7 on: February 15, 2016, 11:02:55 PM »
Just a thought - Rogue-like single player MUD anyone?

YES! Two 7DRL challenges ago I tried and failed to make a Twine based RL. I failed, but I attribute it to not trying hard enough, not managing my time very well, and choosing to develop with Twine. Still want to give something like this a try though.

A hands free, screen-read game could also be fun to play while stuck in traffic.

jim

  • Rogueliker
  • ***
  • Posts: 380
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #8 on: February 16, 2016, 04:27:14 PM »
Here Lies Jim
Died on the Overworld
Killed by a level 12 Toyota Tacoma
While Playing a voice-activated Roguelike

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #9 on: February 16, 2016, 08:18:40 PM »
Just a thought - Rogue-like single player MUD anyone?

Happy Holidays,
Brian aka Omnivore

This would be brilliant - I enjoy both roguelikes and MUDs.

Omnivore

  • Rogueliker
  • ***
  • Posts: 154
  • Karma: +0/-0
    • View Profile
Re: Creating an interface for blind players to play rogue like games
« Reply #10 on: February 16, 2016, 10:16:54 PM »
The hard part would be doing something other than just recreating text adventures.  The world/dungeon(s) would need to be procedurally generated, I've seen some fairly recent roguelikes that have begun doing adding room descriptions to their map generators, that would be a start. 

There's also the problem of trying to capture the tactical nature of roguelikes.  MUD combat systems (thinking ROM/Circle MUDs) may serve as a starting point.  I think you'd want something a bit richer though.

A starting point might be a set of text templates for various room types.  Then a set of rules for how they could be combined in a manner that would make sense to the player.  Sounds easy, probably isn't.  Still starting simple and refining might give surprisingly good results.

Unlike MUD rooms (or at least ones I remember), to support tactical combat, you would, I think, want the player to be able to move around in the room to gain positional advantages over the monsters.  The player should be able to do things like corner the enemy, block a doorway, lure a monster into a hallway (or even into a trap), etc.  Perhaps unnecessary, but worth thinking about.

If anyone makes any headway on this general concept, I'd love to hear about it.

Hope this helps,
Brian aka Omnivore