ЯРИЛ: различия между версиями
Realsonic (обсуждение | вклад) |
Oreolek (обсуждение | вклад) |
||
| (не показано 36 промежуточных версий 5 участников) | |||
| Строка 1: | Строка 1: | ||
{{product info |
|||
'''ЯРИЛ''' (Язык Разметки Интерактивной Литературы) - это [[парсер|парсерная]] [[платформа]] с визуальным редактором, не требующая редактировать исходный файл игры в текстовом редакторе. На текущий момент состоит из Редактора, Плеера и Тестера. |
|||
|название = |
|||
|тип = Парсерные платформы |
|||
|разработчик = [[Разработчик::Баланов, Михаил|Михаил Баланов]] |
|||
|язык = Русский |
|||
|система = Windows, GNU/Linux |
|||
|онлайн = |
|||
|написано на = [[Java]] |
|||
|язык разработки = Визуальный редактор |
|||
|читаемый формат = [[.ifml|Игры ЯРИЛ 2.0 (*.ifml)]], [[.cifml|Зашифрованный игры ЯРИЛ 2.0 (*.cifml)]] |
|||
|создаваемый формат = [[.ifml|Игры ЯРИЛ 2.0 (*.ifml)]], [[.cifml|Зашифрованный игры ЯРИЛ 2.0 (*.cifml)]] |
|||
|первый выпуск = 15.09.2001 |
|||
|последняя версия = 2016/5 |
|||
|дата последней версии = 26.02.2016 |
|||
|состояние = |
|||
|лицензия = [[Freeware]] |
|||
|сайт = [http://ifml.narod.ru/ ifml.narod.ru] |
|||
}} |
|||
{{goldhamster|2013|Проект года по мнению жюри|game=0}} |
|||
'''Информация и документы:''' |
|||
*Обновляемый [https://drive.google.com/open?id=1_UP_iwmOiICOxQFbE8vmFNT25NxCB_vdraIf1Kqm_18&authuser=0 '''Учебник по ЯРИЛу''']. |
|||
*Обновляемый [https://drive.google.com/open?id=1-0hxriLl6JTDSln3FD7-i3gMCT2ZwVU1fBZY4MEesIE&authuser=0 '''Справочник по ЯРИЛу''']. |
|||
*[[ЯРИЛ ЧаВО|'''ЧаВО''' (Частые Вопросы и Ответы aka FAQ) '''по ЯРИЛу''']]. |
|||
'''ЯРИЛ''' (Язык Разметки Интерактивной Литературы) - это [[парсер|парсерная]] [[платформа]] с [[Визуальный редактор|визуальным редактором]], не требующая редактировать исходный файл игры в текстовом редакторе. |
|||
Идеи, вопросы, проблемы и благодарности [https://ifml2.userecho.com/ можно размещать тут]. |
|||
Разработка платформы была начата в 2001 году, но в определённый момент было принято решение о её переработке с нуля. 28 апреля 2002 года разработчиком было объявлено о начале проектирования второго поколения ЯРИЛ, которое получило название ЯРИЛ 2.0, что привело к ребрендингу всего проекта. Именно поэтому платформа теперь называется ЯРИЛ 2.0, а нумерация релизов идёт отдельно, так как 2.0 - это обозначение поколения платформы, а не номера релиза. |
|||
= Описание = |
|||
'''Архитектура''' игры на ЯРИЛе представляет собой множество локаций, предметов, действий (команд) и процедур обработки этих действий. Действия состоят из шаблонов команд для парсера и ссылки на процедуру. Процедура - это набор инструкций. Инструкции - это не код программы, а алгоритмическое дерево. Файлы игр и библиотек хранятся в формате XML, поэтому ''свободно редактируются'' как в Редакторе платформы, так и вручную в любом текстовом редакторе. |
|||
Также ЯРИЛ может фигурировать под своим англоязычным названием - IFML (Interactive Fiction Markup Language). |
|||
'''Редактор''' позволяет ''редактировать игру в формах'', в частности: локации (название, описание, переходы, перехваты), предметы (название, описание, словарь, первоначальное положение, признаки, перехваты действий), процедуры и действия. |
|||
== Общее описание == |
|||
'''Тестер''' используется для тестового прогона игр авторами в процессе разработки. Например, для игры можно написать несколько тестов для проверки различных сюжетных веток. |
|||
'''Архитектура''' игры на ЯРИЛе представляет собой множество локаций, предметов, действий (команд) и процедур обработки этих действий. Действия состоят из шаблонов команд для [[Парсер|парсера]] и ссылки на процедуру. Процедура - это набор инструкций. Инструкции - это не код программы, а алгоритмическое дерево. Файлы игр и библиотек хранятся в формате [[.xml|XML]], поэтому ''свободно редактируются'' как в Редакторе платформы, так и вручную в любом текстовом редакторе. |
|||
Платформа состоит из трёх программных компонентов: Плеера, Редактора и Тестера: |
|||
= Состояние платформы = |
|||
* '''Плеер''' позволяет воспроизводить написанные на ЯРИЛе игры и вести их каталог. |
|||
'''Последняя версия''': ЯРИЛ 2015/1.1 |
|||
* '''Редактор''' позволяет редактировать игру в [[Визуальный редактор|формах]], в частности: локации (название, описание, переходы, перехваты), предметы (название, описание, словарь, первоначальное положение, признаки, перехваты действий), процедуры и действия. |
|||
* '''Тестер''' используется для тестового прогона игр авторами в процессе разработки. Например, для игры можно написать несколько тестов для проверки различных сюжетных веток. |
|||
[[Парсер]] в ЯРИЛе работает по принципу подбора шаблона для введённой фразы. Шаблоны состоят из двух типов элементов: литерал (набор фраз) и объект (упоминание предмета по словарю в каком-либо падеже). При удачном подборе шаблона выполняется привязанная к нему процедура игровой логики. |
|||
== Изменения == |
|||
------------------------------------------------- |
|||
Выпуск 2015/1.1 |
|||
------------------------------------------------- |
|||
11.04.2015 |
|||
* [Библиотеки] Bug #417504 "А также тут" в Комсомольце |
|||
* [Поставка] Bug #418941 Вместе с игрой лежит тест на тайны заброшенного замка, но самой игры вроде как нет: убран тест |
|||
Вся игровая логика игры (процедуры, перехваты и проч.) создаётся и редактируется [[Визуальный редактор|визуально]] в Редакторе в формате заполнения экранных форм для каждой инструкции. Нет никакой необходимости учить язык программирования. При этом гибкость достигается при помощи выражений в параметрах инструкций. |
|||
------------------------------------------------- |
|||
Выпуск 2015/1 |
|||
------------------------------------------------- |
|||
19.01.2015 |
|||
279604 [Замечание #8-1] Инструкция "Выполнить процедуру" |
|||
+ [Движок] Добавлена инструкция "Выполнить процедуру" - пока на уровне ядра, поддержки в Редакторе ещё нет. |
|||
Поддерживает передачу параметров и возврат значения. |
|||
04.02.2015 |
|||
279604 [Замечание #8-1] Инструкция "Выполнить процедуру" |
|||
* [Движок] Исправлен механизм выполнения инструкций, исправлены ошибки. |
|||
+ [Редактор] Поддержка инструкции "Выполнить процедуру". |
|||
+ [Движок] Новая отладочный символ "глобальные" - выводит список глобальных переменных. Вызвать в Плеере через команду |
|||
"?глобальные". |
|||
~ [Движок] Глобальные и процедурные переменные теперь устанавливаются напрямую при выполнении инструкции, |
|||
а не сохраняются в контексте. |
|||
13.03.2015 |
|||
Task #402306 Значение пустота (NullValue) |
|||
+ [Движок] Новый особый тип данных - Пустота. Существует только одно значение этого типа - Пустота. |
|||
+ [Движок] Новая системная константа - "пустота", равна Пустоте. |
|||
+ [Движок] Любое значение можно сравнивать с Пустой: если значение тоже Пустота, то будет положительный результат, |
|||
иначе отрицательный. |
|||
~ [Движок] При вызове процедуры все незаданные параметры принимают значение Пустота. |
|||
17.03.2015 |
|||
Bug #382635 [Джон-03] Ошибка с контейнерами |
|||
* [Библиотеки] Исправлено действие "Положить": теперь нельзя класть предметы в закрытый контейнер. |
|||
* [Игры] Исправлен словарь в Зорке. |
|||
19.03.2015 |
|||
Ifml-8 Ошибка с переходом в локацию, если не указана начальная локация |
|||
~ [Движок] Изменена логика установки стартовой локации: |
|||
1. Если есть проца, выполняется она. |
|||
2. Если указана стартовая локация, она устанавливается. |
|||
2.1. Если стоит галочка вывода описания, оно выводится. |
|||
3. Если до сих пор не установлена никакая локация, устанавливается любая, но без вывода описания. |
|||
* [Редактор] Теперь можно отменить выбор стартовой локации (теперь есть пустой элемент в выпадающем списке). |
|||
^ [Редактор] Редактор глобальных переменных переехал на новый редактор списков.[https://dl.dropboxusercontent.com/u/87862945/IFML2/notes.txt Здесь] представлена полная история изменений. |
|||
== |
== Версии == |
||
* [https://github.com/realsonic/ifml2/releases/latest Страница самой новой версии] |
|||
[https://www.dropbox.com/sh/yb8fym8ep9hv3na/AAA6ZrdZBM4bJahqTjeEZke2a?dl=0 Здесь] находится архив сборок (в том числе и девелоперских версий). |
|||
* [https://github.com/realsonic/ifml2/releases Перечень всех доступных релизов] |
|||
=== Прямые ссылки === |
|||
* [https://raw.githubusercontent.com/realsonic/ifml2/master/docs/notes.txt Полная история изменений] |
|||
*'''Выпуск 2015/1.1''' |
|||
*[[Выпуски_ЯРИЛ_2015|Старые выпуски 2015 года]] |
|||
**Установщики под Windows: |
|||
* [http://rilarhiv.ru/notuse/IFMLInterpreter.rar ЯРИЛ 1.0 beta (первое поколение), 2001 г.] |
|||
***[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_1_20150412_015654.exe Легковесный, exe-файл] (в пределах 2 Мб), но скачивает Java Bundle при необходимости (в пределах 20 Мб). |
|||
***[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_1_JRE6_20150412_015654.exe С Java 6, exe-файл] (в пределах 20 Мб). |
|||
**Портабельная версия под Windows / *nix: [https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML.Portable.2015.1.1.7z архив 7zip] (в пределах 2 Мб). ''Запускать можно при помощи вложенных файлов скриптов <code>run.cmd</code> и <code>run.bsh</code>. Для <code>run.bsh</code> не установлены права на запуск, '''необходимо установить вручную'''.'' |
|||
== Документация == |
|||
= Игры = |
|||
* [https://drive.google.com/open?id=1_UP_iwmOiICOxQFbE8vmFNT25NxCB_vdraIf1Kqm_18&authuser=0 Обновляемый учебник по ЯРИЛу] |
|||
Игры на ЯРИЛ представлены [[:Категория:Игры на ЯРИЛ|в соответствующей категории]]. |
|||
* [https://drive.google.com/open?id=1-0hxriLl6JTDSln3FD7-i3gMCT2ZwVU1fBZY4MEesIE&authuser=0 Обновляемый справочник по ЯРИЛу] |
|||
* [[ЯРИЛ ЧаВО|ЧаВО (Частые Вопросы и Ответы aka FAQ) по ЯРИЛу]] |
|||
= Сообщество = |
== Сообщество == |
||
* [https://ifml2.userecho.com/ Форум ЯРИЛ] |
|||
*[http://ifhub.ru/blog/ifengines/152.html Страничка на ifhub'е] |
|||
* |
* [http://forum.ifiction.ru/viewforum.php?id=30 Раздел ЯРИЛа на форуме iFiction.Ru] |
||
* [http://ifml2.reformal.ru/ Отзывы и идеи пользователей для проекта ЯРИЛ 2.0] |
|||
* [http://ifml2.myjetbrains.com/youtrack/issues Багтрекер ЯРИЛ] |
|||
* [https://money.yandex.ru/to/41001332371726 Финансовая помощь проекту] |
|||
=== Спонсоры === |
|||
[[Категория:Платформы]] [[Категория:Парсерные платформы]] |
|||
Проект поддерживается кросс-платформенным установщиком '''[http://bitrock.com BitRock]'''. |
|||
== Ссылки == |
|||
* [http://ifml.narod.ru/ Официальный сайт ЯРИЛ] |
|||
* [http://ifml2.blogspot.com/ Блог ЯРИЛ 2.0] |
|||
* [https://ifhub.club/tag/%D0%AF%D0%A0%D0%98%D0%9B/ Публикации на IFHub по тегу "ЯРИЛ"] |
|||
* [https://github.com/IFML2/ifml2/ Репозиторий с исходным кодом] |
|||
== См. также == |
|||
* [[:Категория:Игры на ЯРИЛ|Игры на ЯРИЛ]] |
|||
Текущая версия от 11:25, 13 августа 2018
| ЯРИЛ | |
| Тип | Парсерные платформы |
|---|---|
| Разработчик(и) | Михаил Баланов |
| Языки интерфейса | Русский |
| Операционные системы | Windows, GNU/Linux |
| Написано на | Java |
| Язык разработки | Визуальный редактор |
| Читаемые форматы файлов | Игры ЯРИЛ 2.0 (*.ifml), Зашифрованный игры ЯРИЛ 2.0 (*.cifml) |
| Создаваемые форматы файлов | Игры ЯРИЛ 2.0 (*.ifml), Зашифрованный игры ЯРИЛ 2.0 (*.cifml) |
| Дата первого выпуска | 15 сентября 2001 |
| Последняя версия | 2016/5 |
| Дата последней версии | 26 февраля 2016 |
| Лицензия | Freeware |
| Сайт | ifml.narod.ru |
| Золотой Хомяк 2013 Проект года по мнению жюри |
ЯРИЛ (Язык Разметки Интерактивной Литературы) - это парсерная платформа с визуальным редактором, не требующая редактировать исходный файл игры в текстовом редакторе.
Разработка платформы была начата в 2001 году, но в определённый момент было принято решение о её переработке с нуля. 28 апреля 2002 года разработчиком было объявлено о начале проектирования второго поколения ЯРИЛ, которое получило название ЯРИЛ 2.0, что привело к ребрендингу всего проекта. Именно поэтому платформа теперь называется ЯРИЛ 2.0, а нумерация релизов идёт отдельно, так как 2.0 - это обозначение поколения платформы, а не номера релиза.
Также ЯРИЛ может фигурировать под своим англоязычным названием - IFML (Interactive Fiction Markup Language).
Общее описание
Архитектура игры на ЯРИЛе представляет собой множество локаций, предметов, действий (команд) и процедур обработки этих действий. Действия состоят из шаблонов команд для парсера и ссылки на процедуру. Процедура - это набор инструкций. Инструкции - это не код программы, а алгоритмическое дерево. Файлы игр и библиотек хранятся в формате XML, поэтому свободно редактируются как в Редакторе платформы, так и вручную в любом текстовом редакторе.
Платформа состоит из трёх программных компонентов: Плеера, Редактора и Тестера:
- Плеер позволяет воспроизводить написанные на ЯРИЛе игры и вести их каталог.
- Редактор позволяет редактировать игру в формах, в частности: локации (название, описание, переходы, перехваты), предметы (название, описание, словарь, первоначальное положение, признаки, перехваты действий), процедуры и действия.
- Тестер используется для тестового прогона игр авторами в процессе разработки. Например, для игры можно написать несколько тестов для проверки различных сюжетных веток.
Парсер в ЯРИЛе работает по принципу подбора шаблона для введённой фразы. Шаблоны состоят из двух типов элементов: литерал (набор фраз) и объект (упоминание предмета по словарю в каком-либо падеже). При удачном подборе шаблона выполняется привязанная к нему процедура игровой логики.
Вся игровая логика игры (процедуры, перехваты и проч.) создаётся и редактируется визуально в Редакторе в формате заполнения экранных форм для каждой инструкции. Нет никакой необходимости учить язык программирования. При этом гибкость достигается при помощи выражений в параметрах инструкций.
Версии
- Страница самой новой версии
- Перечень всех доступных релизов
- Полная история изменений
- Старые выпуски 2015 года
- ЯРИЛ 1.0 beta (первое поколение), 2001 г.
Документация
- Обновляемый учебник по ЯРИЛу
- Обновляемый справочник по ЯРИЛу
- ЧаВО (Частые Вопросы и Ответы aka FAQ) по ЯРИЛу
Сообщество
- Форум ЯРИЛ
- Раздел ЯРИЛа на форуме iFiction.Ru
- Отзывы и идеи пользователей для проекта ЯРИЛ 2.0
- Багтрекер ЯРИЛ
- Финансовая помощь проекту
Спонсоры
Проект поддерживается кросс-платформенным установщиком BitRock.
