CleanCut / invaders

Open source terminal arcade game with audio - based off of the classic "Space Invaders"
201 stars 102 forks source link

Is the game fully blind-accessible? #20

Closed denizsincar29 closed 7 months ago

denizsincar29 commented 7 months ago

Hello. When playing this game, can I rely on the stereo position of the invader by sound? I am blind and use a screenreader and wander if this game is audio-only.

CleanCut commented 7 months ago

No, this game is not blind-accessible. Audio is mono and no positions are represented in the sound.

denizsincar29 commented 7 months ago

@CleanCut Nathan I got an idea. I want to make a simple audio based game for blinds and don't need very difficult game engines:

  1. stereo sound,
  2. make an empty gui / terminal window and catch key presses,
  3. communicate with a screenreader (implemented in tolk.dll, there's a rust crate for that. Please give me ideas, i wanna concentrate on game logic rather than making boilerplates.
CleanCut commented 7 months ago

Sounds like a great idea! I hope you succeed.

I have not yet worked with stereo sound in Rust, so I don't have any specific recommendations. I would guess that if you produce stereo sounds, that my rusty_audio library will play them correctly. If not, the audio library I use under-the-hood is rodio and you could use it directly.

For invaders, I use crossterm for both the terminal screen and for handling keyboard input. It only handles typed characters, though, not raw keypresses and releases. That is one option for handling the keypresses.

Another option is Bevy. It has much better keyboard handling. It has its own audio system as well. If Bevy is too complicated, another option is Rusty Engine, which is a simplification layer I created around Bevy to make an easier game engine for my students to use.

I have never dealt with screen readers, so I have no advice about that.