ЯРИЛ: различия между версиями

Содержимое удалено Содержимое добавлено
м Oreolek переименовал страницу ЯРИЛ 2.0 в ЯРИЛ поверх перенаправления
 
(не показано 35 промежуточных версий 5 участников)
Строка 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]форуме 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/ Репозиторий с исходным кодом]
 
== См. также ==
* [[:Категория:Игры на ЯРИЛ|Игры на ЯРИЛ]]
Источник — https://ifwiki.ru/ЯРИЛ