ЯРИЛ 2.0
ЯРИЛ (Язык Разметки Интерактивной Литературы) — это русская платформа для парсерной интерактивной литературы. Отличается изначальной ориентированностью на русский язык и визуальным программированием всей игровой логики.
Платформа состоит из Редактора, Плеера и Тестера. Тестер — приложение для проведения автоматизированных проверок проходимости игр. (Тестер пока находится в начальном состоянии разработки.)
Технологическая платформа: Java SE 8.
Основные понятия:
Платформа состоит из Редактора, Плеера и Тестера. Тестер — приложение для проведения автоматизированных проверок проходимости игр. (Тестер пока находится в начальном состоянии разработки.)
Технологическая платформа: Java SE 8.
Структура игр
Игра (или в терминологии ЯРИЛ — история) описывается как набор локаций, предметов, действий, процедур, настроек и их взаимосвязей.Основные понятия:
- Локация — выделенная единица пространства. Может содержать предметы и игрока.
- Предмет. Может содержаться в локации, у игрока, содержать другие предметы.
- Действие — логическая связка для действия игрока, состоит из набора шаблонов парсера и процедуры игровой логики для обработки. Имеет набор ограничений (условий для выполнения).
- Процедура — набор инструкций игровой логики. Используется как обработчик действия, так и может вызываться из других обработчиков (процедур и проч.).
- Перехват — возможность перехватить выполнение какого-либо действия над предметом или в локации и задать отдельную игровую логику.
- Роль — совокупность свойств и специальных обработчиков для предметов. При «навешивании» роли на предмет он принимает её свойства, что можно проверять по имени роли (например, выражение «предмет.открываемый» будет истинным, если на предмете навешана роль «открываемый»).
- Библиотека — файл с набором сущностей ЯРИЛ для использования в игре. С платформой идёт стандартная библиотека «Глаголы» с набором действий и ролей. Дорабатывается.
В ней лежит скрипт run.bsh для запуска под *nix. Только ему нужно раздать права на запуск, я под Windows не смог этого делать.
Да, и нужно поставить Java SE 6. Именно 6ку.
Также неудобно, что меню выбора файлов стартует из корневой директории, а не из папки с игрой — лишние пару кликов каждый раз приходиться делать.
Дякую за послiдовнiсть до вiрша Петренка!
Оки, переименуем.
Разберёмся.
Хм, у меня стартует из папки Games. На линуксе, видимо, по-другому? Возможно, пути так определяются. Поищу в логах, есть ли это.
Спасибо за замечания!
Перевёл, но не понял последнее предложение на украинском.
Пробовал еще такие цепочки поискать — нашел что-то простое из двух глаголов, но не помню о чем. Забавная штука: не просто отказ получаешь — «Данное действие нельзя выполнить» — а вот что-то эдакое.
Значит в реальной игре программирование этих способов передвижения ляжет на плечи автора…
Сейчас же в ЯРИЛе эти действия есть в стандартной библиотеке, и автор при необходимости может добавить свою логику для определённых предметов с помощью перехватов. В дальнейшем планируется расширение библиотек(и) в плане добавления различных ролей, реализующих стандартное поведение для таких действий. (На вроде «зажечь» -> «предмет.горит = да»).