addons | ||
scenes | ||
scripts | ||
.gitmodules | ||
project.godot | ||
README.md |
Godot Accessible Starter
This starter project sets up Godot with the accessibility and TTS plugins so the editor is accessible.
Supported platforms
- Linux via Speech Dispatcher
- Windows via Tolk, including SAPI support for anyone not using a screen reader
Usage
$ git clone --recursive https://gitlab.com/lightsoutgames/godot-accessible-starter yourgame
$ cd yourgame
$ git remote rm origin
Next, download the latest godot-tts plugin build and unzip it in addons/. This will give you a directory layout including addons/godot-tts/target and other directories containing the pre-built binaries for each platform.
Then, as a bonus, compile my engine fork. This step is optional. If you don't compile the fork, here are things that won't currently work, updated as PRs get merged:
- Navigating between buttons in tree columns won't work. This means you can't accessibly add input events to actions, for instance.
Finally run:
$ godot -e
from within this repository and start building your game!
What's in the box?
- The accessibility plugin is automatically loaded, eliminating the need to use the inaccessible editor to enable it.
- TTS is loaded in a global script which is available in every node. Run
Globals.tts.speak("Text to speak", interrupt)
from anywhere in your code to speak something. See scenes/Main.gd as an example. - A Main scene with a script is created, and set as the launch scene.
Accessibility tips
- Navigate to Editor -> Editor Settings -> External Editor, check the box, and enter a path to an accessible text editor. The embedded Godot script editor is not currently accessible, and may not be for a long time or at all.
Testing
To ensure that speech works, once the editor has launched, pressing F5 should speak "Hello, world." Note that at this point the game is running and there's no way to quit. To get accessible functionality back, you'll need to alt-tab back to the editor window and press F1, F2 or F3 until your screen is changed. Launching a game from the editor removes focus from all nodes, and keyboard focus doesn't return until another is focused. These screen-switching commands set a focus and, in turn, get you up and running again.
Updating
The accessibility plugin is a work in progress. As such, periodically you'll want to run this from within your game:
$ cd addons/godot-accessibility
$ git pull
$ cd ..
$ git commit godot-accessibility -m "Update accessibility plugin."
or something similar. Likewise, you'll also likely want to upgrade the godot-tts plugin from time to time.