Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add screen reading / visual impairment accessibility #99

Open
tmewett opened this issue Jul 25, 2020 · 5 comments · May be fixed by #211
Open

Add screen reading / visual impairment accessibility #99

tmewett opened this issue Jul 25, 2020 · 5 comments · May be fixed by #211
Labels
enhancement New feature or request

Comments

@tmewett
Copy link
Owner

tmewett commented Jul 25, 2020

There is a patch to Brogue 1.7.4 called Broguespeak which adds accessibility features using eSpeak speech synthesis: https://www.reddit.com/r/roguelikes/comments/4zjg48/broguespeak/. It would be amazing to get this or equivalent functionality integrated into CE.

First, we need to inspect the diff of Broguespeak against 1.7.4. We need to assess both its general quality/maintainability, and how much it conflicts with current CE. Issues with this either of these will require changes, though minor code quality issues can be fixed after merging. Additionally, this patch adds a new dependency, so that will have to be integrated into CI and build processes.

@tmewett tmewett added enhancement New feature or request help wanted Extra attention is needed labels Jul 25, 2020
@flend
Copy link
Collaborator

flend commented Aug 2, 2020

I've added a diff view for broguespeakv03 against v1.7.4 here: https://github.com/flend/brogue-1.7.4/compare/feature/brogue174-SPEAKv03?expand=1&w=1
Note the w=1 in the URL to avoid whitespace diffs.
The v23 in the link doesn't have source code,

@tmewett
Copy link
Owner Author

tmewett commented Nov 25, 2020

Summary of the Brogue-SPEAK changes:

  • colour effects hard-coded off
  • lots of sound effects for all sort of game actions, including picking up items, combat, doors, step sounds on different materials, low health ambience, chasm/lava/fire ambience, and more
  • a variety of partial-impairment aids, such as colour-coded lever states, visual flare when a monster begins chasing, changing wall torch display colour and glyph
  • text to speech in confirmation prompts, messages, names of inventory items when selected, and location descriptions

The actual implementation is rather simple. Both eSpeak and SDL_mixer are used separately, and both can asynchronously play sounds, so there are just wrapper functions which start and stop playing the sounds. SDL_mixer can manage mixing simultaneous sounds, interrupting, etc. eSpeak copies the input string to its own buffer to synthesise, so no additional memory management is needed in the main code.

To start, I think we should focus on just the text-to-speech, and play via SDL_mixer for portability.

@tmewett tmewett linked a pull request Dec 24, 2020 that will close this issue
@tmewett tmewett linked a pull request Dec 24, 2020 that will close this issue
@ghost
Copy link

ghost commented Jan 10, 2021

Integrated TTS would give blind players access to the text messages only, not the tiles themselves, would it? I'm not sure how effectively TTS can convey the dungeon layout and contents. Brogue is not interactive fiction; to win it, you need to know everything that's going on at all times, at least within your field of view: terrain, items, monsters, traps, which direction they are and how far... You also need to have a good sense of the map, to choose your escape routes or navigate around danger. It seems it would be quite challenging and slow to convey so much spatial information just with spoken language.

How well does the curses version play along with screen readers and Braille devices, currently? Perhaps blind people can already play Brogue in the console, using their favorite screen reader or Braille device.

I see audio as a nice-to-have, but more for the immersive experience it can offer. If the goal is to increase Brogue's user base, i18n may be something to consider first.

@RojjaCebolla
Copy link
Contributor

RojjaCebolla commented Apr 8, 2021

https://www.rockpapershotgun.com/2017/04/05/playing-roguelikes-when-you-cant-see some of your questions are answered here, Antony. TTS does indeed help non-sighted players play; DCSS is probably the leader in roguelike accessibility, but there's a player mentioned in the article who was using Brogue-SPEAK too

@tmewett tmewett removed the help wanted Extra attention is needed label Jun 9, 2022
@BlindGuyNW
Copy link

Is there any chance for movement on this?

I've just been reminded of brogue/brogue speak and was sad to see that it is apparently no longer supported with the community edition.

For that matter, it doesn't appear that brogue CE supports console output any longer, which is also somewhat disappointing.

Any work on either of these would be very much appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants