Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
03.05.2018 09:37

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

Protoparser.js – легковесный веб-движок (фреймворк) для интерактивных текстовых игр с вводом команд («парсеров»).

Приставка «прото» в названии движка, в переводе с древнегреческого, означает «первый». Интерфейс командной строки протопарсера оперирует всего двумя понятиями: ГЛАГОЛ и СУЩЕСТВИТЕЛЬНОЕ. В этом он похож на первые текстовые игры-приключения. Основная цель проекта, в первую очередь, – не достичь возможностей каких-то существующих парсерных движов, а создать инструмент, который бы ни в чем не  ограничивал автора, был максимально простым и открытым, при этом, оставался бы незаметным.

Основные особенности и возможности protoparser.js:

  • Protoparser.js платформонезависимый. Вы можете запускать и писать игры на любом устройстве, в котором есть браузер с поддержкой JavaScript. Не нужно компилировать исходники, устанавливать интерпретаторы, библиотеки, и пр. Все, что нужно, чтобы начать писать игру – любая программа в которой можно набрать и сохранить текст. Протопарсер работает даже на старых устройствах.
  • При желании, вы можете писать игру прямо в браузере, переключившись в «режим разработчика», если ваш браузер поддерживает такой режим.
  • Законченную игру можно выложить на сайт, где она будет доступна онлайн. Вы также можете запускать ее локально.
  • В протопарсере есть система автотестирования, которая избавит вас от необходимости после каждой правки вручную вбивать команды и проверять как все работает. Кроме того, благодаря наличию во многих современных браузерах «режима разработчика» вы можете в реальном времени проверять и изменять состояние игровых объектов.
  • Если вы даже не собираетесь писать игры на протопарсере, вы, тем не менее, можете использовать его как инструмент для быстрого прототипирования.
  • Protoparser.js написан на чистом JavaScript'е, и, кроме эмулятора терминала terminal.js, не использует иных библиотек или зависимостей.
  • Поскольку protoparser.js является веб-приложением вы можете использовать все возможности HTML, CSS и JS в своих играх: вставлять картинки, музыку, звуки, видео; устанавливать стили оформления; подключать дополнительные js-библиотеки, и многое другое.
  • Protoparser.js выполняется полностью на стороне клиента, и там же хранит все данные.
  • Protoparser.js поддерживает мульти-сохранение и загрузку игр.
  • Игры для протопарсера пишутся на языке JavaScript. В настоящее время, это один из самых распространенных языков программирования. Даже если вы напишите всего одну игру, опыт приобретенный при ее написании, может помочь вам, если вы в дальнейшем захотите заняться программированием на этом языке.
  • Protoparser.js распространяется на условиях лицензии MIT. Вы можете изменять и использовать его в своих проектах.

Protoparser.js можно скачать из репозитория на гитлабе. Там же есть руководство по созданию игр и демо-игра.

Для ознакомления с возможностями движка можно прямо сейчас поиграть в демонстрационную игру «Фантазия» онлайн. Кстати, игра участвует в Парсерфесте-2018 wink

Неактивен

   #2
05.05.2018 13:18

Антон Ласточкин
Участник (+235, -5)
Зарегистрирован: 18.09.2015
Сообщений: 109

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

По особенностям:
Protoparser.js платформонезависимый. Вы можете запускать и писать игры на любом устройстве, в котором есть браузер с поддержкой JavaScript. Не нужно компилировать исходники, устанавливать интерпретаторы, библиотеки, и пр. Все, что нужно, чтобы начать писать игру – любая программа в которой можно набрать и сохранить текст. Протопарсер работает даже на старых устройствах.
>Согласен. Только вот на небольшом экране смартфона, при включении поля ввода получается дикий масштаб и надо потом уменьшать экран, чтобы увидеть результат.

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

>Это прикольно

В протопарсере есть система автотестирования, которая избавит вас от необходимости после каждой правки вручную вбивать команды и проверять как все работает.
>Автотестирование это громко сказано. Скорее система проигрывания записанных команд, как в тадс и информ. Нашел случайно в исходниках как включить - в var game, свойство tests поставить true. Может описать эту процедуру в помощи + создание рядом скрипта команд?

Кроме того, благодаря наличию во многих современных браузерах «режима разработчика» вы можете в реальном времени проверять и изменять состояние игровых объектов.
Если вы даже не собираетесь писать игры на протопарсере, вы, тем не менее, можете использовать его как инструмент для быстрого прототипирования.
Protoparser.js написан на чистом JavaScript'е, и, кроме эмулятора терминала terminal.js, не использует иных библиотек или зависимостей.
Поскольку protoparser.js является веб-приложением вы можете использовать все возможности HTML, CSS и JS в своих играх: вставлять картинки, музыку, звуки, видео; устанавливать стили оформления; подключать дополнительные js-библиотеки, и многое другое.
Protoparser.js выполняется полностью на стороне клиента, и там же хранит все данные.

>Нормально

Protoparser.js поддерживает мульти-сохранение и загрузку игр.
>Как это сделать? Нет реакции на сохранить, загрузить игру.


Посмотрел код, это скорее библиотека для JS, позволяющая организовать парсерную игру, чем целая платформа. Потому что без знания javascript не получиться написать игру для авторами. Понятно, что по описанию она не стремится тягаться со "взрослыми" парсерными платформами, однако есть некий минимум для обработки - больше двух слов. Надо разрешить такие конструкции как "поговорить со стариком", "залезть на дерево". Ну и прописывать вручную склонения немного утомительно, может будут подвижки в этом направлении.
Что меня привлекает в платформе: клиентский код в браузере, легковесный.
Что меня отталкивает: лично я не стал бы пользоваться этой платформой. Дело даже не в том, что сырая. Не виден вектор развития. ТАДС и Информ давно покрыли текущий функционал и планируемый в части моделирования мира и обработки команд. Нужны годы, чтобы дойти до такого же уровня на JS, но тогда движок станет совсем не легковесным, а тяжёлым, уже не уверен что будет хорошо и быстро на клиенте работать, пропадёт первая цель. Мне было бы интересно воспользоваться каким-то спец-движком, например: парсерный движок для текстовых стратегий, тайм-менеджемтов и т.п. Он бы имел внутри себя модель предметной области и автор вводит только настройки модели и получает на выходе игру определённого жанра, потому что зачастую приходиться эту модель вводить с нуля.

Вцелом работа интересная, думаю, автор повысил свой левел в JS-пока писал её smile
PS: а куда можно отправить лог по игре фантазия?

Неактивен

   #3
05.05.2018 17:35

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

Привет Антон! Спасибо за интерес к проекту.

>Согласен. Только вот на небольшом экране смартфона, при включении поля ввода получается дикий масштаб и надо потом уменьшать экран, чтобы увидеть результат.

Да, я заметил на разных смартфонах игра отображается со своими нюансами. Иногда это даже зависит от того включён интернет или нет, хотя движок полностью автономен. Пока главное что запускается, юзерэкспириенс будем допиливать после )

Автотестирование это громко сказано. Скорее система проигрывания записанных команд, как в тадс и информ. Нашел случайно в исходниках как включить - в var game, свойство tests поставить true. Может описать эту процедуру в помощи + создание рядом скрипта команд?

Это все есть. В руководстве этому целая глава посвящена. Скрипты для тестирования тоже есть. В папке с игрой. Если его включить игра сама себя пройдёт. Ну, и в корневой тоже, для удобства автора.

>Как это сделать? Нет реакции на сохранить, загрузить игру.

Реакция должна быть. Хотя бы "Ошибка при загрузке/сохранении". Пишите "сохранить названиефайласохранения", например: сохранить фантазия1

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

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

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

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

Что меня привлекает в платформе: клиентский код в браузере, легковесный.

< 30 КБ smile

PS: а куда можно отправить лог по игре фантазия?

Логи можно слать в личку. Кстати, спасибо.

Неактивен

   #4
11.05.2018 21:04

Sonic
Автор ЯРИЛ (+81, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 247
Вебсайт

---

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

Движок интересный. Будут новые релизы - пиши сюда, что важное в них. smile И жду новых демо-игр. wink

PS. Может даже попробую свою игру написать.

Неактивен

   #5
12.05.2018 08:33

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

Sonic написал:

Движок интересный. Будут новые релизы - пиши сюда, что важное в них. smile И жду новых демо-игр. wink

PS. Может даже попробую свою игру написать.

Спасибо! smile Да, конечно, о релизах буду сообщать. Думаю, новые фичи буду просто добавлять в Фантазию.

Неактивен

   #6
24.05.2018 11:58

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

Версия 2(93)

  • для вывода текста можно использовать функцию p (t.print тоже работает).
  • для существующих команд добавлены синонимы: счёт, смотреть, см, восстановить.
  • команда "заново" работает, даже если localStorage недоступен.
  • новое свойство предметов - examined. Оно добавляется автоматически всем предметам, которые осматривал игрок. Содержит значение - «число осмотров» предмета.
  • добавлены новые стандартные команды (функции-обработчики): купить (buy), продать (sell), открутить (unscrew) и прикрутить (screw).
  • добавлен новый метод onLoad объекта events. Он позволяет писать инструкции, которые выполнятся сразу после начала игры.
  • если введено больше двух слов или пустая строка, движок сообщает об этом.
  • новое свойство noSaveLoad объекта game для установки запрета на сохранение и загрузку игры.
  • добавилась возможность переопределять стандартные сообщения системы. Новые свойства объекта game, содержащие стандартные сообщения системы: longCommandMsg, emptyCommandMsg, unknownCommandMsg, noScoreMsg, overburdenMsg, confirmRestartMsg, cancelRestartMsg, savedMsg, notSavedMsg, loadedMsg, notLoadedMsg, noThingMsg, winMsg, lostMsg, saveForbiddenMsg, loadForbiddenMsg.
  • внутриигровая справка стала информативнее.
  • в функциях lock, unlock исправлены офрографические ошибки при выводе.
  • исправлена ситуация, когда лог игры доходил до низа окна и строка ввода скрывалась наполовину.
  • исправлены синтаксические ошибки в игре и руководстве.
  • руководство автора обновлено.
  • демонстрационная игра «Фантазия» обновлена.

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

 спойлер…

Неактивен

   #7
08.06.2018 10:56

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

ВЕРСИЯ 3(104)

Так получилось, что третий релиз, в основном, посвящен работе над ошибками и улучшению внутренней логики программы. Из-за этого не получилось добавить те фичи, которые я изначально планировал. Зато появились фичи, которые я вообще не планировал smile Итак, что нового:

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

- теперь у автора появилась возможность установить символьное представления курсора, частоту и режим мигания;

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

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

Вторая главная фича этого релиза - «горячие клавиши». Игрой теперь можно управлять не только набирая команды, но и используя специально определенные клавиши (пока это нумпад и пара функциональных клавиш). По-умолчанию, на них повешены наиболее часто употребляемые команды: передвижение, просмотр инвентаря, осмотр и пр. Все эти команды легко можно переназначить, исходя из особенностей своей игры.

В руководство добавились несколько новых разделов; информация в имеющихся обновлена, в соответствии с последними изменениями. Также обновлена игра «Фантазия». Все изменения можно протестировать прямо в ней.

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

 спойлер…

Неактивен

   #8
13.06.2018 07:23

Korwin
Гоблин, зеленый от недосыпа (+137, -8)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 773
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

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

В самой игре нашел несколько опечаток:

 спойлер…

Неактивен

   #9
13.06.2018 09:52

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

ГИКИ: Голосовой Интерпретатор Книг-Игр
----------------------------------
Репозиторий моих игр и программ на гитлабе

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

стало играть проще

Это здорово, это то, чего я добивался smile

Было бы неплохо добавить в парсер функцию истории - по курсору стрелка вверх - вниз вызывать предыдущие команды, чтобы редактировать - так удобнее.

Михаил уже завел тикет.

 спойлер…

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru