Чёрный и зелёный. Доступный парсер на ЗОК-2020

Здравствуйте, друзья!
У нас новости для любителей классических парсерных квестов.
В рамках Зимней Олимпиады Квестов-2020  представлена игра под названием «Чёрный и зелёный», автор zlobot.
В ней рассказывается история соперничества двух зловредных братьев-гоблинов, один из которых, (по счастью именно тот за кого мы играем) обладает необычными способностями.
Кроме интересного сюжета и нестандартного подхода к головоломкам, игра примечательна тем, что автору, благодаря использованию максимально простых команд удалось минимизировать влияние недостатков движка «Protoparser».
Алик записал небольшой аудиообзор на предварительную версию игры. Однако вам мы предлагаем попробовать конкурсный вариант, ознакомиться можно по ссылке ниже.
Приятной игры!

20 comments on “Чёрный и зелёный. Доступный парсер на ЗОК-2020

  1. -

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

  2. -

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

  3. -

    Что касается удобства навигации при помощи чтецов экрана. Хорошо было бы оформить ходы в виде списка, как это сделал Никита Цейковец при адаптации Метапарсера.

  4. -

    Доминатор, alkor, спасибо за отзыв.

    В теме адаптации вывода текста игр для чтецов экрана я не компетентен. Увы. Но к счастью есть с кем проконсультироваться. Я постараюсь что нибудь придумать.

    В любом случае выйдет версия 0.8 и в нее будут внесены правки.

  5. -

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

    Проблема описанная Доминатором скорее всего исчезнет. На счет ходов в виде списка, не уверен что это когда-нибудь появится. Сам я увы пока ничего не сделал в этом направлении, но есть фиксы протопарсера от Никиты Цейковца, которые я добавлю.

  6. -

    Вышло обновление. Проходимость проверял автотестами. Теоретически теперь текст должен зачитываться целиком без головной боли с нажиманием стрелочек. Если кому не в тягость проверьте так ли это. Спасибо.

    https://yadi.sk/d/g7qw1FbBCwRD6Q

    Если не доверяете всяким левым ссылкам от левых людей, дождитесь пока организатор ЗОК обновит на своем сайте.

  7. -

    Проверил. К сожалению не зачитывается. Проверял на Google Chrome 80.

  8. -

    alkor, большое спасибо.

    Мне говорили, что на разных браузерах может быть разное поведение, но это погоды не делает. Человек вправе пользоваться тем, чем ему удобно. В Firefox и Internet Explorer просто чуть меньше багов.

    Но судя потому, что ничего не изменилось, дело скорее всего не в браузере. Я просто добавил и понадеялся, что все заработает. На будущее сделаю себе пометку организовать тестирование этой функции на дому. Если поднапрячься 2-3 ПК я могу найти для этой цели.

    Возможно будет попытка адаптирования под номером два, но не скоро.

    Движок выбрал не самый удачный. Увы. Доступность так и осталась средней.

  9. -

    Zlobot, я готов помочь в тестировании. Если что, обращайтесь.

  10. -

    Спасибо. Я сообщу, когда потребуется помощь.

    Для начала надо разобраться в причинах фиаско 🙂

  11. -

    А еще я шляпа, потому что невольно подсидел Никиту. В общем если что, это моя вина, что не зачитывает целиком. Надо было проверять как это в моей игре работает. В «Страже великой империи» работает же.

  12. -

    не-а. В «Страже» тоже не работает. Ну или я малость криворук и неправильно проверяю.

  13. -

    А вот это уже интересно. Есть ли возможность проверить работу этой фичи в «Страже» на Firefox?

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

    Если что, то какой-то особой спешки нет. Одним словом если возможно и когда будет удобно.

  14. -

    К сожалению, в Chrome 80 что-то опять сломали в отношении live regions, поэтому автоматическое зачитывание работает только в 79 и ниже. В 80 в определённых конфигурациях работать перестало, в том числе в том, как было сделано в protoparser.js.
    С этим надо отдельно и долго разбираться, вступая в переписку с Google в баг-трекере.
    В браузерах не на Chromium, в частности, Firefox или Internet Explorer, автоматическое зачитывание работает без проблем.

    В качестве компенсации я всё-таки напрягся и сделал разметку по ходам. Правда не списком, а оформил строку команды в начале каждого хода заголовком второго уровня, так что теперь по ходам в транскрипте можно ходить как по заголовкам (H/Shift+H). Тот же TalkBack на Android не умеет ходить по элементам списков, так что заголовки универсальнее.
    Пощупать можно на «Страже Великой империи» — http://tseykovets.ru/games/protoparser.js/guardian_of_the_great_impire/
    Только надо обновить страницу (F5), потому что там может быть закэширована в браузере старая версия.

    Zlobot, все доработки по-прежнему в terminal.js, так что достаточно взять обновлённую библиотеку из «Стража».
    Ну или все желающие могут сохранить себе на машину файл
    http://tseykovets.ru/games/protoparser.js/guardian_of_the_great_impire/terminaljs/terminal.js
    и подложить его у себя в игру Zlobot’а, заменив имеющуюся там версию.

  15. -

    Zlobot, проверил в Firefox, автозачитывание работает.
    Никита, Я скачал предложенный файл, заменил исходный, но заголовков не появилось. По крайней мере JAWS произносит , «нет заголовков.» Страницу обновлял.

  16. -

    Никита, спасибо. В следующей сборке будет.

    Alkor, благодарю. С одной проблемой разобрались. Думаю работу заголовков лучше проверять на «Страже Великой империи».

  17. -

    Если файл точно подменён, но заголовки не появились, значит старая версия застряла в кэше Chrome.
    Можно попробовать несколько раз обновить по F5. Ещё в Chrome есть вторая команда — Shift+F5. Можно подёргать и её.
    Также можно просто изменить путь, например, переименовав папку с игрой. Тогда для Chrome это будет совсем новая страница, поэтому он загрузит всё заново.

  18. -

    В МЕТАПАРСЕР-js на metaparser.syscall.ru теперь тоже помимо разметки всей истории списком строки команд сделаны ещё и заголовками, так что играть с Android стало не менее удобно.
    Чуть позже должно войти и в стабильный комплект Метапарсера для разработчиков, чтобы собирать такую же свою версию.
    Впрочем, через metaparser.syscall.ru можно уже сейчас запустить любую игру на Метапарсер 3, подставив адрес к её архиву вместо %game% в следующую ссылку
    https://metaparser.syscall.ru/games/?%game%

  19. -

    Никита, Я заменил ещё раз файл в папке «terminaljs», перенёс папку с игрой по другому пути, переименовал её. Без толку, заголовки не появляются.
    Обновлять по F5 иShift+F5 тоже пробовал. Не пробовал разве что очищать историю браузера.

  20. -

    Думаю, я понял, в чём проблема.
    На машине до этого открывалась игра «Страж Великой империи», которая и закэшировалась.
    Когда я дал ссылку на обновлённый файл terminal.js внутри «Стража Великой империи», то просто открылся его старый закэшированный вариант, который уже и подкладывался в игру Zlobot’а.
    В общем надо открыть «Стража Великой империи» и начала полностью обновить его поF5/Shift+F5.
    После того, как заголовки прорежутся в нём, то забрать файл terminal.js с сервера и вот тогда подложить в игру Zlobot’а, после чего обновить и страницу самой игры Zlobot’а.
    В файле terminal.js должна быть вот такая строка
    if (shouldDisplayInput) terminalObj.print('<div role="heading" aria-level="2">' + inputValue + '</div>') // modified by Nikita Tseykovets
    Если она там есть, то это новая версия с заголовками в истории. В варианте без заголовков будет строка
    if (shouldDisplayInput) terminalObj.print(inputValue)
    Проверять можно поиском начала строки, которое общее у обоих вариантов.

    Если бы автор protoparser.js не забросил развитие платформы, мы бы это уже просто встроили в неё изначально, а так приходится руками.

Comments are closed.