ЯРИЛ: различия между версиями
Realsonic (обсуждение | вклад) |
Realsonic (обсуждение | вклад) →Версии платформы: Выпуски 2015 года перенесены в архив |
||
| Строка 20: | Строка 20: | ||
*[https://www.dropbox.com/sh/yb8fym8ep9hv3na/AAA6ZrdZBM4bJahqTjeEZke2a?dl=0 Старый архив сборок (в том числе и девелоперских версий).] |
*[https://www.dropbox.com/sh/yb8fym8ep9hv3na/AAA6ZrdZBM4bJahqTjeEZke2a?dl=0 Старый архив сборок (в том числе и девелоперских версий).] |
||
== |
== Старые выпуски == |
||
*[[Выпуски_ЯРИЛ_2015|Выпуски 2015]] |
|||
=== Загрузить === |
|||
*Установщики под Windows: |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_6_20151224_203841.exe Легковесный, exe-файл, 2,17 МБ], но скачивает Java Bundle при необходимости (15,9 Мб). |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_6_JRE6_20151224_203841.exe С Java 6, exe-файл, 18,1 МБ]. |
|||
=== Список изменений === |
|||
24.12.2015 |
|||
^ [Код] Enum'ы перенесены внутрь классов. Enum'ы типа SupertypeTypeEnum переименованы в Type. Им установлен namespace в @XmlType. |
|||
+ [Движок] Добавлена возможность отключать системные команды для истории (помощь и отладка). |
|||
== Выпуск 2015/1.5.1 == |
|||
=== Загрузить === |
|||
*Установщики под Windows: |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_5_1_20151207_160148.exe Легковесный, exe-файл, 2,17 МБ], но скачивает Java Bundle при необходимости (15,9 Мб). |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_5_1_JRE6_20151207_160148.exe С Java 6, exe-файл, 18,1 МБ]. |
|||
=== Список изменений === |
|||
26.11.2015 |
|||
^ [Код] Улучшены юнит-тесты. |
|||
^ [Движок] [Вычисление выражений] При вычислении выражений: если какое-то свойство, полученное через точку (".") не задано, то |
|||
возвращается Пустота, а не ошибка, как раньше. |
|||
27.11.2015 |
|||
* [Движок] [Вычисление выражений] Исправлена ошибка, из-за которой не работали выражения с логическими операторами (не, и, или). |
|||
^ [Код] Юнит-тесты переведены на Mockito, добавлены новые тесты. |
|||
30.11.2015 |
|||
* [Редактор] Исправлена ошибка, из-за которой при редактировании перехватов процедур история не помечалась как изменённая, и при |
|||
закрытии Редактора не предлагалось её сохранить. |
|||
^ [Код] Улучшены модели комбобоксов. |
|||
01.12.2015 |
|||
* [Плеер] Исправлена ошибка, из-за которой после диалогов в Плеере терялся фокус со строки ввода. |
|||
^ [Код] Запуск приложений сделан более правильно - через SwingUtilities.InvokeLater(). |
|||
+ [Движок] Добавлены отладочные системные текстовые переменные "локации" и "предметы", а также текстовая переменная "системные", |
|||
выводящая список системных переменных. |
|||
04.12.2015 |
|||
420434 Вывод корректного сообщения |
|||
^ [Парсер] Теперь, если в шаблоне забита фраза вида XX YY, а игрок вводит вида XX ZZ, то парсер сообщает: |
|||
"Не понимаю, что значит "XX YY", но я понял начало фразы "XX"." |
|||
07.12.2015 |
|||
^ [Парсер] Ответ "Не понимаю, что значит "XX YY", но я понял начало фразы "XX" заменён на "В данной команде "YY" мне не понятно." по |
|||
совету ASBer'а. |
|||
== Выпуск 2015/1.4 == |
|||
=== Загрузить === |
|||
*Установщики под Windows: |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_4_20151117_185951.exe Легковесный, exe-файл, 2,04 МБ], но скачивает Java Bundle при необходимости (15,9 Мб). |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_4_JRE6_20151117_185951.exe С Java 6, exe-файл, 18 МБ]. |
|||
*Установщик под *nix: [https://dl.dropboxusercontent.com/u/87862945/IFML2/%D0%AF%D0%A0%D0%98%D0%9B_2_0_unix_2015_1_4.sh sh-файл, 1,89 Мб]. |
|||
=== Список изменений === |
|||
01.11.2015 |
|||
456077 [КРИЛ2015] Процедура обработки ошибок парсера |
|||
+ [Движок] Добавлена системная процедура обработки ошибки парсинга и возможность её перекрывать пользовательской. |
|||
12.11.2015 |
|||
456077 [КРИЛ2015] Процедура обработки ошибок парсера |
|||
* [Движок] Исправлена ошибка, при которой не выводилась ошибка парсинга, если процедура обработки не перекрывалась. |
|||
13.11.2015 |
|||
456077 [КРИЛ2015] Процедура обработки ошибок парсера |
|||
+ [Редактор] Добавлен пункт меню "История -> Перехваты системных процедур...". Но пока не полностью доработана форма редактора. |
|||
17.11.2015 |
|||
456077 [КРИЛ2015] Процедура обработки ошибок парсера |
|||
+ [Редактор] Форма редактора полностью доработана. |
|||
+ [Редактор] Редактирование инструкции "Вернуть значение". |
|||
== Выпуск 2015/1.3 == |
|||
=== Загрузить === |
|||
*Установщики под Windows: |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_3_20150722_173352.exe Легковесный, exe-файл, 1,87 МБ], но скачивает Java Bundle при необходимости (15,9 Мб). |
|||
**[https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML2_2015_1_3_JRE6_20150722_173352.exe С Java 6, exe-файл, 17,8 МБ]. |
|||
*Портабельная версия под Windows / *nix: [https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML.Portable.2015.1.3.7z архив 7zip, 1,75 МБ]. ''Запускать можно при помощи вложенных файлов скриптов <code>run.cmd</code> и <code>run.bsh</code>. Для <code>run.bsh</code> не установлены права на запуск, '''необходимо установить вручную'''.'' |
|||
=== Список изменений === |
|||
435156 Не работают два объекта подряд в одном падеже |
|||
12.06.2015 |
|||
* [Парсер] Изменён алгоритм подбора слов для объекта в шаблоне - теперь они пытаются подобраться рекурсивно, пока это получается. |
|||
16.07.2015 |
|||
* [Парсер] Теперь если при подборе слова для объекта попадается такое же слово, то считается, что оно (и все слова от первого |
|||
повторяющегося слова до второго) относится к другому элементу шаблона. Т.е. при анализе фразы "положить в тарелку розовую тарелку" |
|||
при встрече второй "тарелки" парсер решит, что слова "розовую тарелку" относятся к другому объекту (элементу шаблона). |
|||
== Выпуск 2015/1.2 == |
|||
=== Загрузить === |
|||
*Портабельная версия под Windows / *nix: [https://dl.dropboxusercontent.com/u/87862945/IFML2/IFML.Portable.2015.1.2.7z архив 7zip, 1,68 МБ]. ''Запускать можно при помощи вложенных файлов скриптов <code>run.cmd</code> и <code>run.bsh</code>. Для <code>run.bsh</code> не установлены права на запуск, '''необходимо установить вручную'''.'' |
|||
=== Список изменений === |
|||
19.04.2015 |
|||
* [Движок] Bug #420341 Криво прописывается библиотека: обёрнуто получение относительного пути для библиотеки - перед сравнением они |
|||
преорбазуются в нижний регистр |
|||
23.04.2015 |
|||
425212 Неверно работает сохранение |
|||
^ Рефакторинг: уменьшена зависимость Parser от других классов. |
|||
* Добавлена очистка данных при инициализации игры в Движке и Виртуальной машине - стал правильно работать перезапуск игры. |
|||
* Исправлена ошибка загрузки сохранения, из-за которой предметы вместо перемещения копировались. В лог выводится ошибка, если |
|||
контейнер, привязанный к предмету, его не содержит. |
|||
== Выпуск 2015/1.1 == |
|||
=== Загрузить === |
|||
*Установщики под Windows: |
|||
**[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> не установлены права на запуск, '''необходимо установить вручную'''.'' |
|||
=== Список изменений === |
|||
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. Если до сих пор не установлена никакая локация, устанавливается любая, но без вывода описания. |
|||
* [Редактор] Теперь можно отменить выбор стартовой локации (теперь есть пустой элемент в выпадающем списке). |
|||
^ [Редактор] Редактор глобальных переменных переехал на новый редактор списков. |
|||
= Игры = |
= Игры = |
||
Версия от 21:30, 2 января 2016
ЯРИЛ (Язык Разметки Интерактивной Литературы) - это парсерная платформа с визуальным редактором, не требующая редактировать исходный файл игры в текстовом редакторе. На текущий момент состоит из Редактора, Плеера и Тестера.
Информация и документы:
- Обновляемый Учебник по ЯРИЛу.
- Обновляемый Справочник по ЯРИЛу.
- ЧаВО (Частые Вопросы и Ответы aka FAQ) по ЯРИЛу.
Идеи, вопросы, проблемы и благодарности можно размещать тут.
Описание
Архитектура игры на ЯРИЛе представляет собой множество локаций, предметов, действий (команд) и процедур обработки этих действий. Действия состоят из шаблонов команд для парсера и ссылки на процедуру. Процедура - это набор инструкций. Инструкции - это не код программы, а алгоритмическое дерево. Файлы игр и библиотек хранятся в формате XML, поэтому свободно редактируются как в Редакторе платформы, так и вручную в любом текстовом редакторе.
Редактор позволяет редактировать игру в формах, в частности: локации (название, описание, переходы, перехваты), предметы (название, описание, словарь, первоначальное положение, признаки, перехваты действий), процедуры и действия.
Тестер используется для тестового прогона игр авторами в процессе разработки. Например, для игры можно написать несколько тестов для проверки различных сюжетных веток.
Версии платформы
- Свежие выпуски платформы.
- Полная история изменений.
- Старый архив сборок (в том числе и девелоперских версий).
Старые выпуски
Игры
Игры на ЯРИЛ представлены в соответствующей категории.
Сообщество
- Страничка на ifhub'е
- Следить за новостями можно в форуме ЯРИЛа на ifiction.