Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
12.02.2009 12:55

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

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

3 плоскости парсерной игры

Это просто размышления о внутренней природе парсерных игр, их метафизике.
У меня постепенно проявилось четкое разделение всего что есть в коде игры на 3 плоскости:

1. Объектная плоскость
Здесь существуют объекты и пространства. Открываются и закрываются двери. Горят лампы и освещают темные подземелья. Здесь живут своей собственной жизнью NPS. Здесь прописаны все законы мира. Все отношения между объектами. Здесь даже может быть некоторая динамика и развитие событий, но только в той степени, в которой это определено все теми же общими механизмами мироустройства.

2. Языковая плоскость
Это царство слов. Здесь описывается все что происходит в объектной плоскости. Здесь каждому объекту дается его имя и именно под этим именем игрок узнает этот объект и так будет называть его. Здесь автоматически описываются происходящие события. Здесь есть Рассказчик и есть Слушатель. Здесь царствуют законы языка, которые практически не зависят от объектных законов (плоскость 1).

3. Сюжетная плоскость
Это вотчина автора. Именно здесь он строит свою уникальную для этого мира историю. Здесь он вправе вносить авторские отклонения в поведение объектов, навязывать NPS диалоги, не существующие в их мире (1 плоскость) и описывать происходящее собственными словами, а не так как это определено (2 плоскость).

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

Вобщем, если у кого есть что сказать по теме - Велком.

Отредактировано ASBer (12.02.2009 13:06)

Неактивен

0    0    #2
12.02.2009 16:43

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

меньше слов

Re: 3 плоскости парсерной игры

Не понимаю этого разделения.

1 и 2:
Как это возможно, чтобы "автоматически описывающиеся происходящие события" "практически не зависели от объектных законов"? И какой смысл отсекать "названия" объектов от них самих? ООП для того и ввели в ИЛ, чтобы было к чему привязывать лексемы. Во всех ИЛ с ООП каждое известное системе слово либо приписано объекту, либо представлено абстрактной переменной. Предложенный языковый срез подразумевает свести всё ко второму варианту.

3:
сюжетный срез по данному определению - все правки и дополнения к стандартным шаблонам. Легко вычленяется с помощью программ типа diff.

Неактивен

0    0    #3
23.10.2009 13:49

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

меньше слов

Re: 3 плоскости парсерной игры

...А теперь представьте гигантского человекоподобного боевого робота, который создан на основе тех же трех слоев. wink

А серьезно: словесный слой - это отражение той же объектной модели, существующей в воображении автора и игрока. Задача не отделить компьютерную объектную модель от человеческой, а наоборот, привести их к одной. Одно из решений - программа на естественном языке.
При этом, словесное описание не самое практичное. Поэтому существует огромное количество "технических языков", форм записи и условных обозначений. Например, таблицы и схемы воспринимаются в разы проще сплошного текста данных того же содержания.  Можно привести ещё много примеров. Развитие этой мысли приводит к "визуальной среде разработки для чайников", о которой давно все мечтают, но отчаялись увидеть в толковом исполнении.
Видимо, идеал - визуальная система со скриптами на естественном языке.

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

П.С. перечитал более ранние сообщения, и вспомнил, что "словесный слой" ещё и включает парсер. А парсер вообще страшный зверь, это аналог нашей внутренней программы(обычно мы воспринимаем речь на автомате, без осмысливания процесса). Это вообще очень интересная тема для изучения.

Отредактировано GrAndrey (23.10.2009 14:06)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru