Предлагаю обсудить здесь направления по усовершенствованию парсера относительно классической его реализации.
Классическая реализация предполагает
Конструкции:
глагол
глагол + (объект)
глагол + (прямой объект) + (косвенный объект)
глагол + "строка"
глагол + число + (объект)
персонаж, (команда)
междометие
объекты описываются:
прилагательным или существительным отдельно, прил. + сущ., сущ. + связка + прил
перед существительным или прилагательным может стоять предлог, изменяющий действие или переназначающий прямой-косвенный объект . Ту же роль может иметь окончание (склонение) прилагательного или существительного.
В русском языке прилагательное, связанное с существительным, может идти за ним без связки предлогом (клок шерсти)
Не классическая:
-Наречия
-Вопросы (кто, что, зачем, как, почему, зачем) + конструкция следом (огр, зачем мне ключ?)
-предложение, начинающееся с объекта или из него состоящее (рычаг!) (не в уточнении)
-Три объекта в команде (прибить кошелек к полу молотком)
-Констатация факта (видимо, обращение к персонажу)
Нестандарт усложняет жизнь автору, но дружелюбен к новичкам. Правильно оформленный, он будет сводить все к стандартным действиям, которые мог предусмотреть автор, либо дать адекватный ответ.
Какие ещё нестандартные вещи любят пробовать игроки и оказываются обделенными? Как можно это реализовать?
Отредактировано GrAndrey (02.12.2010 15:18)
Неактивен
Неактивен
ASBer написал:
uux написал:
можно ввести специальные свойства-направления для локации.
Да это понятно что очень многое можно сделать прописав специальнае свойства и запрограммировав их обработку, только вся эта рутина опять навалится на автора, а ему и так не сладко.
Хотелось бы чтобы такие действия обрабатывались на уровне платформы/ст.библиотеки.
Главное, чтобы это не выродилось в борьбу автора со стандартными действиями всех этих библиотек.
Неактивен
ASBer написал:
uux написал:
"осм собеседника собеседника" вместо "осм себя".
Если уж говорить про действительно усложненный парсер, то возможен вариант, когда ваш собеседник в процессе диалога отвлёкся на другого собеседника, не прервав текущий диалог с вами.
Тогда "осм собеседника собеседника" вполне осмысленное действие.
Сомневаюсь, что в англоязычных платформах разработчики заморачивались поддержкой фраз типа "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo" (википедия), однако под эти платформы пишутся отличные игры (и в них даже упешно играют).
Неактивен
Меню само по себе не ограничивает свободу игрока — оно лишь делает границы видимыми.
Неактивен