Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
09.02.2008 00:28

oleksus
адвентурист шестого дня
Откуда: Киевская Русь, г.Ирпень
Зарегистрирован: 10.02.2007
Сообщений: 149
Вебсайт

Inform 7

Что-то не видел такой темы на форуме, что весьма удивительно.

Кто щупал? У кого какие впечатления? Программирование естественным языком - затея очень занятная.
Года полтора назад поставил впервые, поигрался, потом забросил. Периодически вспоминаю, и не перестаю восхищаться самой идеей, (в самом программировании не продвинулся - слишком увлёкся русскоязычной ИФой.)

Очень интересны мнения.

Неактивен

0    0    #2
17.03.2008 12:39

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Inform 7

oleksus написал:

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

Отнюдь. Уже то, что я изучил (продвинулся до 4й главы мануала) говорит о том, что это гибкий и мощный инструмент. Удобнее 2го (и, пожалуй, 3го TADS).

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

Ещё одно достоинство 7го информа -- предельная лаконичность. Не обязательно описывать очевидные вещи. Например, одна строка:

The Drawbridge is south of The Castle. Knight wears shining armour and carrying silver sword, torch and brown sack. Head of Dragon is in the sack. The description of sack is "Brown sack is dripping with black blood." The torch is lit.

Описывает следующие объекты в игре:

- Две локации, Drawbridge и Castel (Замок на севере от моста);
- На мосте стоит рыцарь (персонаж, потому что на нём что-то одето, на мосте -- потому что мы не указали где, а мост -- первоя упомянутая локация);
- На рыцаре одет доспех (язвляется одеждой, потому что одет), в руках у него меч, мешок и факел;
- Мешок -- контейнер, потому что в нём что-то лежит;
- В мешке голова дракона.
- Факел -- источник света (зажжённый).

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

Ещё что приятно, компилятор I7 работает как парсер. Т. е., понимает описание практически в любом виде, а не только по строгому синтаксису, как в обычных языках программирования.

Edit:
Насчёт локации рыцаря я домыслил. При таком описании рыцарь будет "вне игры". Чтобы поместить его на мост можно написать: "Knight is in drawbridge" или "The location of Knight is Drawbridge" или ''In the drawbridge is man named Knight".

Пример обработчика действия:

Instead of taking head of dragon:
    say "Suddenly dragon's head bites you. Surprised, you dropped it";
    now location of head is location of player.

(При попытке взять голову, она кусает и игрок роняет её на землю).

Отредактировано Gremour (17.03.2008 13:32)

Неактивен

0    0    #3
17.03.2008 19:08

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Inform 7

Имел в виду парсер самОй Z-машины.

Насчёт строгости... Современные парсерные платформы стремяться решить задачу распознавания любой грамотно сформулированной команды (фразы в повелительном наклонении). Здесь задача, насколько я понимаю, выжать информацию из грамотно построенной фразы, описывающий мир в понятиях комнат, объектов, свойств и т. д.. Т. е., вольность в синтаксисе есть в определённых рамках. Так сказать, сделаем автора игроком. Идея гениальная. :)

Отредактировано Gremour (17.03.2008 19:17)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru