Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #26
07.01.2019 22:40

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

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

Например, есть у нас эмулятор какого-нибудь условного Спектрума на js. Естественно, там будут работать ф-клавиши. Не думаю, что кого-то это сильно смутит. В разных программах ф-клавиши, да и вообще горячие клавиши ведут себя по-разному. Есть какие-то негласные соглашения, что F1 это справка, а F5 обновить. Но, если человеку нужно попасть в режим разработчика, значит этот человек знает на что идёт ) и он и без F12 туда попадет.

Отредактировано johnbrown (07.01.2019 23:03)

Неактивен

0    0    #27
08.01.2019 07:35

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

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

Вот, кстати, насчёт эмулятора. Интересно, а как у Инстеда в онлайне работают ф-клавиши? smile

P.S. ну, и для ясности: клавиши F3, F4, F5, F10, F11, F12 я не переопределял.

Отредактировано johnbrown (08.01.2019 08:02)

Неактивен

0    0    #28
08.01.2019 11:26

techniX
Участник (+104, -14)
Зарегистрирован: 17.11.2015
Сообщений: 35

Re: protoparser.js – простой веб-движок для парсерных игр

Онлайновый инстед перехватывает все F-клавиши, которые может (потому что хром, например, некоторые F-клавиши перехватывать не позволяет).
Но там по-другому сделать в принципе нельзя, т.к. instead-em - это скомпилированный в JS код десктопного инстеда, и он максимально повторяет функциональность десктопного приложения.

UPD: что касается горячих клавиш, я бы рекомендовал вместо F1-F12 использовать комбинации Alt+[что-то]. Типа Alt+L - просмотр логов.

Отредактировано techniX (08.01.2019 11:30)

Неактивен

0    0    #29
08.01.2019 17:24

Oreolek
Модератор (+450, -169)
Откуда: Кемерово
Зарегистрирован: 02.11.2009
Сообщений: 673
Вебсайт

Re: protoparser.js – простой веб-движок для парсерных игр

Есть 3 стандарта клавиатурных сокращений для веба (для ссылок, но здесь не важно), выбирайте по вкусу: http://htmlbook.ru/html/a/accesskey

Отредактировано Oreolek (08.01.2019 17:57)

Неактивен

1    0    #30
08.01.2019 18:07

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: protoparser.js – простой веб-движок для парсерных игр

Oreolek написал:

Есть 3 стандарта клавиатурных сокращений для веба (для ссылок, но здесь не важно), выбирайте по вкусу: http://htmlbook.ru/html/a/accesskey

Нет, в данном случае это не подходит. Атрибут accesskey должен быть привязан к какому-то существующему в DOM элементу страницы, так что для реализации горячей клавиши для вывода истории команд по простому нажатию использован быть не может. Для этого нужно где-то на странице делать ссылку или кнопку для целевого действия, которой и назначать accesskey. Кроме того, реализация горячих клавиш через accesskey имеет дополнительные недостатки: во-первых, в разных браузерах такие команды обрабатываются по-разному (где-то элемент сразу активируется, а где-то только фокусируется, так что активировать его надо будет дополнительным нажатием Enter или Space), а во-вторых, срабатывание accesskey зависит от раскладки, то есть accesskey="x" не сработает при активной русской раскладке, так что относительно удобно и предсказуемо для пользователя можно использовать только 10 цифр.

Хотя если вы имеете ввиду просто взять за ориентир набор модификаторов, то да. Но лично я бы предпочёл самый простой - только Alt, как уже здесь предлагалось.

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

Отредактировано Nikita (08.01.2019 18:20)

Неактивен

1    0    #31
08.01.2019 19:36

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

Завел задачу. Соглашусь, что так правильнее. К тому же, по сокращению проще запомнить (или угадать) команду.
Спасибо всем высказавшимся smile

Неактивен

1    2    #32
08.02.2019 17:06

Vladimir
Участник (+176, -191)
Откуда: Владивосток
Зарегистрирован: 01.09.2012
Сообщений: 322
Вебсайт

Re: protoparser.js – простой веб-движок для парсерных игр

Поиграл в Плащ тьмы. Всё нормально, но есть неудобство: когда вводишь команды ВОЗЬМИ КРЮЧОК, ПОВЕСЬ ПЛАЩ, то парсер не понимает это, а жаль...

Неактивен

1    1    #33
08.02.2019 20:11

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

Vladimir написал:

Поиграл в Плащ тьмы. Всё нормально, но есть неудобство: когда вводишь команды ВОЗЬМИ КРЮЧОК, ПОВЕСЬ ПЛАЩ, то парсер не понимает это, а жаль...

Работают команды

Код:

> взять крючок
> повесить плащ

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

Отредактировано johnbrown (06.02.2021 10:35)

Неактивен

0    0    #34
09.02.2019 16:25

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

johnbrown написал:

Глаголы в повелительном наклонении я не включал в стандартную библиотеку и не планирую...

Добавил задачу. Спасибо за замечание.

Неактивен

3    0    #35
09.02.2019 20:33

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: protoparser.js – простой веб-движок для парсерных игр

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

В любом случае, стоит учитывать, что добавление повелительного наклонения предполагает утроение, а не удвоение глагольных словоформ, потому что необходимо добавлять форму единственного и множественного числа: "трактирщик, дай водки", "господа, дайте вина". Контекст может побуждать игрока обращаться во множественном числе даже к единичному персонажу: "сударь, откройте дверь". Если сильно придираться, то можно ставить вопрос и об упятерении глагольных словоформ за счёт частицы "ка": "трактирщик, дай-ка водки", "господа, дайте-ка вина".

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

Отредактировано Nikita (09.02.2019 20:37)

Неактивен

0    0    #36
09.02.2019 21:40

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

Nikita написал:

Вообще повелительное наклонение имеет смысл, если платформа поддерживает функциональность управления персонажами,

В тадсе 2 это работает и для управления протагонистом, на других платформах не проверял.

Nikita написал:

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

Я примерно также думал вначале, но, переспав с этим ночь, решил не загонять игрока в рамки "традиций". Ещё вопрос на сколько игрок готов ассоциировать себя с персонажем, но это тема отдельного топика.

Неактивен

1    1    #37
09.02.2019 22:15

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: protoparser.js – простой веб-движок для парсерных игр

johnbrown написал:

В тадсе 2 это работает и для управления протагонистом, на других платформах не проверял.

Да, в TADS и Inform просто нет разницы, потому что у действия общий список синонимов в разных формах, но причина появления повелительного наклонения именно в наличии функции управления персонажем. У Владимира просто специфический взгляд на этот вопрос сквозь призму натянутых холеварных сравнений с его собственными разработками, так что следующим баг репортом от него будет что-то вроде ошибки на команде "начну, пожалуй, с того, что осмотрю плащ, который на мне".

Неактивен

0    0    #38
23.03.2019 16:00

Михаил Соловьёв
Участник (+18)
Зарегистрирован: 23.03.2019
Сообщений: 20

Re: protoparser.js – простой веб-движок для парсерных игр

Поиграл в Фантазию, интересный подход. Сейчас полезу изучать код.
Скажите, а как относитесь к тому, что игрок в любой момент может заглянуть в исходный код JS-игры в браузере и найти все ему нужные подсказки в прохождении. Никак защищать / обфусцировать не пробовали? Теряется элемент хардкорности же.

Неактивен

1    0    #39
23.03.2019 17:56

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

Парсеры сами по себе хардкор smile Мысли такие проскальзывали, но, практически, в эту сторону не копал. Я, вообще, за открытость кода. А, кроме того, шифрование, наверняка потребует подключения дополнительных библиотек, чего бы мне не хотелось. Мне нравится идея минималистичности пп. smile

Неактивен

1    0    #40
23.03.2019 18:28

gloomy
Модератор (+277, -67)
Зарегистрирован: 21.02.2009
Сообщений: 427

http://instead.hugeping.ru

Re: protoparser.js – простой веб-движок для парсерных игр

Я по ошибке не туда написал сообщение. smile
Но протопарсер тоже рулит! Жду новых игр на нем.

Про инстед, так можно сказать уже. Есть чат боты, Борис Тимофеев пилит стендалон приложение на андроиде... Есть минимальная консольная версия.

Отредактировано gloomy (23.03.2019 18:29)

Неактивен

0    0    #41
23.03.2019 18:32

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

gloomy написал:

Я по ошибке не туда написал сообщение. smile
Про инстед, так можно сказать уже. Есть чат боты, Борис Тимофеев пилит стендалон приложение на андроиде...

Ok, разобрался smile Нет, я имел в виду на js. Типа instead.js только без node. Но, это, наверное, вопрос к Technix.

МП для андроида это интересно. Дашь знать когда выйдет? smile

Отредактировано johnbrown (23.03.2019 18:34)

Неактивен

0    0    #42
23.03.2019 18:43

gloomy
Модератор (+277, -67)
Зарегистрирован: 21.02.2009
Сообщений: 427

http://instead.hugeping.ru

Re: protoparser.js – простой веб-движок для парсерных игр

Уже оффтопим. smile.Да, по идее не проблема облегченный js сделать сугубо для мп. Ну нужен человек, кто этим занимается. Сам я такое не умею. Про андроид тут на форуме напишу в ветке с инстедом/мп.

Неактивен

4    0    #43
25.10.2020 14:20

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

С удивлением узнал, что кто-то пишет на пп, и даже делает патчи (привет Oreolek, Nikita!). Это приятно!

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

ВЕРСИЯ 7

 спойлер…

Также хочу дать ссылку на форк Ореолека. В нем он поработал над стилями и сделал отвязку от terminal.js.

Пользуйтесь чем вам больше нравится!

Неактивен

4    0    #44
27.07.2022 11:03

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: protoparser.js – простой веб-движок для парсерных игр

ВЕРСИЯ 8



В новой версии протопарсер получил отвязку от единственной сторонней библиотеки terminal.js, отвечавшей за ввод/вывод. Функционал библиотеки (командная строка, горячие клавиши, история команд и пр.) перенесен в движок.

Упрощена html-разметка в индексном файле, переработан дефолтный стиль оформления. На мобильных и настольных устройствах должно улучшиться отображение.

Полностью переделана система логирования. Теперь по команде лог и по окончанию игры появляется ссылка на скачивание файла-транскрипта (генерируется локально в браузере пользователя). Полный лог доступен и после очистки экрана.

Добавлен запрос-подтверждение на закрытие окна с игрой (если пользователь совершал какие-либо действия).

Исправлен баг с появлением удаленного предмета при загрузке сохранения.

Добавлена поддержка работы с программами чтения с экрана (автоозвучка). Вообще говоря, я так и не понял как работает эта система. На разных устройствах что-то озвучивалось, что-то нет. Более-менее рабочие результаты удалось получить при использовании NVDA на Windows.

Полный список изменений:

 спойлер…

Скачать protoparser.js

Отредактировано johnbrown (30.08.2022 14:46)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru