Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
14.04.2008 11:59

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

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

Типизация действий по видам чувств

При проверке возможности действия над предметом, парсер должен проверять доступность предметов, вложенных в другие объекты. При этом объекты могут быть доступны для одних типов действий и недоступны для других.

Идея проста:
Классифицировать на уровне парсера действия по видам чувств:
- зрение,
- слух,
- осязание,
- обоняние,
- вкус, (под вопросом…)
+ 6-е чувство (для экстрасенсорных воздействий)
+ чувство собственности (возможность манипулирования предметами)

Для объектов-контейнеров устанавливаем флаги:
- непрозрачность - нельзя видеть предмет,
- звукоизоляция – нельзя слышать предмет,
- невозможность потрогать предмет,
- герметичность для запахов – нельзя понюхать предмет
- невозможность попробовать на вкус (очевидно= невозможности потрогать предмет)
- экстрасенсорная непрозрачность (а надо ли? вероятно для этого типа действий преград нет)
- является собственником – владелец не дает брать и использовать предметы.

Так, для поверхности стола (предмет лежит на столе) допустимы все действия – можно осматривать, нюхать, трогать, брать или слушать предмет.

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

Для завязанного мешка оставляем возможность прощупать предмет внутри мешка.

Для предмета внутри металлического сейфа оставляем только экстрасенсорные воздействия. Для прочих действий будут выдаваться сообщения: «ты не видишь это здесь», «ничего не слышно», «ничем не пахнет», «предмет недоступен»

Для NPC устанавливаем флаг собственника. При попытке взять у владельца предмет выдается сообщение: «NPC_Name не даст тебе это».

При описании действий, автор явно указывает парсеру, к какому типу это действие относится.
Примеры:
Действие «Осмотреть» - зрение
Действие «Взять» - собственность + возможность потрогать
Действие «Украсть» - возможность потрогать
Действие «Кинуть в …» - зрение (можно кинуть в то, что видишь)

Вопрос к сообществу:
Будет ли достаточно описанных типов действий, или я что-либо упустил?
Типы действий планируется зашить в парсер и их состав будет фиксирован.

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

Неактивен

0    0    #2
14.04.2008 16:28

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

noname

Re: Типизация действий по видам чувств

вопрос интересен вот в каком плане:

при разработке большого мира, с логичным игровым миром ( т е не слишком непредсказуемым для игрока )
удобно было бы вообще задавать действия не над объектами, а над свойствами.
а каждому объекту задавать некоторые свойства- те, которые отличны от умолчательных
и НЕ только для чувств, а для ВСЕХ действий; свойства, их значения и реакцию на них автор может изменять и дополнять.

например:

взять <что-то> ; соотв свойство объекта: св_взять ;
возможные значения свойства св_взять: можно, нельзя;

кроме того автор может задавать свои значения: будет_можно_при_опр_обстоятельствах, нельзя2(другое сообщение ошибки), можно_особое_действие, и т п- что в голову взбредёт

если всзять <что-то> обнаруживает незнакомое свойство- обрабатывает, как дефолтное

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

типа вот такая логика программирования

Отредактировано noname (14.04.2008 16:31)

Неактивен

Powered by PunBB
© copyright 2001–2022 iFiction.Ru