Accessibility layer for blind players — working implementation of the roadmap's Accessibility options#2
Open
piapenia wants to merge 1 commit into
Open
Conversation
A fully additive gameplay accessibility layer (zero edits to existing scripts, scenes, prefabs or input assets), built and QA-tested by a blind IAAP-certified accessibility specialist. Implements the roadmap's 'Accessibility options' item for blind play: - Proximity sonar with semantic sounds, wall occlusion and on-demand area scan with height-encoded pitch (B / L3) - KOTOR-style object navigation: Q/E cycle targets with spoken distance and direction, Enter auto-walks and interacts (d-pad on gamepads) - Mouse-free camera: turn keys, announced 45-degree snap turns, spoken compass; NVDA screen reader output via the official controller client - Spoken room announcements, health/sanity/crouch state, scene descriptions with alt text for menu artwork, UI reader for menus - Safety net: fall announcements, auto-rescue to safe ground, ledge warnings, stuck detection with on-demand rescue (R) - Purposeful haptics on gamepads: subtle wall ticks, damage-scaled rumble - Audio cue glossary while paused (G); status report on demand (H) - 60+ batchmode smoke tests; CC0 sounds; LGPL 2.1 NVDA client with license See ACCESSIBILITY.md for the full guideline mapping (gameaccessibilityguidelines.com), architecture notes and accessibility-friendly engineering recommendations. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi! I'm a blind, IAAP-certified digital accessibility specialist (WCAG 2.2) and a native screen reader user (NVDA). Together with an AI coding agent working under my direction and QA, I built the accessibility layer in this PR on top of your
devbranch: it makes the game playable without sight, implementing the "Accessibility options" item from your roadmap. (Your repo has issues disabled, so I'm introducing myself here — happy to move the conversation to Discord.)What this PR adds (tested by me, playing your Testing_Core map blind)
Engineering notes
Assets/_Project/_Features/Accessibility/, following your conventions) + CC0 sounds inStreamingAssets/A11y; zero edits to your scripts, scenes, prefabs or input asset. Player components attach at runtime throughCore.Player.-executeMethod AccessibilitySmokeTest.Run); licensing table included (CC0 audio, LGPL 2.1 NVDA client distributed unmodified with its license).IInteractableand yourCorefacade already made most of this possible).BuildStatusWatcher) never fires in-batchmodeCLI builds; we work around it by callingEventManager.CopyToStreamingAssetsexplicitly in our build script — may be worth documenting for contributors.I do accessibility reviews professionally; consider me a standing QA resource for anything sound/navigation related. Contact: here on GitHub, or find me on any social network as @blindaudiogamer.
— María Pía Peña Foissac (@blindaudiogamer)