Skip to content

Latest commit

 

History

History
280 lines (187 loc) · 34.8 KB

File metadata and controls

280 lines (187 loc) · 34.8 KB

Accessible Arena

Что это за мод

Этот мод позволяет играть в Arena — самую популярную и удобную для новичков цифровую версию коллекционной карточной игры Magic: The Gathering. Он добавляет полную поддержку программ экранного доступа и клавиатурную навигацию практически во все аспекты игры.

Мод поддерживает все языки, на которые переведена игра. Дополнительно частично покрыты несколько языков, которые сама игра не поддерживает: в этих языках переводятся специфичные для мода сообщения, такие как тексты справки и подсказки интерфейса, а данные карт и игры остаются на языке по умолчанию.

Что такое Magic: The Gathering

Magic — это коллекционная карточная игра, зарегистрированная Wizards of the Coast, которая позволяет играть магом против других магов, произнося заклинания, представленные картами. В Magic существует 5 цветов, которые отражают разные идентичности геймплея и атмосферы. Если вы знакомы с Hearthstone или Yu-Gi-Oh, вы узнаете многие концепции, поскольку Magic — предок всех этих игр. Если вы хотите узнать больше о Magic в целом, вам помогут официальный сайт игры, а также многочисленные авторы контента.

Требования

  • Windows 10 или новее
  • Magic: The Gathering Arena (установленный через официальный установщик Wizards или Steam)
  • Программа экранного доступа (протестированы только NVDA и JAWS)
  • MelonLoader (установщик ставит его автоматически)

Установка

С помощью установщика (рекомендуется)

  1. Скачайте AccessibleArenaInstaller.exe из последнего релиза на GitHub
  2. Закройте MTG Arena, если она запущена
  3. Запустите установщик. Он определит вашу установку MTGA, при необходимости установит MelonLoader и развернёт мод
  4. Запустите MTG Arena. Вы должны услышать "Accessible Arena v... launched" через программу экранного доступа

Ручная установка

  1. Установите MelonLoader в папку MTGA
  2. Скачайте AccessibleArena.dll из последнего релиза
  3. Скопируйте DLL в папку Mods MTGA:
    • Установка WotC: C:\Program Files\Wizards of the Coast\MTGA\Mods\
    • Установка Steam: C:\Program Files (x86)\Steam\steamapps\common\MTGA\Mods\
  4. Убедитесь, что Tolk.dll и nvdaControllerClient64.dll находятся в корневой папке MTGA
  5. Запустите MTG Arena

Удаление

Запустите установщик заново. Если мод уже установлен, он предложит опцию удаления. При желании можно также удалить MelonLoader. Для ручного удаления удалите AccessibleArena.dll из папки Mods\ и удалите Tolk.dll и nvdaControllerClient64.dll из корневой папки MTGA.

Если вы пришли из Hearthstone

Если вы играли в Hearthstone Access, по уважительным причинам вы узнаете много вещей, ведь не только игровые принципы близки, но и я следовал многим принципам дизайна. Тем не менее, некоторые вещи отличаются.

Во-первых, у вас больше зон для навигации, ведь в Magic есть кладбище, изгнание и несколько дополнительных зон. Ваше поле битвы не ограничено по размеру и имеет дополнительные ряды сортировки, чтобы сделать массу того, что может появиться, более управляемой.

Ваша мана не растёт автоматически, а поступает с разноцветных карт земель, которые вы должны активно играть. В связи с этим стоимость маны имеет бесцветные и цветные части, которые в сумме дают полные требования к стоимости карты, которые вы должны выполнить.

Вы не можете атаковать существ напрямую; целями атакующих могут быть только оппоненты и некоторые очень специфические карты (планесуокеры и битвы). Как защитник вы должны решить, хотите ли блокировать атаку, чтобы заставить существ сражаться. Если не блокировать, урон попадёт по вашему аватару игрока, но существа могут остаться нетронутыми. Кроме того, урон не накапливается на существах, а лечится в конце каждого хода — как вашего, так и оппонента. Чтобы взаимодействовать с существами оппонента, которые отказываются с вами сражаться, вы должны разыгрывать специфичные карты или давить на очки жизни оппонента так сильно, чтобы у него не оставалось выбора, кроме как жертвовать ценными существами, чтобы выжить.

В игре есть очень чётко выделенные фазы сражения, которые позволяют выполнять конкретные действия, такие как взятие карт, разыгрывание заклинаний или бой. В связи с этим Magic позволяет и поощряет действовать в ходы оппонента. Больше не нужно сидеть и ждать, пока что-то происходит. Играйте интерактивную колоду и разрушайте планы врага на лету.

Первые шаги

Сначала игра просит указать некоторые данные о вас и зарегистрировать персонажа. Это должно работать через внутренние механизмы игры, но если не работает, вы можете воспользоваться веб-сайтом игры, он полностью доступен.

Игра начинается с туториала, в котором вы узнаёте основы Magic: The Gathering. Мод добавляет пользовательские подсказки туториала для пользователей программ экранного доступа параллельно со стандартным туториалом. После завершения туториала вы получите в награду 5 стартовых колод, по одной на каждый цвет.

Отсюда у вас есть несколько вариантов разблокировать больше карт и изучить игру:

  • Цветовые испытания: Сыграйте цветовое испытание для каждого из пяти цветов Magic. Каждое испытание заставляет вас сражаться с 4 NPC-оппонентами, а в конце — с настоящим игроком.
  • События стартовых колод: Сыграйте одной из 10 двухцветных колод против настоящих людей, у которых доступны те же варианты колод.
  • Jump In: Выберите два пакета по 20 карт разных цветов и тематики, соедините их в колоду и играйте против настоящих людей с похожими выборами. Вы получаете бесплатные жетоны для этого события и оставляете себе выбранные карты.
  • Spark Ladder: В какой-то момент откроется Spark Ladder, где вы сыграете первые рейтинговые матчи против настоящих оппонентов.

Проверяйте почту в социальном меню, так как она содержит много наград и бустеров карт.

Игра постепенно открывает режимы в зависимости от того, во что и сколько вы играете. Она даёт подсказки и квесты в меню прогресса и целей и выделяет для вас подходящие режимы в меню игры. После того как вы пройдёте достаточно контента для новых игроков, все различные режимы и события станут полностью доступными.

В Кодексе Мультивселенной вы можете узнать о режимах игры и механиках. Он расширяется с ростом прогресса в опыте NPE.

В настройках аккаунта можно пропустить все туториальные опыты и принудительно разблокировать всё, чтобы с самого начала иметь полную свободу. Однако игра в события для новых игроков даёт много карт и рекомендуется новичкам. Открывайте всё рано только если уже знаете, что делаете. Иначе контент для новичков обеспечит много удовольствия и обучения, хорошо направляя вас.

Сочетания клавиш

Навигация повсюду следует стандартным соглашениям: стрелки для перемещения, Home/End для перехода к первому/последнему, Enter для выбора, Space для подтверждения, Backspace для возврата или отмены. Tab/Shift+Tab также работают для навигации. Page Up/Page Down меняет страницы.

Глобальные

  • F1: Меню справки (список всех сочетаний для текущего экрана)
  • Ctrl+F1: Озвучить сочетания для текущего экрана
  • F2: Настройки мода
  • F3: Озвучить текущий экран
  • F4: Панель друзей (в меню) / Чат дуэли (во время дуэлей)
  • F5: Проверить / запустить обновление
  • Ctrl+R: Повторить последнее сообщение

Дуэли - Зоны

Ваши зоны: C (Рука), G (Кладбище), X (Изгнание), S (Стек), W (Командная зона) Зоны оппонента: Shift+G, Shift+X, Shift+W Поле битвы: B / Shift+B (Существа), A / Shift+A (Земли), R / Shift+R (Несущества) Внутри зон: Влево/Вправо для навигации, Вверх/Вниз для чтения деталей карты, I для расширенной информации Shift+Вверх/Вниз: Переключение рядов поля битвы

Дуэли - Информация

  • T: Ход/Фаза
  • L: Очки жизни
  • V: Зона информации игрока
  • D / Shift+D: Количество карт в библиотеке
  • Shift+C: Количество карт в руке оппонента
  • M / Shift+M: Сводка ваших / оппонентских земель
  • K: Информация о счётчиках на выделенной карте
  • O: Журнал партии (последние сообщения дуэли)
  • E / Shift+E: Ваш / оппонентский таймер

Дуэли - Цели и действия

  • Tab / Ctrl+Tab: Циклический выбор целей (все / только оппонент)
  • Enter: Выбрать цель
  • Space: Передать приоритет, подтвердить атакующих/блокирующих, перейти к следующей фазе

Дуэли - Full control и остановки фаз

  • P: Переключить full control (временно, сбрасывается при смене фазы)
  • Shift+P: Переключить заблокированный full control (постоянно)
  • Shift+Backspace: Переключить пасс до действия оппонента (мягкий пропуск)
  • Ctrl+Backspace: Переключить пропуск хода (принудительный пропуск всего хода)
  • 1-0: Переключить остановки фаз (1=Поддержка, 2=Взятие, 3=Первая главная, 4=Начало боя, 5=Объявление атакующих, 6=Объявление блокирующих, 7=Боевой урон, 8=Конец боя, 9=Вторая главная, 0=Конечный шаг)

Дуэли - Браузеры (Scry, Surveil, Mulligan)

  • Tab: Навигация по всем картам
  • C/D: Переход между верхней/нижней зонами
  • Enter: Переключить размещение карты

Устранение неполадок

Нет речи после запуска игры

  • Убедитесь, что ваша программа экранного доступа запущена до запуска MTG Arena
  • Проверьте, что Tolk.dll и nvdaControllerClient64.dll находятся в корневой папке MTGA (установщик размещает их автоматически)
  • Проверьте журнал MelonLoader в папке MTGA (MelonLoader\Latest.log) на наличие ошибок

Игра падает при запуске или мод не загружается

  • Убедитесь, что MelonLoader установлен.
  • Если игра недавно обновилась, MelonLoader или мод могут потребовать переустановки. Запустите установщик снова.
  • Проверьте, что AccessibleArena.dll находится в папке Mods\ внутри вашей установки MTGA

Мод работал, но перестал после обновления игры

  • Обновления MTG Arena могут перезаписать файлы MelonLoader. Запустите установщик снова, чтобы переустановить как MelonLoader, так и мод.
  • Если игра значительно изменила свою внутреннюю структуру, моду может потребоваться обновление. Проверьте новые релизы на GitHub.

Сочетания клавиш не работают

  • Убедитесь, что окно игры в фокусе (щёлкните по нему или переключитесь с помощью Alt+Tab)
  • Нажмите F1, чтобы проверить, активен ли мод. Если вы слышите меню справки, мод работает.
  • Некоторые сочетания работают только в определённых контекстах (сочетания дуэли работают только во время дуэли)

Неправильный язык

  • Нажмите F2, чтобы открыть меню настроек, затем используйте Enter для циклического переключения языков

Windows предупреждает, что установщик или DLL небезопасны

Установщик и DLL мода не подписаны цифровой подписью. Сертификаты подписи кода стоят несколько сотен евро в год, что нереально для бесплатного проекта доступности. В результате Windows SmartScreen и некоторые антивирусы будут предупреждать вас при первом запуске установщика или помечать DLL как "неизвестный издатель".

Чтобы проверить, соответствует ли скачанный файл опубликованному на GitHub, каждый релиз указывает контрольную сумму SHA256 как для AccessibleArenaInstaller.exe, так и для AccessibleArena.dll. Вы можете вычислить хеш скачанного файла и сравнить:

  • PowerShell: Get-FileHash <имяфайла> -Algorithm SHA256
  • Командная строка: certutil -hashfile <имяфайла> SHA256

Если хеш совпадает с указанным в примечаниях к релизу, файл подлинный. Чтобы запустить установщик, несмотря на предупреждение SmartScreen, выберите "Подробнее", а затем "Выполнить в любом случае".

Сообщение об ошибках

Если вы нашли ошибку, вы можете опубликовать сообщение там, где нашли мод, или открыть issue на GitHub.

Укажите следующую информацию:

  • Что вы делали, когда произошла ошибка
  • Что вы ожидали увидеть
  • Что произошло на самом деле
  • Если хотите приложить игровой лог, закройте игру и поделитесь файлом лога MelonLoader из папки MTGA:
    • WotC: C:\Program Files\Wizards of the Coast\MTGA\MelonLoader\Latest.log
    • Steam: C:\Program Files (x86)\Steam\steamapps\common\MTGA\MelonLoader\Latest.log

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

Игра должна покрывать практически каждый экран в игре, но могут встречаться некоторые краевые случаи, работающие не полностью. PayPal блокирует незрячих пользователей незаконной беззвуковой капчей, поэтому вам придётся использовать помощь зрячих или другие способы оплаты, если хотите тратить реальные деньги в игре. Некоторые конкретные события могут быть не полностью работоспособными. В драфте с реальными игроками есть экран лобби, ещё не поддерживаемый, но в quickdraft вы выбираете карты против ботов перед тем, как встретиться с человеческими соперниками; этот режим функционирует и рекомендуется всем, кто любит такой вид опыта. Режим Cube не затронут. Я даже не знаю толком, о чём он, а он стоит много игровых ресурсов. Поэтому я сделаю это, если будет время или по запросу. Система косметики игры с эмоциями, питомцами, стилями карт и титулами пока поддерживается лишь частично. Мод тестируется только на Windows с NVDA и JAWS и всё ещё полагается на неизменённую библиотеку Tolk. Я не могу здесь тестировать совместимость с Mac или Linux, а кросс-платформенные библиотеки, такие как Prism, на данный момент не полностью поддерживают старые версии .NET, от которых зависит игра. Поэтому я перейду на более широкую библиотеку только если люди смогут помочь с тестированием либо других платформ, либо азиатских программ экранного доступа, которые не поддерживаются полностью неизменённой библиотекой Tolk. Так что не стесняйтесь связаться со мной, если хотите, чтобы я этим занимался.

Актуальный список известных проблем см. в KNOWN_ISSUES.md.

Оговорки

Другие виды доступности

Этот мод называется Accessible Arena в основном потому, что это звучит хорошо. Но на данный момент это только мод доступности для программ экранного доступа. Я абсолютно заинтересован в охвате этим модом большего числа видов инвалидности, нарушений зрения, двигательных нарушений и т. д. Но я опытен только в доступности для программ экранного доступа. Будучи, например, полностью незрячим человеком, вопросы цвета и шрифтов для меня совершенно абстрактны. Поэтому если вы хотите, чтобы что-то такого рода было реализовано, пожалуйста, не стесняйтесь связаться со мной, если можете чётко описать свои потребности и готовы помочь мне тестировать результаты. Тогда я буду рад сделать имя этого мода более правдивым.

Контакт с компанией

К сожалению, мне не удалось получить надёжных сведений о команде Arena или неформальных контактов разработчиков. Поэтому я решил пока пропустить их официальные каналы коммуникации. За 3 месяца создания и игры я ни разу не натолкнулся на систему защиты от ботов, поэтому не думаю, что они могут обнаружить нас как пользователей мода. Но я не хотел рисковать, общаясь по официальным каналам в одиночку. Так что распространяйте слово о моде, и давайте построим большое и ценное сообщество. Тогда у нас будет гораздо лучшая позиция, если мы решим связаться напрямую. Только не пытайтесь им писать, не пообщавшись сначала со мной. В особенности не отправляйте им запросы на нативную доступность или интеграцию моего мода в их кодовую базу. Ни того, ни другого в любом случае не будет.

Внутриигровые покупки

В Arena есть некоторые механики с реальными деньгами, и вы можете покупать внутриигровую валюту. Эти способы оплаты в основном доступны, за исключением PayPal, потому что они включили защиту капчей при входе. Можно попробовать удалить мод на время регистрации способа оплаты и попросить помощи у зрячего, но даже это ненадёжно из-за их кошмарной с точки зрения доступности капчи, ещё более сломанной и плохо реализованной Wizards of the Coast. Но другие способы оплаты работают стабильно. Я и другие тестировали внутриигровую покупку вещей, и использование системы должно быть безопасным. Но вполне возможно возникновение ошибок или даже то, что мод может ввести вас в заблуждение. Может кликнуть не туда, показать неверную или неполную информацию, сделать что-то не то из-за внутренних изменений Arena. Я могу тестировать, но не могу на 100% гарантировать, что вы не купите что-то не то за реальные деньги. Я не возьму за это ответственность, а учитывая, что это не официальный продукт Arena, компания игры тоже не возьмёт. Пожалуйста, даже не пытайтесь в таком случае вернуть деньги — их не вернут.

Использование ИИ

Код этого мода создан на 100% с помощью агента Claude от Anthropic с использованием моделей Opus: началось с 4.5, большая часть разработки велась на 4.6, а последние шаги к релизу были сделаны на 4.7. И благодаря моему самому большому соавтору немного Codex тоже. Я осознаю проблемы использования ИИ. Но во времена, когда все используют эти программы, чтобы делать множество куда более сомнительных вещей, а игровая индустрия не смогла дать нам доступность, которую мы хотим, с точки зрения качества или количества, я всё же решил использовать инструменты.

Как внести вклад

Я рад принимать вклад, и благодаря blindndangerous большое количество полезной работы другого человека уже является частью этого мода. Особенно меня интересуют улучшения и исправления для вещей, которые я не могу тестировать, таких как разные конфигурации систем, исправления языков, которыми я не владею, и т. д. Но принимаются и запросы функций. Перед тем как работать над чем-то, проверьте известные проблемы.

Благодарности

А теперь я хочу поблагодарить огромное количество людей, потому что, к счастью, это не был просто я и ИИ в чёрном ящике, а целая сеть вокруг меня, помогающая, укрепляющая, просто общительная и добрая. Пожалуйста, напишите мне в личку, если я вас забыл или если вы хотите быть известным под другим именем или не быть упомянутым.

Во-первых, эта работа сильно опирается на работу других людей, которые сделали первопроходческие вещи, которые мне просто пришлось переделать для Accessible Arena. В плане дизайна это Hearthstone Access, от которого я смог унаследовать многое — не только потому, что он хорошо известен всем, кто играл в игру, но и потому, что это действительно хороший дизайн интерфейса. В плане моддинга я хочу поблагодарить участников Discord моддинга Zax. Вы не только разобрались во всей этой всячине, во всех инструментах и процедурах, которые мне осталось только установить и использовать. Вы научили меня всему, что нужно знать о моддинге с ИИ, либо напрямую, либо через обсуждение вещей публично или помощь другим новичкам. Кроме того, вы дали платформу и сообщество, в которых я и мой проект можем существовать.

За огромный вклад в код я хочу поблагодарить blindndangerous, который также проделал много работы над этим проектом. За всё время жизни проекта я получил от него, кажется, около 50 PR и более, касающихся всех типов проблем — от мелких раздражающих вещей до более крупных предложений по UI и доступности целых экранов игры. Дальнейшая благодарность Ahix, который создал рефакторинг-промпты для крупных проектов на основе ИИ-кода, которые я запускал поверх своих собственных рефакторингов, чтобы обеспечить качество и поддерживаемость кода.

За тестирование бет, отзывы и идеи я хочу поблагодарить:

  • Alfi
  • Plüschyoda
  • Firefly92
  • Berenion
  • blindndangerous
  • Toni Barth
  • Chaosbringer216
  • ABlindFellow
  • SightlessKombat
  • hamada
  • Zack
  • glaroc
  • zersiax
  • kairos4901
  • patricus3

За тестирование зрячими для понимания визуальных процессов и подтверждения некоторых вещей я хочу поблагодарить:

Используемые инструменты

  • Claude со всеми включёнными моделями
  • MelonLoader
  • Harmony для IL-патчинга
  • Tolk для общения с программами экранного доступа
  • ILSpy для декомпиляции кода игры

Поддержите своего моддера

Создание этого мода было для меня не только большим удовольствием и эмансипацией, но и обошлось во много времени и реальных денег за подписки Claude. Я буду держать их, чтобы работать над дальнейшими улучшениями и поддерживать проект на протяжении следующих лет. Так что если вы хотите и в состоянии сделать разовое или даже ежемесячное пожертвование, можете заглянуть сюда. Я был бы очень признателен за такое признание моей работы, и это даст мне стабильную базу, чтобы продолжать работать над Arena и, надеюсь, другими крупными проектами в будущем.

Ko-fi: ko-fi.com/jeanstiletto

Лицензия

Этот проект лицензирован по GNU General Public License v3.0. Подробности см. в файле LICENSE.

Ссылки

Другие языки

English | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Polski | Português (Brasil) | 简体中文 | 繁體中文