Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
02.12.2010 15:14

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

меньше слов

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

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

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

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

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

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

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

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

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

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

Неактивен

0    0    #3
02.12.2010 15:48

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

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

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

Неактивен

0    0    #4
02.12.2010 16:22

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

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

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

GrAndrey написал:

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

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

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

Неактивен

0    0    #5
02.12.2010 16:59

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

меньше слов

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

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

Неактивен

0    0    #6
02.12.2010 17:24

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

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

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

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


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


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

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

Неактивен

0    0    #7
02.12.2010 18:35

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

меньше слов

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

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

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

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

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

Неактивен

0    0    #8
03.12.2010 02:03

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

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
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

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

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

GrAndrey написал:

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

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

Неактивен

0    0    #11
03.12.2010 09:35

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

Тон

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

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

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

Неактивен

0    0    #12
03.12.2010 11:37

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

меньше слов

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

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

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

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

Неактивен

0    0    #13
03.12.2010 14:44

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

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

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

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

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

Неактивен

0    0    #14
03.12.2010 15:56

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

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

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

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

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

Неактивен

0    0    #15
03.12.2010 16:07

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

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

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

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

Неактивен

0    0    #16
03.12.2010 23:23

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

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

ASBer написал:

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

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

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

Неактивен

0    0    #17
04.12.2010 00:36

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

меньше слов

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
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

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

noname написал:

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

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

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

Неактивен

0    0    #22
04.12.2010 08:25

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

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: Усложнение традиционного парсера

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

--

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

--

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

--

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

Неактивен

0    0    #26
04.12.2010 21:58

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

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

noname написал:

Oreolek написал:

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

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

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

Неактивен

0    0    #27
06.12.2010 12:44

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

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

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

Еще новички часто вводят
>иди дальше
>иди вперёд
ну или просто
>дальше
>вперёд

Неактивен

0    0    #28
06.12.2010 21:02

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

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

Для "дальше" и "вперед" можно ввести специальные свойства-направления для локации.

Либо, как вариант, продолжать двигаться по этим командам в том направлении, в котором до этого шел игрок.

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

Неактивен

0    0    #29
07.12.2010 09:53

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

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

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

uux написал:

можно ввести специальные свойства-направления для локации.

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

Неактивен

0    0    #30
07.12.2010 10:03

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

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

ASBer написал:

uux написал:

можно ввести специальные свойства-направления для локации.

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

Главное, чтобы это не выродилось в борьбу автора со стандартными действиями всех этих библиотек.

Неактивен

0    0    #31
07.12.2010 12:05

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

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

ASBer написал:

uux написал:

можно ввести специальные свойства-направления для локации.

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

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

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

Отредактировано Eten (07.12.2010 12:07)

Неактивен

0    0    #32
07.12.2010 15:45

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

меньше слов

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

uux написал:

Для "дальше" и "вперед" можно ввести специальные свойства-направления для локации.

Либо, как вариант, продолжать двигаться по этим командам в том направлении, в котором до этого шел игрок.

Очень грамотное решение.

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

Неактивен

0    0    #33
07.12.2010 16:44

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

>убежать
>сбежать

Неактивен

0    0    #34
07.12.2010 18:19

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

меньше слов

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

Nex написал:

>убежать
>сбежать

Вы дейстительно хотите выйти из игры? Да/Нет
>

Неактивен

0    0    #35
07.12.2010 20:11

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Браво!

Неактивен

0    0    #36
07.12.2010 20:53

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

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

ASBer написал:

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

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

Кстати, пришла свежая мысль про "вперед": тут не все так гладко. Как только игра начнет понимать "вперед", игрок начнет вводить "назад", "вправо" и "влево"wink. Правда, на этот случай можно ввести такой ответ:

> вправо
Шаг вправо-влево считается побегом.

Отредактировано uux (07.12.2010 20:54)

Неактивен

0    0    #37
08.12.2010 07:39

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

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

Что совершенно не соответствует стилю большинства игр.

Неактивен

0    0    #38
08.12.2010 09:02

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

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

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

uux написал:

Как только игра начнет понимать "вперед", игрок начнет вводить "назад", "вправо" и "влево"wink

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

Неактивен

0    0    #39
08.12.2010 15:29

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

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

ASBer написал:

uux написал:

Как только игра начнет понимать "вперед", игрок начнет вводить "назад", "вправо" и "влево"wink

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

А если мы летим в открытом космосе? Добавить "вверх" и "вниз" ?)

Неактивен

0    0    #40
08.12.2010 15:53

Серый Волк
Модератор (+1194, -91)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 1096
Вебсайт

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

"Вверх" и "вниз" это стандартные команды перемещения, они заложены в любую уважающую себя платформу. Летим ли мы в открытом космосе или ходим между этажами (например в игре "Башня между мирами"), они должны работать. Разумеется, если ландшафт локации предусматривает такие плоскости.

Неактивен

0    0    #41
08.12.2010 18:34

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

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

Может, просто воспользуемся командой отмены? В ней все работает, только действия сюжета откатываются назад. wink

Неактивен

0    0    #42
09.12.2010 00:10

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

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

ASBer написал:

Если игра будет помнить направление движения ГГ, вперед/назад/вправо/влево элементарно вычисляется из ю-в-с-з

В том-то и проблема. Представляешь, какой это гемор для автора 9игры или платформы - неважно)? Хорошо, если игрок просто перемещается, а если он еще и поворачивается, стоя в локации?

Отредактировано uux (09.12.2010 00:11)

Неактивен

0    0    #43
09.12.2010 09:09

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

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

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

uux написал:

В том-то и проблема.

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

Неактивен

0    0    #44
09.12.2010 10:57

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

>согласиться
>отказаться

Неактивен

0    0    #45
09.12.2010 17:51

yandexx
Z-машина (+46, -3)
Откуда: Санкт-Петербург
Зарегистрирован: 01.06.2007
Сообщений: 394
Вебсайт

Русский Информ
Информ Discord

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

Nex написал:

>согласиться
>отказаться

Синонимично "да" и "нет", что уже реализовано сто лет как.

Неактивен

0    0    #46
09.12.2010 18:58

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Спасибо тому, кто сто лет назад это реализовал.

Неактивен

0    0    #47
10.12.2010 00:43

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

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

ASBer написал:

>осмотри собеседника

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

И еще одна мысль: самые отпетые извращенцы могут додуматься в момент диалога с кем-нибудь набрать "осм собеседника собеседника" вместо "осм себя".

Отредактировано uux (10.12.2010 00:44)

Неактивен

0    0    #48
10.12.2010 11:53

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

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

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

uux написал:

"осм собеседника собеседника" вместо "осм себя".

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

Неактивен

0    0    #49
10.12.2010 13:05

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

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

> вспомнить шутку

Неактивен

0    0    #50
10.12.2010 14:12

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

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

ASBer написал:

uux написал:

"осм собеседника собеседника" вместо "осм себя".

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

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

Неактивен

0    0    #51
17.12.2010 15:32

HIman
Участник (+1)
Откуда: St. Oskol
Зарегистрирован: 23.01.2003
Сообщений: 164
Вебсайт

Я выбираю QSP !

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

Имхо нормальное решение - реализовать парсер + меню.

В парсере все по старому глагол+существительное. (можно и сложнее, но не нужно)

А в меню высвечивается на каждой локации перечень тривиальных команд, а также появляются возможные конечные варианты ответов.

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

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

При использовании предметов по сюжету "Вы коснулись сенсоров информационного терминала. Экран ожил предоставив список тем на выбор:" Вот этот список и выбор темы также удобно реализовать через меню.

Неактивен

0    0    #52
17.12.2010 18:38

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

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

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

Неактивен

0    0    #54
18.12.2010 06:52

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

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

Ну мы можем проверить, если не согласен. Надо?
В Leisure Suit Larry 7 было меню, в котором высвечивались все команды, которые сработали у игрока. Плюс стандартные типа «осмотреть».

Неактивен

0    0    #55
18.12.2010 08:04

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Oreolek, это совершенно не то, о чем говорил HIman.
См. https://forum.ifiction.ru/viewtopic.php … 182#p14182

P.S. здесь действительно пошел оффтоп, начиная с сообщения Хаймена. Был бы здесь нормальный модератор - выделил бы обсуждение в другую тему.

Отредактировано Nex (18.12.2010 08:12)

Неактивен

0    0    #56
18.12.2010 08:18

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

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

Oreolek, это совершенно не то, о чем говорил HIman.

Вот пусть он и объясняет. Я понял фразу «парсер + меню» в самом прямом смысле (см. Spellcaster 101).

P.S. здесь действительно пошел оффтоп, начиная с сообщения Хаймена. Был бы здесь нормальный модератор - выделил бы обсуждение в другую тему.

Это будет тема «Упрощение традиционного парсера». :-)
Основную тему никто не поддерживает, зачем же плодить сущности?

Неактивен

0    0    #58
19.12.2010 00:05

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

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

Вообще-то Хитман скорее всего промахнулся и не попал в мою тему.

А как в парсерах герой реагирует на команду
> сделай уже сам что-нибудь
?)

Неактивен

0    0    #59
19.12.2010 08:28

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

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

В лучшем случае «Я понял, что вы хотите что-то сделать».

Неактивен

0    0    #60
19.12.2010 19:23

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

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

Жаль

Неактивен

0    0    #61
19.12.2010 20:06

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

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

Dark[Ol(U23)leneri] написал:

А как в парсерах герой реагирует на команду
> сделай уже сам что-нибудь
?)

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

Неактивен

0    0    #62
19.12.2010 22:15

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

Тон

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

Dark[Ol(U23)leneri] написал:

> сделай уже сам что-нибудь

"Ты здесь игрок." smile

Неактивен

0    0    #63
19.12.2010 23:10

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Use the Force, Luke!

Неактивен

0    0    #64
29.12.2010 12:53

oleksus6
Участник
Зарегистрирован: 29.12.2010
Сообщений: 2

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

Комбинированный парсерно-менюшный подход я давно уже обдумывал, и даже сделал пару намёток.
Вот, например.  (это эскиз на основе одной локации. для запуска  -  шмякнуть 6dayz.exe и выбрать koldoon.lua, или просто в командной строке ввести 6dayz.exe koldoon.lua. Файл кросс-платформенный, пойдёт и под виндой, а на маке и под линухами)

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

Но честно говоря, после всех этих экспериментов я понял что всё-таки чистый парсер рулит.

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

Впрочем, будет очень интересно услышать и другие мнения.

Отредактировано oleksus6 (29.12.2010 20:23)

Неактивен

0    0    #65
29.12.2010 16:17

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

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

Меню само по себе не ограничивает свободу игрока — оно лишь делает границы видимыми.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru