Accessibility Script for Ren’Py Games

Разработчик: player
Статус: бесплатный, с открытым исходным кодом
Платформа: Windows (игры на движке Ren’Py 6.x, 7.x, 8.x)

Этот скрипт доступности представляет собой универсальное решение для незрячих и слабовидящих игроков, позволяющее играть в визуальные новеллы и другие игры, созданные на движке Ren’Py. В отличие от встроенных средств доступности (Self-Voicing, Clipboard), которые есть в некоторых современных играх, данный скрипт работает практически с любой игрой на Ren’Py, включая старые проекты, где разработчики не предусмотрели поддержку экранных дикторов. Однако, стоит учитывать что скрипт рассчитан на стандартный интерфейс визуальных новелл, без дополнительных меню и функций. . Его основная задача — озвучивать стандартные элементы: Диалоги и повествование. Меню и кнопки навигации. Варианты выбора в диалогах.Стандартные виджеты: ползунки, переключатели, списки сохранений.
полями.

Скрипт написан на языке Python и представляет собой файл accessibility.rpy, который нужно поместить в папку game игры. Он автоматически подключается к игровому движку и начинает озвучивать все ключевые элементы интерфейса через NVDA, JAWS или другие скринридеры. Мод работает двумя способами: через копирование текста в буфер обмена (требуется дополнение AutoClip для NVDA) или через прямое взаимодействие с Tolk (библиотека для работы со скринридерами).

Функциональность

Скрипт обеспечивает озвучивание следующих элементов:

  • Диалоги — текст произносится с указанием имени говорящего персонажа.
  • Меню и кнопки — при навигации стрелками озвучиваются названия пунктов меню, кнопок и вариантов выбора.
  • Сцены и переходы — объявляются смены локаций, появление персонажей, музыкальное сопровождение.
  • Ползунки и переключатели — озвучиваются текущие значения (например, громкость, процент выполнения).
  • Сохранения и загрузки — озвучиваются номера слотов и страницы.
  • Текст на кнопках-изображениях — если у кнопки есть альтернативный текст или подпись, скрипт его озвучивает; в крайнем случае читает имя файла изображения.

Горячие клавиши

Клавиша «равно» (=) — включает/выключает мод.
Backspace** — повторить последнее озвученное сообщение.
Стрелки — навигация по меню и выбору вариантов.
Shift + — (минус) — создать файл дампа виджетов (widget_dump.txt) для отладки.
— (минус) — создать файл дампа текущего виджета (widget_dump.txt).

Установка

  1. Скачайте файл accessibility.rpy по ссылке разработчика.
  2. Скачайте библиотеки Tolk и NVDA Controller Client (если планируете использовать прямой вывод через скринридер вместо буфера обмена).
  3. Поместите accessibility.rpy в папку game вашей игры (например, C:\Games\MyVN\game\accessibility.rpy).
  4. Если используете Tolk, поместите tolk.dll и nvdaControllerClient64.dll в корневую папку игры (туда, где находится исполняемый файл .exe).
  5. Запустите игру. При успешной загрузке мод должен начать озвучивать интерфейс.

Особенности и ограничения

  • Скрипт работает с играми на Ren’Py версий 6.x, 7.x и 8.x, включая очень старые проекты.
  • Для некоторых игр с нестандартным интерфейсом (например, с картами, изображениями-кнопками без подписей, кастомными элементами) озвучивание может быть неполным или некорректным.
  • Если игра уже имеет встроенную поддержку Self-Voicing или Clipboard, использование мода может привести к конфликтам (двойное озвучивание). Рекомендуется отключать встроенные функции доступности при использовании скрипта.
  • Разработчик активно собирает обратную связь и исправляет ошибки. Для отладки нужно нажать Shift + - (минус), чтобы создать файл widget_dump.txt в папке игры, и отправить его разработчику вместе с логом ошибок.

Известные проблемы

  • Некоторые меню в старых играх (например, Doki Doki Literature Club, Katawa Shoujo) могут отображаться горизонтально, и для навигации требуются стрелки влево/вправо.
  • В играх с кастомными интерфейсами (например, карты, интерактивные объекты) скрипт может не читать отдельные элементы, если они не содержат текстовых меток.
  • Возможны ошибки синтаксиса в очень старых версиях Ren’Py (до 6.10). Разработчик старается поддерживать совместимость, но не все игры могут работать корректно.

Ссылки

Скачать скрипт доступности с нашего облака

Скачать библиотеки с нашего облака

Комментарии

Добавить комментарий