Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
02.12.2010 15:14

GrAndrey
папа RTADS и Бяка (+47, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1196
Вебсайт

меньше слов

Усложнение традиционного парсера

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

Классическая реализация предполагает
Конструкции:
глагол
глагол + (объект)
глагол +  (прямой объект) + (косвенный объект)
глагол + "строка"
глагол + число + (объект)
персонаж, (команда)
междометие

объекты описываются:
прилагательным или существительным отдельно, прил. + сущ., сущ. + связка + прил

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

В русском языке прилагательное, связанное с существительным, может идти за ним без связки предлогом (клок шерсти)

Не классическая:
-Наречия
-Вопросы (кто, что, зачем, как, почему, зачем) + конструкция следом (огр, зачем мне ключ?)
-предложение, начинающееся с объекта или из него состоящее (рычаг!)  (не в уточнении)
-Три объекта в команде (прибить кошелек к полу молотком)
-Констатация факта (видимо, обращение к персонажу)

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

Какие ещё нестандартные вещи любят пробовать игроки и оказываются обделенными? Как можно это реализовать?

Отредактировано GrAndrey (02.12.2010 15:18)

Неактивен

0    0    #3
02.12.2010 15:48

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: Усложнение традиционного парсера

Про "Три объекта в команде (прибить кошелек к полу молотком)" я в своё время писал. Собственно вот и вот, а здесь и статья на эту тему.

Неактивен

0    0    #4
02.12.2010 16:22

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Усложнение традиционного парсера

GrAndrey написал:

Предлагаю обсудить здесь направления по усовершенствованию парсера...
... Как можно это реализовать?

Реализовать средствами TADS-2?
Или средствами других существиющих платформ?
Или попытаться представить в идеале, без привязки к имеющимся на текущий момент платформам?

Прошу определиться с рамками дискуссии smile

Неактивен

0    0    #5
02.12.2010 16:59

GrAndrey
папа RTADS и Бяка (+47, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1196
Вебсайт

меньше слов

Re: Усложнение традиционного парсера

Вообще, без привязки к платформе

Неактивен

0    0    #6
02.12.2010 17:24

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Усложнение традиционного парсера

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


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


Это для разминки...

Отредактировано ASBer (02.12.2010 17:25)

Неактивен

0    0    #7
02.12.2010 18:35

GrAndrey
папа RTADS и Бяка (+47, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1196
Вебсайт

меньше слов

Re: Усложнение традиционного парсера

выйти: это легко и органично реализуется в TADS, когда  автор прописывает направление "out" для локации

Вернуться: проблемно, потому что обратного пути может и не быть, или обратный путь вовсе не в противоположном изначальному направлению.
Можно сделать так(системное сообщение): "Ты пришел сюда с юга, и хотел вернуться, направившись на север, но обнаружил, что так ты не пройдешь." Если игрока коварно перенесли из локации в локацию, игра даже не поймет и будет посылать в направлении последнего перехода

Чтобы игрок что-то вернул или положил обратно? Да ни в жизнь, эти клептоманы только карманы набивают smile

Отредактировано GrAndrey (02.12.2010 18:43)

Неактивен

0    0    #8
03.12.2010 02:03

uux
Участник (+836, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1584

Re: Усложнение традиционного парсера

ASBer написал:

Тогда вот примеры "простых" действий:

>выйди

ГрАнд прав, тут никаких проблем. Просто специальное свойство комнаты.

>вернись

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

>положи назад
>отдай назад

Это действительно сложнее. Но в принципе можно прописать свойство с последней локацией и для класса предметов. Правда, здесь есть много сложностей - например, если мы взяли из шкафа зонтик, раскрыли его и пытаемся положить обратно в шкаф, а он не лезет;).

Мои предложения рассчитаны, конечно, не только на ТАДС, но платформа должна быть объектно-ориентированной.

Отредактировано uux (03.12.2010 06:28)

Неактивен

0    0    #9
03.12.2010 08:13

Dark[Ol(U23)leneri]
Участник (-3)
Зарегистрирован: 16.05.2010
Сообщений: 203

Re: Усложнение традиционного парсера

> коагируй

Неактивен

0    0    #10
03.12.2010 09:24

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Усложнение традиционного парсера

GrAndrey написал:

Чтобы игрок что-то вернул или положил обратно? Да ни в жизнь, эти клептоманы только карманы набивают smile

На этом можно делать загадки-ловушки - пока колечко на место не положишь, дверь не откроется ^_^ а вода всё прибывает....

Неактивен

0    0    #11
03.12.2010 09:35

fireton
некто с бородой (+348, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1098
Вебсайт

Тон

Re: Усложнение традиционного парсера

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

Честно говоря, не представляю, как такое сделать. Надо много думать.

Неактивен

0    0    #12
03.12.2010 11:37

GrAndrey
папа RTADS и Бяка (+47, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1196
Вебсайт

меньше слов

Re: Усложнение традиционного парсера

да, давно беспокоит этот момент. Чтобы игрок ощущал диалог и не испытывал каждую минуту жесткость рамок интерфейса, игра должна знать контекст команд.
Например:

>взять палку
Взята.
>осм
Ты стоишь посреди поляны.
Из кустов  тебе под ноги вылетела и упала граната.
> бросить её!!!
(палка) Брошена.

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

Неактивен

0    0    #13
03.12.2010 14:44

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Усложнение традиционного парсера

Еще хотелось бы более точных глаголов в описаний действий:

Комната. На полу лежит монета, на стене висит пальто.
>возьми монету
Ты поднял монету
>возьми пальто
Ты снял пальто

Неактивен

0    0    #14
03.12.2010 15:56

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

Re: Усложнение традиционного парсера

Еще хотелось бы более точных глаголов в описаний действий:

Комната. На полу лежит монета, на стене висит пальто.
    >возьми монету
    Ты поднял монету
    >возьми пальто
    Ты снял пальто

Это не может делать платформа, об этом придётся думать автору игры.

Неактивен

0    0    #15
03.12.2010 16:07

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Усложнение традиционного парсера

Может. Платформа мечты фсё может...

Неактивен

0    0    #16
03.12.2010 23:23

uux
Участник (+836, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1584

Re: Усложнение традиционного парсера

ASBer написал:

Еще хотелось бы более точных глаголов в описаний действий:

Комната. На полу лежит монета, на стене висит пальто.
>возьми монету
Ты поднял монету
>возьми пальто
Ты снял пальто

Ну, опять-таки можно ввести для объектов свойство, отмечающее, висит ли объект, лежит ли на полу, вставлен ли куда и т. п., и анализировать это свойство при взятии объекта.

Неактивен

0    0    #17
04.12.2010 00:36

GrAndrey
папа RTADS и Бяка (+47, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1196
Вебсайт

меньше слов

Re: Усложнение традиционного парсера

>Мюллер, давай-ка снимем девочек
-Нет, пусть еще повисят

*убежал реализовывать оборот "давай-ка"*

Неактивен

0    0    #18
04.12.2010 01:13

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Усложнение традиционного парсера

Какие ещё нестандартные вещи любят пробовать игроки и оказываются обделенными? Как можно это реализовать?

мой ответ чемберлену: https://forum.ifiction.ru/viewtopic.php?id=1490

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

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

самая засада с нестандартом в том, что парсер может понять из фразы совсем не то, что задумывалось.

Какие ещё нестандартные вещи любят пробовать игроки и оказываются обделенными? Как можно это реализовать?

хороший вопрос, тока я не люблю пробовать нестандартные вещи. интересно посмотреть ответы остальных))

--

Нестандарт усложняет жизнь автору, но дружелюбен к новичкам.

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

Отредактировано noname (04.12.2010 01:14)

Неактивен

0    0    #19
04.12.2010 01:20

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Усложнение традиционного парсера

"выйти" и "вернуться"- поддерживаю, т к не считаю это нестандартом.

Вернуться: проблемно, потому что обратного пути может и не быть, или обратный путь вовсе не в противоположном изначальному направлению.

однако, направление не имеет значения. имеет значение то, из какой локации ГГ пришёл, и может ли (возможно ли и известен ли ему путь) вернуться в неё.

Неактивен

0    0    #20
04.12.2010 01:26

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Усложнение традиционного парсера

ещё в тему:

можно вспомнить подробный отзыв(обзор) одного из новичков в парсере об игре Корвина про башню.

из него видно, что игрок пробовал царапать стену, и др подобные действия.

хочу обратить особое внимание: пробовались стандартные(по форме) команды, которые просто не возможно предусмотреть.

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

по-моему, эти фразы- для опытных зубров only

Отредактировано noname (04.12.2010 01:28)

Неактивен

0    0    #21
04.12.2010 07:05

uux
Участник (+836, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1584

Re: Усложнение традиционного парсера

noname написал:

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

Это офф-топ, конечно;) - пытливому новичку может прийти в голову не только это, а вообще такие вещи, что и представить себе трудно.

Отредактировано uux (04.12.2010 07:05)

Неактивен

0    0    #22
04.12.2010 08:25

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

Re: Усложнение традиционного парсера

У меня в одной из игр логировались все запросы.
Вы не представляете, КАК изобретательны игроки. Например, они могут попросить парсер засунуть себе что угодно в.. во что угодно.

Неактивен

0    0    #24
04.12.2010 20:53

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Усложнение традиционного парсера

Oreolek написал:

У меня в одной из игр логировались все запросы.
Вы не представляете, КАК изобретательны игроки. Например, они могут попросить парсер засунуть себе что угодно в.. во что угодно.

и? какой из этого следует вывод? т е- в каком направлении тебя подталкивает знание этого факта?

reply to off-top:

 спойлер…

Неактивен

0    0    #25
04.12.2010 21:03

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Усложнение традиционного парсера

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

--

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

--

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

--

вот такое моё мнение.

Неактивен

Powered by PunBB
© copyright 2001–2021 iFiction.Ru