После долгих сомнений (и даже нравственных терзаний я решил, что русский Inform все-таки пора выкладывать. Не скажу, что все идеально (есть и мелкие глюки, и пока нерешенные принципиальные проблемы), но пользоваться системой уже можно. Даже возьму на себя наглость заявить, что из всех русских ИФ-систем, с которыми я сталкивался, она - самая лучшая (ну, еще русский TADS, может быть, сравним по возможностям).
Итак, вот все библиотеки + исходники двух игр:
http://vixterm.narod.ru/RInfSrc.zip
Вот сами игры в откомпилированном виде:
http://vixterm.narod.ru/RInfDat.zip
Вся пояснения - смотрите в файлах readme.htm.
Неактивен
dennis написал:
Даже возьму на себя наглость заявить, что из всех русских ИФ-систем, с которыми я сталкивался, она - самая лучшая (ну, еще русский TADS, может быть, сравним по возможностям).
Ну, это ещё надо проверить, кто мощнее
Наконец, будет с кем силами померится
Неактивен
OMG! Неужели Информ заговорил по-русски??
Неактивен
Dennis, можешь вкратце описать русский Inform для FAQ?
А то придётся каждому объяснять, что работает только в Windows.
Кстати, у тебя механизм уточнения не фурычит. Что-то типа этого:
>осм котёнка
Какого котнёка Вы имеете в виду?
>белого
не знаю такого глагола
Неактивен
А то придётся каждому объяснять, что работает только в Windows.
Windows Frotz 2002 через Wine на всех UNIX-образных (кроме них и Windows на x86 больше и нет ничего сейчас) скорее всего тоже работает. Хотя что там со шрифтами неясно.
Неактивен
Хмм... Я пробовал использовать UltraEdit32 для преобразования файлов в Unicode, но то ли эта функция там не работает, то ли руки у меня корявые (раньше имел дело только с ДОСом)... В-общем, Информ не любит мои файлы.
Неактивен
Насчет глюков с "уточнением": я в курсе. Похоже, что для их исправления придется глубже в ParserM лезть, иначе никак. Посмотрим.
Насчет платформ: все не так уж мрачно. Во-первых, есть Z-интерпретаторы на Java (например ZAX - можно поискать в ifarchive). Я сам его не проверял, но по слухам там все нормально с Unicode - а сам он работает на любой платформе, где есть Java (т.е. на всем что можно, окромя WinXP ;( ). Если кто-нибудь эти слухи подтвердит или опровергнет, буду рад.
Но, вообще-то, вопрос с Unicode явно будет решаться. Это ведь вопрос раскрутки. Пока разработчики интерпретаторов им пренебрегали, потому что были уверены, что игры не на европейский языках - это утопия. Когда они узнают, что УЖЕ есть Информ-игры на русском, у них хотя бы появится стимул сделать все как надо. А там, надеюсь, другие экзотические языки подтянутся, вроде арабского и иврита. В общем, ждем первой звезды.
Наконец, насчет FAQ. Конечно, он нужен, и не только. Я уже планирую написать несколько небольших уроков по для начинающих (так сказать, "Русский Информ для чайников"). Дело, конечно, небыстрое и муторное... но если хотя-бы пять человек здесь меня попросит, я этим займусь. Обещаю!
Неактивен
Dennis, я не мог пройт Алису, так как пробовал "смотреть под коврик", а не "смотреть под корикОМ". По-моему, тут должны подходить оба падежа.
Это вообще проблема, которая меня беспокоит: как правильно требовать падеж, если глагол включает кучу синонимов, которые требуют разных структур предложения? Кому интересно, подумайте, посоветуйте.
Неактивен
> Dennis, я не мог пройт Алису, так как пробовал "смотреть под коврик", а не "смотреть под корикОМ". По-моему, тут должны подходить оба падежа.
Мысль резонная. Расширить грамматику для "см[отреть] под...", чтобы объект понимался не только в творительном, но и винительном? Будет.
> Это вообще проблема, которая меня беспокоит: как правильно требовать падеж, если глагол включает кучу синонимов, которые требуют разных структур предложения? Кому интересно, подумайте, посоветуйте.
Ну, в информе может быть много вариантов грамматических структур на основе одного глагола. Алгоритм их выбора, правда, примитивнейший: какой первый подходит к введенной фразе, тот парсером и будет выбран. Или вопрос о чем-то другом?
Неактивен
В файле Readme сказано, что для работы потребуются две утилиты. А где их взять?
В целом же, русский Inform - дело превосходное. Он мне всега больше нравился, чем TADS. Главным образом из-за дизайна.
Кстати, а есть надежда на то, что руИнформ заработает на Палмах?
Неактивен
dennis написал:
> Это вообще проблема, которая меня беспокоит: как правильно требовать падеж, если глагол включает кучу синонимов, которые требуют разных структур предложения? Кому интересно, подумайте, посоветуйте.
Ну, в информе может быть много вариантов грамматических структур на основе одного глагола. Алгоритм их выбора, правда, примитивнейший: какой первый подходит к введенной фразе, тот парсером и будет выбран. Или вопрос о чем-то другом?
Странно, у тебя в Адвенче принимаются все падежи (например, взять водой).
Интересно, как у тебя рассматривается случай, когда нужно подобным образом обработать действия персонажа:
Для любой команды, отданной персонажу, - ответ "персонаж спит". Если команда - "подъём", разбудить персонажа?
Неактивен
При игре в Алису возникла проблема - не могу сдвинуть кресло. Пробовал команды: сдвинуть кресло к камину, сдвинуть кресло, сдвинуть кресло на коврик, подвинуть кресло к камину. Половину из них парсер не понимает, на половину отвечает, что "кресло жестко закреплено". По листинку я понял, что сдвинуть кресло как-то можно. Как?
Неактивен
GrAndrey написал:
Странно, у тебя в Адвенче принимаются все падежи (например, взять водой).
"Взять водой", действительно, понимает.
Но дело тут не в творительном падеже, а в том что "-ой" — законное окончание для ПРИЛАГАТЕЛЬНЫХ (в т.ч. и в винительном падеже, напр. взять цветнОЙ телевизор).
GrAndrey написал:
Интересно, как у тебя рассматривается случай, когда нужно подобным образом обработать действия персонажа:
Для любой команды, отданной персонажу, - ответ "персонаж спит". Если команда - "подъём", разбудить персонажа?
Ну, в общем, все это делается легко. Что-нибудь вроде:
Object ...
orders [; if (self has general) "Сейчас XXX спит!"; ],
...
life [;
WakeOther: give self ~general;
"Вы разбудили XXX!";
],
...
has animate;
Неактивен
KoMatoznik написал:
В файле Readme сказано, что для работы потребуются две утилиты. А где их взять?
Да, желательно иметь утилиты tr и make.
Я пользуюсь версиями из DJGPP. Взять можно на .www.
Ну, чтобы долго там не искать — заходите непосредственно на:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/
и берите
mak3791b.zip (это GNU make)
txt20b.zip (там есть tr)
вроде бы так.
Другой вариант — поискать все это на CygWin (http://www.cygwin.com).
KoMatoznik написал:
В целом же, русский Inform - дело превосходное. Он мне всега больше нравился, чем TADS. Главным образом из-за дизайна.
Спасибо! А что конкретно имеется в виду под дизайном?
KoMatoznik написал:
Кстати, а есть надежда на то, что руИнформ заработает на Палмах?
Надежда всегда есть.
У меня, правда, нет никакого опыта общения с Пальмами, но Z-движки на них точно есть. Стоит поискать какой-нибудь и попробывать запустить на нем русские игры.
Если сразу пойдут — проблема решена.
Если вместо русских букв будут кракозябры и т.п. — попытаться поискать в Сети автора и уговорить его. (Объяснить ему, что в мире помимо Latin-1 есть и другие кодировки, что Unicode-поддержка давно введена в Z-стандарт и не реализовать ее — грех... в общем, взывать к его совести всеми способами. )
Вот все, что могу посоветовать.
Неактивен
KoMatoznik написал:
При игре в Алису возникла проблема - не могу сдвинуть кресло. Пробовал команды: сдвинуть кресло к камину, сдвинуть кресло, сдвинуть кресло на коврик, подвинуть кресло к камину. Половину из них парсер не понимает, на половину отвечает, что "кресло жестко закреплено". По листинку я понял, что сдвинуть кресло как-то можно. Как?
Очень просто: "тянуть кресло" или "толкать его".
Хотя согласен: в данном случае неплохо, чтобы "двигать" (и родственные глаголы) понимались также.
Неактивен
Интересно, а почему такие важные новости, как русификация Информа, не попадают на страницы taplap?
Неактивен
dennis написал:
Спасибо! А что конкретно имеется в виду под дизайном?
Ну, эти беленькие буковки на синеньком фоне...
Неактивен
dennis написал:
Да, желательно иметь утилиты tr и make.
Утилиты я скачал. И что с ними делать? как пользоваться? зачем? можешь описать коротко, но пошагово, как например сделать, чтобы Информ выдал простенькую программку - вместо "Hello, world!" - "Привет, народ". Какие магические пассы надо изобразить, чтобы это получилось?
Неактивен
> Интересно, а почему такие важные новости, как русификация Информа, не попадают на страницы taplap?
Резонный вопрос к хозяевам сайта.
> Ну, эти беленькие буковки на синеньком фоне...
Ну в общем, это не дизайн Информа, а дизайн WinFrotz-а.
В большинстве ДОСовских интерпретаторов буковки будут белые на черном, а в Nitfol — черные на белом. Вообще, кое какие средства контроля цвета текста в Z-машине есть, но работают они не очень надежно.
> Утилиты я скачал. И что с ними делать? как пользоваться? зачем? можешь описать коротко, но пошагово, как например сделать, чтобы Информ выдал простенькую программку - вместо "Hello, world!" - "Привет, народ". Какие магические пассы надо изобразить, чтобы это получилось?
Скопировать в какую-нибудь директорию доступную в PATH.
Затем, находясь в каталоге с Makefile, ввести make. Тогда он соберет все сам автоматически.
Неактивен
dennis написал:
>
Скопировать в какую-нибудь директорию доступную в PATH.
Затем, находясь в каталоге с Makefile, ввести make. Тогда он соберет все сам автоматически.
Не понял. Что он соберет? и зачем это надо? И как использовать тр?
Денис, нужен хелп поподробнее. Ты столько времени убил на русификацию, потрать полчаса н описание, не пожалеешь
Неактивен
По поводу использования компилятора все очень просто
inform.exe FILE1.inf FILE2.inf ...
компилирует файлы, выдавая FILE1.z5, FILE2.z5... Конечно, у компилятора есть еще уйма опций. Введите inform без параметров — увидите их список.
По поводу более полного FAQ по Информу я уже написал выше. Два просьбы засчитываю, но хорошо бы еще несколько
А теперь важная новость: пару недель назад наконец-то вышел Inform 6.30 + библиотеки 6.11. Посмотрев release notes, я обнаружил, что теперь компилятор поддерживает произвольные загружаемые charmap-ы, а не только ISO. Учитывая и прочие улучшения (большая надежность, код быстрее и компактнее, некоторые добавления в библиотеке и пр.), я думаю, что пора на него переходить, и этим займусь в первую очередь. Думаю, скоро будет новая версия; постараюсь, чтобы и документировано в ней было все получше. Так что ждите.
Денис
Неактивен
Мне кажется, логичнее и полезнее было бы не гнаться за новейшими версиями, а работать над пользовательской поддержкой платформы... Что до количества просьб - иногда двое лучше десятерых. Впрочем, все это - дело хозяйское, а хозяин, как говорится, - барин.
Неактивен
Я совершенно не гонюсь за новыми версиями — просто в Inf 6.30 слишком много полезных нововведений, чтобы ими пренебрегать.
Теперь ко всем, кто играл (или собирается) в игры на Информе, у меня будет большая просьба. Я перед выпуском новой версии хотел бы, чтобы все игры вообще как следует погоняли (вообще), но особое внимание прошу обратить на встроенный генератор падежей (поскольку он пока самое недоработанное место в системе).
Делать это проще всего так: для любого объекта, который вы видите, можно ввести системную команду
мета форм ИМЯ_ОБЪЕКТА
напр. мета форм потолок
и она в ответ должна выдать список всех падежных форм для этого объекта.
Обо всех аномалиях. которые вы заметите (типа "высокого потолока") прошу сообщить мне — можно здесь, можно по email.
Неактивен