Что-то не видел такой темы на форуме, что весьма удивительно.
Кто щупал? У кого какие впечатления? Программирование естественным языком - затея очень занятная.
Года полтора назад поставил впервые, поигрался, потом забросил. Периодически вспоминаю, и не перестаю восхищаться самой идеей, (в самом программировании не продвинулся - слишком увлёкся русскоязычной ИФой.)
Очень интересны мнения.
Неактивен
Странно. Неужели седьмой Информ проигнорирован? Или уже было обсуждение?
На всякий случай уточняю, имелось в виду вот это:
http://www.inform-fiction.org/I7/Inform%207.html
Неактивен
Да обсуждалось уже, и, вроде, не раз. А что сказать? Меня как потенциального возможного автора-непрограммиста такие проекты не могут не восхищать. Как игроку, мне глубоко все равно, на чем будет написан Spider&Web II: Return of the Interrogator или Anchorhead II: Verlac's Revenge на седьмом информе или ..... на шестом (по странной похоти первой любви, мое право первой брачной ночи всегда за западными проектами на Информ, а уже потом за ТАДС и прочая).
С Информом 7 я ознакомился сразу же после выхода. Был ошарашен, даже наваял пару локаций - долго восторгался собственной крутостью (и крутостью сэра Нельсона, конечно). Вот бы нечто подобное, да на русском, пусть даже с "детскими болезнями левизны" ... эх!
Отредактировано zerrr (10.02.2008 18:00)
Неактивен
Hi, Emily
Sorry for “off the top”
But im interesting is it possible to translate inform 7 to russian (using for example unicode)
I mean the possibility to use russian names and desc. (system language may be english)
I can offer any language help that could be needed
by Max May 6, 2007 at 7:44 am
We are not ourselves developing translated versions of Inform 7; however, some people have managed to make progress towards versions that produce output in French and Spanish, and there is discussion about how to do this at the rakontointeraktiva group:
http://groups.google.com/group/rakontoi … va?lnk=rgh
Possibly the members of that group would be able to give you some pointers on customizing a Russian version as well; I don’t know. There may be additional challenges. I7 does support unicode output, but I am not sure what the situation would be for input, and there may also be challenges about the structure of Russian (I’m not terribly familiar with Russian grammar) that would make it difficult to adapt.
If you do have specific requests about what Inform could do to make foreign-language customization easier, please tell us about them; we’re not always very fast about accommodating such things because there is a very long list of requests and suggestions for the language, but that doesn’t mean we aren’t interested in helping where we can, when time becomes available to do so.
by Emily Short May 6, 2007 at 3:25 pm
Кто-нибудь исследовал данный вопрос? Интересно, осуществим ли перевод I7 на русский в принципе (технически)?
Неактивен
Ну, начать, мне кажется, можно с перевода готового скрипта на информанглийском. Тогда станет понятнее, насколько внутренняя его парадигма отражает ситуацию в русском.
Хотя сейчас мне почему-то седьмой Информ кажется больше эдакой изысканной филологической игрушкой, нежели полноценной платформой для создания игр.
Может, я и заблуждаюсь в чём-то, но как непрограммист, предприняв в разное время попытки освоить разные известные (и несколько малоизвестных) платформ, я пришел к выводу: слишком простой язык\подход в итоге тормозит дело точно так же, как и слишком сложный. Попробовав наваять нечто в Информе 7 (как и до того в Адрифте и Quest), я даже своим чайниковским мозгом вскоре ощутил, что всё-таки программировать удобнее в коде - пусть хоть в бейсике - ибо так или иначе занимаешься выстраиванием логики событий , а её-то гораздо удобнее задавать в строгом и наглядном виде.
В программе, написанной "естественным" языком, имхо, можно быстро запутаться, где и что.
Повторюсь, но всё-таки я твёрдо убеждён: человек, который напишет фронт-энд для визуализации данных в RTADS сделает в тысячу раз больше для русской ИЛ, чем переводчик Информ 7. Ибо в Информ поиграются да бросят, а вот зато получив в руки человеческий инструмент для работы с РТАДС, уверен, многие непрограммисты оживятся. И колоссальная работа GrAnd`а была бы более широко оценена.
Отредактировано oleksus (16.03.2008 03:11)
Неактивен
oleksus написал:
Хотя сейчас мне почему-то седьмой Информ кажется больше эдакой изысканной филологической игрушкой, нежели полноценной платформой для создания игр.
Вообще-то, по-моему, Информ 7 позиционируется как надстройка a.k.a. фронт-энд к 6-му Информу. С точки зрения генерируемого кода и возможностей самих игр I6 и I7 идентичны.
Неактивен
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)
Неактивен
Интересный, аргументированный пост, но следующие предложения технически не совсем корректны.
Ещё что приятно, компилятор I7 работает как парсер.
Парсер (синтаксический анализатор) - это обязательная часть любого транслятора, будь то компилятор с ЯВУ или интерпретатор команд. Поэтому, каждый компилятор, на одном из этапов, работает как парсер.
Т. е., понимает описание практически в любом виде, а не только по строгому синтаксису, как в обычных языках программирования.
Синтаксис в любом случае - строгий, пусть и довольно успешно скрывающий свою формальную сущность
http://www.inform-fiction.org/I7Downloa … rammar.pdf .
Неактивен
Имел в виду парсер самОй Z-машины.
Насчёт строгости... Современные парсерные платформы стремяться решить задачу распознавания любой грамотно сформулированной команды (фразы в повелительном наклонении). Здесь задача, насколько я понимаю, выжать информацию из грамотно построенной фразы, описывающий мир в понятиях комнат, объектов, свойств и т. д.. Т. е., вольность в синтаксисе есть в определённых рамках. Так сказать, сделаем автора игроком. Идея гениальная. :)
Отредактировано Gremour (17.03.2008 19:17)
Неактивен
По-моему, программа супер. Кроме того, ине понравилась очень большая мощность среды. Можно делать всё: создавать новые действия, типы, правила...
Только неудобно, что я не знаю ни одного русифицированного плейера. А так - платформа замечательная. Может, я даже создам форум по Inform 7.
Неактивен
shinkarom написал:
Только неудобно, что я не знаю ни одного русифицированного плейера
Нету руссифицированного плеера - не перевел никто.
А зачем он тебе если игру на английском пишешь?
Неактивен
ASBer написал:
shinkarom написал:
Только неудобно, что я не знаю ни одного русифицированного плейера
Нету руссифицированного плеера - не перевел никто.
А зачем он тебе если игру на английском пишешь?
Кто-нибудь писал с русской библиотекой? Скачал-попробовал из нее же примеры. Ошибки компиляции - гора.
http://www.ifwiki.ru/RInform
Неактивен
bergano, это русифицированный Информ версии 6.х, и от 7-й версии он отличается кардинально.
Ошибок не должно быть, может какие-то файлы не в той папке, или вы отдаёте неверные параметры компилятору.
Собственно две западных игры мною было успешно переведено , и если есть вопросы, то задавать их стоит мне. Помогу, чем смогу.
Неактивен
yandexx написал:
bergano, это русифицированный Информ версии 6.х, и от 7-й версии он отличается кардинально.
Ошибок не должно быть, может какие-то файлы не в той папке, или вы отдаёте неверные параметры компилятору.
Собственно две западных игры мною было успешно переведено , и если есть вопросы, то задавать их стоит мне. Помогу, чем смогу.
T:\Inform6\Games\_demos>T:\Inform6\Lib\Base\inform-631.exe -C5 +include_path=T:\Inform6\Lib\RInform075,T:\Inform6\Lib\Contrib CloakR.inf
Inform 6.31 for Win32 (10th Feb 2006)
T:\Inform6\Lib\RInform075\CyrDef.h(14): Error: Character can't be used in alphabets unless entered into Zcharacter table (unicode) $2116
> "абвгдежзийклмнопрстуфхьэюя"
T:\Inform6\Lib\RInform075\CyrDef.h(14): Error: Character can't be used in alphabets unless entered into Zcharacter table (ISO Latin1) $a7
> "абвгдежзийклмнопрстуфхьэюя"
Не та версия компилятора? Ваши библиотеки.
Неактивен
Gremour написал:
На первый взгляд, идея писать исходник текстом -- полная блажь. Но это обманчивое впечатление. Стереотип. Посудите сами: язык программирования -- это способ перевести алгоритм, который знает человек, в инструкции для процессора компьютера. А человек мыслит понятиями, которые легче всего выражаются словами. И перед тем, как изложить алгоритм на языке программирования, задача всё равно формулируется словами.
Как тут уже писали, естественный язык хорошо подходит для описания свойств и структур данных, которые в случае ИЛ описывают виртуальный мир и потому замечательно вербализируются. Но как только речь пойдет о сложных и абстрактных алгоритмах, то все преимущество пойдет на убыль. Не зря же математика оперирует своим языком, хотя есть словесные аналоги? Предложение из нескольких десятков слов может быть заменено простой наглядной формулой, узнаваемой профессионалом с первого взгляда.
Неактивен
bergano написал:
T:\Inform6\Games\_demos>T:\Inform6\Lib\Base\inform-631.exe -C5 +include_path=T:\Inform6\Lib\RInform075,T:\Inform6\Lib\Contrib CloakR.inf
Inform 6.31 for Win32 (10th Feb 2006)
T:\Inform6\Lib\RInform075\CyrDef.h(14): Error: Character can't be used in alphabets unless entered into Zcharacter table (unicode) $2116
> "абвгдежзийклмнопрстуфхьэюя"
T:\Inform6\Lib\RInform075\CyrDef.h(14): Error: Character can't be used in alphabets unless entered into Zcharacter table (ISO Latin1) $a7
> "абвгдежзийклмнопрстуфхьэюя"
Не та версия компилятора? Ваши библиотеки.
Например, так:
inform-631.exe +charset_map=cyrwin.cm +language_name=Russian demos\CloakR.inf CloakR.z5
Где +charset_map= указывает на таблицу символов, которую для русских игр надо заменять (из-за этого у вас и ошибки).
Подробнее это описано в файле документации, infrus.htm, который есть в архиве с библиотекой.
Если есть ещё вопросы, лучше вынести в отдельную тему.
Отредактировано yandexx (14.10.2009 09:27)
Неактивен