Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
16.04.2012 14:56

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

О платформе ЯРИЛ

ЯРИЛ (Язык Разметки Интерактивной Литературы) - это парсерная платформа с визуальным редактором, не требующая редактировать исходный файл игры в текстовом редакторе. На текущий момент состоит из Редактора, Плеера и Тестера.

ЯРИЛ победил на Золотом Хомяке 2013 в номинации "Проект года" по мнению жюри!!!

Текущее состояние платформы, а также ссылки для скачивания: смотрите на вики-странице или в ветке новостей.

Архитектура игры на ЯРИЛе представляет собой множество локаций, предметов, действий (команд) и процедур обработки этих действий. Действия состоят из шаблонов команд для парсера и ссылки на процедуру. Процедура - это набор инструкций. Инструкции - это не код программы, а алгоритмическое дерево.

Редактор позволяет редактировать игру в формах, в частности: локации (название, описание, переходы), предметы (название, описание, словарь, первоначальное положение, признаки, перехваты действий), процедуры и действия:
http://b8.icdn.ru/r/realsonic/9/55934079mDk.jpg


Плеер:
http://b8.icdn.ru/r/realsonic/0/55934080rAx.jpg

Тестер (пока в зачаточном состоянии) используется для тестового прогона игр авторами в процессе разработки. Например, для игры можно написать несколько тестов для проверки различных сюжетных веток:
http://b8.icdn.ru/r/realsonic/1/55934081TrK.jpg

Проект поддерживается кросс-платформенным установщиком BitRock:
http://b8.icdn.ru/r/realsonic/2/55934082EhG.jpg

Неактивен

0    0    #2
16.04.2012 15:11

Евг
Участник (+289, -38)
Зарегистрирован: 13.04.2007
Сообщений: 552
Вебсайт

Neyðin kennir naktri konu að spinna.

Re: О платформе ЯРИЛ

А оно умеет "взять все"? :)

Неактивен

0    0    #3
16.04.2012 15:16

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Евг написал:

А оно умеет "взять все"? smile

Пока нет, но это точно в планах. smile

Неактивен

0    0    #4
25.04.2012 11:19

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Евг написал:

А оно умеет "взять все"? smile

Теперь умеет! smile

Неактивен

0    0    #21
27.10.2012 13:25

Vladimir
Участник (+176, -191)
Откуда: Владивосток
Зарегистрирован: 01.09.2012
Сообщений: 322
Вебсайт

Re: О платформе ЯРИЛ

После переустановки винды с Vista на 7 версию ваша ЯРИЛ успешно инсталлируется. Хотелось бы иметь к платформе инструкцию для разработки игр.

Неактивен

0    0    #22
27.10.2012 14:27

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Vladimir написал:

После переустановки винды с Vista на 7 версию ваша ЯРИЛ успешно инсталлируется. Хотелось бы иметь к платформе инструкцию для разработки игр.

Инструкции пока нет... Что-то можно сделать в Редакторе, что-то пока только в файле игры (xml). Спрашивайте, что не понятно, расскажу, что к чему!
Будем работать над инструкцией...

Неактивен

0    0    #24
05.11.2012 03:50

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Вообще, ещё есть страничка для обсуждения проблем, предложений smile http://ifml2.reformal.ru/

UPD. Заменил на актуальную страницу http://ifml2.reformal.ru/

Неактивен

0    0    #35
26.01.2013 17:34

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Новая версия Прототип 10 выпуск 1.

Изменения:
Отличия от 9го прототипа (с 05.09.2012):
д   +   Теперь работают роли на уровне Движка.
д   +   В роли добавлены триггеры для проверки доступности вложенных объектов.
к   +   Роль "контейнер" теперь проверяет, закрыт ли контейнер, и выводит описание вложенных предметов в зависимости от этого.
д   +   Инструкция "Вернуть значение" (return) для возврата результата, например, из триггеров.
д   +   Орператор "в" для проверки, входит ли предмет в коллекцию.
к   +   В игре "ZorkPort" можно открывать ящик и читать письмо.
д   +   Коллекция "Пустота" для симуляции создания и удаления объектов.
д   *   Улучшено вылавливание ошибок.
я   ~   Папка Samples теперь называется Games.
д   +   Добавлено подробное логирование в файл ifml2.log.
ifml2-53426 контейнер и плоскость:
д   +   у объекта можно проверять наличие роли, а также получать значение свойства, данное ролью
к   +   "осмотреть" теперь описывает и лежащие сверху предметы

Неактивен

1    0    #36
27.01.2013 12:33

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: О платформе ЯРИЛ

Загрузка...
Произошла ошибка: java.lang.NullPointerException
    at ifml2.om.Hook.toString(Hook.java:47)
    at java.text.MessageFormat.subformat(Unknown Source)
    at java.text.MessageFormat.format(Unknown Source)
    at java.text.Format.format(Unknown Source)
    at java.text.MessageFormat.format(Unknown Source)
    at ifml2.FormatLogger.debug(FormatLogger.java:28)
    at ifml2.om.OMManager$1.afterUnmarshal(OMManager.java:47)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.fireAfterUnmarshal(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.leaveElement(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at ifml2.om.OMManager.loadStoryFromXmlFile(OMManager.java:84)
    at ifml2.engine.Engine.loadStory(Engine.java:60)
    at ifml2.players.guiplayer.GUIPlayer.loadStory(GUIPlayer.java:114)
    at ifml2.players.guiplayer.GUIPlayer.main(GUIPlayer.java:103)
    at ifml2.Launcher.main(Launcher.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.exe4j.runtime.WinLauncher.main(Unknown Source)
    at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source)

Неактивен

0    0    #37
28.01.2013 01:05

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Нашёл, это был "Спелеолог". Вот исправленная версия - Прототип 10 выпуск 2

Неактивен

0    0    #38
28.01.2013 21:22

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: О платформе ЯРИЛ

Sonic написал:

это был "Спелеолог"

Да, это он. Теперь грузится smile

Неактивен

0    0    #39
06.01.2014 12:57

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Привет создателю ЯРИЛА!

Хотелось бы задать несколько вопросов:

1. Можно ли в Редакторе заменить отдельные команды из библиотеки глаголов или нужно ее отклучать совсем?
2. Как задавать условия? Интересует синтаксис.
3. Какие операции с переменными (кроме присваивания) поддерживает интерпретатор? Если поддеживает, то как это реализуется на практике?
4. Стили оформления редактируются в xml?

Неактивен

0    0    #40
07.01.2014 21:38

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Привет smile

johnbrown написал:

1. Можно ли в Редакторе заменить отдельные команды из библиотеки глаголов или нужно ее отклучать совсем?

Можно. Нужно просто создать команду, которая по шаблонам будет совпадать с библиотечной. При поиске подходящего шаблона сначала рассматриваются команды истории и только потом команды библиотек. Также ещё можно перехватить в локациях или предметах любые команды - если, к примеру, нет необходимости полностью переделывать логику команды для всех предметов/мест, а только для некоторых.

johnbrown написал:

2. Как задавать условия? Интересует синтаксис.

Синтаксис подобен выражениям в других компьютерных языках - он почти математический + некоторые особенности. Поддерживаемые операции:
с логическими величинами - "и", "или", "не";
проверка вхождения элемента в коллекцию - "в";
получение значения свойства - точка (".") - используется в виде <объект>.<свойство>;
сравнение - "=";
сложение - "+".
Строковые литералы должны быть в двойных или одинарных кавычках. Скобки пока не поддерживаются. Операторы будут добавляться.


johnbrown написал:

3. Какие операции с переменными (кроме присваивания) поддерживает интерпретатор? Если поддеживает, то как это реализуется на практике?

В переменную можно записать значение любого выражения. В том числе, и выражения с этой же переменной - нужно просто использовать её в качестве операнда. К примеру, в переменную "x" можно положить значение выражения "x + 1", в итоге переменная увеличится на 1.

johnbrown написал:

4. Стили оформления редактируются в xml?

Стили оформления пока не поддерживаются, но есть в планах, как и графика.

Неактивен

0    0    #41
07.01.2014 22:20

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

В переменную можно записать значение любого выражения.

Т.е. матемаматические операции полностью поддерживаются? А, скажем, rnd будет генериться?
А динамическое изменение свойств, описания комнат, объектов поддерживается?
На сколько вообще проект будет похож на ADRIFT, если, конечно, это есть в планах? Какие планы по развитию платформы, если не секрет?

Можно. Нужно просто создать команду, которая по шаблонам будет совпадать с библиотечной.

А, кстати, где можно шаблон посмотреть? Нужно в файл библиотеки лезть? Из Редактора никак? Там, вроде, только просмотр всех глаголов доступен.

Отредактировано johnbrown (07.01.2014 22:25)

Неактивен

0    0    #42
07.01.2014 22:41

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

В переменную можно записать значение любого выражения.

Т.е. матемаматические операции полностью поддерживаются? А, скажем, rnd будет генериться?

Нет, пока не полностью. Похоже, вычитания ещё нет. ) Но это всё будет добавляться, просто пока острой необходимости не было. Добавить недолго. Рандом пока не работает, но тоже будет. Думаю, как его лучше реализовывать, чтобы было наиболее удобно пользоваться.

johnbrown написал:

А динамическое изменение свойств, описания комнат, объектов поддерживается?

Несистемные свойства можно менять динамически, но в Редакторе пока нет поддержки (только в XML). Динамические описания комнат реализованы сейчас через перехваты в локациях. А что имеется в виду под динамическим изменением объектов?

johnbrown написал:

На сколько вообще проект будет похож на ADRIFT, если, конечно, это есть в планах? Какие планы по развитию платформы, если не секрет?

Довольно сильно похож на Адрифт, насколько я могу судить... Какие-то планы видно в трекере http://www.hostedredmine.com/projects/i … ry_id=2469

Неактивен

0    0    #43
07.01.2014 22:49

Russian Bear
Участник (+17)
Откуда: Петрозаводск
Зарегистрирован: 29.12.2002
Сообщений: 97
Вебсайт

Re: О платформе ЯРИЛ

johnbrown написал:

На сколько вообще проект будет похож на ADRIFT, если, конечно, это есть в планах?

В планах взять всё лучшее из Адрифта, переработать, адаптировать под русский и добавить своего. Если автор не передумает. smile

Неактивен

0    0    #44
07.01.2014 23:01

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

А что имеется в виду под динамическим изменением объектов?

Сорри, не так написал. Динамическое изменение свойств предметов (объект - контейнер, объект может быть съеден).

Неактивен

0    0    #45
07.01.2014 23:52

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

А что имеется в виду под динамическим изменением объектов?

Сорри, не так написал. Динамическое изменение свойств предметов (объект - контейнер, объект может быть съеден).

В ЯРИЛе такие свойства реализованы ролями. Динамического навешивания/снятия ролей пока не планировалось. Нужно ли оно?

Неактивен

0    0    #46
08.01.2014 00:45

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Динамического навешивания/снятия ролей пока не планировалось. Нужно ли оно?

В АДРИФТе, по-моему это реализовано. Ну, конечно, много не мало, но мне, если честно, рнд сейчас не хватает ) , ну, и справки какой-то минимальной. В АДРИФТЕ, кстати есть встроенная справка по матфункциям, очень удобно в одном клике от окна ввода. В целом, конечно, понятно,на то оно и мышинное программирование, но есть не очевидные моменты. Вообще, есть смысл сейчас писать на ЯРИЛ? Может быть такое, что новые версии не будут поддерживать старые игры?

Неактивен

0    0    #47
08.01.2014 00:57

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Динамического навешивания/снятия ролей пока не планировалось. Нужно ли оно?

В АДРИФТе, по-моему это реализовано. Ну, конечно, много не мало, но мне, если честно, рнд сейчас не хватает ) , ну, и справки какой-то минимальной. В АДРИФТЕ, кстати есть встроенная справка по матфункциям, очень удобно в одном клике от окна ввода. В целом, конечно, понятно,на то оно и мышинное программирование, но есть не очевидные моменты.

В ЯРИЛе пока нет матфункций) РНД - можно сделать и пораньше. Как его будет наиболее удобно использовать? Мне кажется, он чаще всего используется для каких-то случайных событий, нежели просто для генерации случайного числа. Для случайного выбора между n-ым кол-вом альтернатив, думаю, лучшим вариантом будет создание инструкции-ветвления (типы switch или case в других языках, или множественный if), с указанием случайного выбора ветви.
Или сейчас больше необходимо именно случайное число (каких-то очков, предметов и т.д.)?

johnbrown написал:

Вообще, есть смысл сейчас писать на ЯРИЛ? Может быть такое, что новые версии не будут поддерживать старые игры?

Смысл уже есть, т.к. игры уже можно писать. А платформа будет развиваться и дальше. Я постараюсь решить проблему с совместимостью, но в крайнем случае будет либо конвертация под новые версии, либо просто достаточно будет запускать игру в старой версии.

Неактивен

0    0    #48
08.01.2014 01:00

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

ну, и справки какой-то минимальной. В АДРИФТЕ, кстати есть встроенная справка по матфункциям, очень удобно в одном клике от окна ввода. В целом, конечно, понятно,на то оно и мышинное программирование, но есть не очевидные моменты.

На справку пока не хватает времени. sad Альтернатива - или новые функции и исправление багов, или справка. Притом при добавлении функций нужно постоянно обновлять справку.
Вообще, есть Skype-чат по ЯРИЛу, там сидят (кроме меня) уже поднаторевшие авторы, которые завсегда помогут и подскажут. Могу добавить в чат, если интересно и есть скайп-аккаунт.

Неактивен

0    0    #49
08.01.2014 09:43

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

В ЯРИЛе пока нет матфункций) РНД -можно сделать и пораньше. Как его будет наиболее удобно использовать?Мне кажется, он чаще всего используется для каких-то случайных событий, нежели просто для генерации случайного числа. Для случайного выбора между n-ым кол-вом альтернатив, думаю, лучшим вариантом будет создание инструкции-ветвления (типы switch или case в других языках, или множественный if), с указанием случайного выбора ветви. Или сейчас больше необходимо именно случайное число (каких-то очков, предметов и т.д.)?

Rand(x,x1)
Мне бы этого хватило, т.к., как я понял, уже сейчас можно повесить перехват событий на переменную.

Неактивен

0    0    #50
08.01.2014 22:19

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Ок, посмотрим, что можно сделать.

Неактивен

1    0    #51
10.01.2014 11:03

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Rand(x,x1)
Мне бы этого хватило, т.к., как я понял, уже сейчас можно повесить перехват событий на переменную.

Пока решено сделать инструкцию "Бросить кость", у которой будет задаваться диапазон и имя переменной, которой присвоить выпавшее значение.
Следить за готовностью можно в трекере http://www.hostedredmine.com/issues/256159

Неактивен

0    0    #52
16.01.2014 14:27

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Sonic написал:

Пока решено сделать инструкцию "Бросить кость", у которой будет задаваться диапазон и имя переменной, которой присвоить выпавшее значение.
Следить за готовностью можно в трекере http://www.hostedredmine.com/issues/256159

Инструкция готова, постараюсь в ближайшее время выпустить релиз.

Неактивен

1    0    #53
18.01.2014 00:01

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Sonic написал:

Инструкция готова, постараюсь в ближайшее время выпустить релиз.

Готово! ЯРИЛ 2.0 Хоббит, глава 3
Выглядит так:
http://b8.icdn.ru/r/realsonic/6/55934116AzX.jpg

UPD. Исправил URL скриншота.

Неактивен

0    0    #54
21.01.2014 12:15

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Пример броска кубика есть в поставляемой с платформой демке "Кувшин".

Неактивен

1    0    #55
29.01.2014 16:58

Серый Волк
Модератор (+1194, -91)
Откуда: Тверь
Зарегистрирован: 22.02.2008
Сообщений: 1096
Вебсайт

Re: О платформе ЯРИЛ

У игр платформы ЯРИЛ появилась страничка в рил-архиве. Желаю ей расти, толстеть и вообще.

Отредактировано Серый Волк (29.01.2014 16:59)

Неактивен

1    0    #56
29.01.2014 19:04

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: О платформе ЯРИЛ

Присоединяюсь к пожеланиям.

Скачал, запустил игрушку. Как-то уж слишком притормаживает при вводе команд. Видимо, код не оптимизирован.

Неактивен

0    1    #57
29.01.2014 19:46

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Серый Волк написал:

У игр платформы ЯРИЛ появилась страничка в рил-архиве. Желаю ей расти, толстеть и вообще.

Спасибо! Сейчас размещу в самом посте.
Только версия платформы уже новее той, что в архиве - уже 3ий Хоббит вышел https://dl.dropboxusercontent.com/u/878 … 140117.exe

Неактивен

0    0    #58
29.01.2014 19:51

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Nex написал:

Присоединяюсь к пожеланиям.

Скачал, запустил игрушку. Как-то уж слишком притормаживает при вводе команд. Видимо, код не оптимизирован.

Спасибо! Интересно. Код реакции уже оптимизирован, он не интерпретируется. Возможно, дело в парсере или в отображении в GUI. В логах должно отображаться время... Правда, не уверен, что там логируется парсер. Но парсер логируется прямо в GUI, если ввести команду "!отладка" (начиная с Хоббит 3).

Неактивен

0    0    #59
04.02.2014 11:23

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Неактивен

1    0    #60
16.02.2014 23:11

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

ЯРИЛ победил на Золотом Хомяке 2013 в номинации "Проект года" по мнению жюри!!! http://zh.ifiction.ru/results/

Неактивен

1    0    #61
17.12.2014 09:01

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Привет, Соник. Спасибо за генератор ,)

Скажи, а что ЯРИЛ не дружит с 7 явой?

И еще вопрос. Можно сделать, чтобы название предметов не выводилось в локации. Если установить свойство 'часть пейзажа', то предмет взять не получится .(

Неактивен

0    0    #62
17.12.2014 17:08

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Привет, Соник. Спасибо за генератор ,)

Скажи, а что ЯРИЛ не дружит с 7 явой?

Пока нет... вылезает ошибка при загрузке, пока не разобрался. Но инсталлятор всё равно использует свою яву, он её качает и ставит при необходимости.

johnbrown написал:

И еще вопрос. Можно сделать, чтобы название предметов не выводилось в локации. Если установить свойство 'часть пейзажа', то предмет взять не получится .(

Да, так и задумано. Раз часть пейзажа, то предмет нельзя взять - он же описан в локации.

Неактивен

0    0    #63
17.12.2014 17:21

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Да, так и задумано. Раз часть пейзажа, то предмет нельзя взять - он же описан в локации.

А можно сделать, чтобы предмет не выводился в описании и его можно было взять? )

Неактивен

0    0    #64
17.12.2014 17:32

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Да, так и задумано. Раз часть пейзажа, то предмет нельзя взять - он же описан в локации.

А можно сделать, чтобы предмет не выводился в описании и его можно было взять? )

А как тогда ты планируешь это потом учитывать в описании? Возьмёшь, а предмет останется в тексте?
Можно перекрыть действие описания локации в этой локации и рулить выводом описания по своему. )

Неактивен

1    0    #65
17.12.2014 19:17

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Да, наверное, так и придется сделать.
Просто бывают ситуации, когда есть некий "неисчерпаемый" источник, например колодец или предмет условно "невидим". Было бы здорово если бы можно было установить соответствующий флаг в свойствах. Такое мое скромное пожелание )

Неактивен

1    0    #66
18.12.2014 09:56

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: О платформе ЯРИЛ

условно "невидим" - это то же самое что "спрятан" ?
Для спрятанных предметов обычно есть отдельная механика.

Отредактировано ASBer (18.12.2014 09:58)

Неактивен

0    0    #67
18.12.2014 11:09

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Да, наверное, так и придется сделать.
Просто бывают ситуации, когда есть некий "неисчерпаемый" источник, например колодец или предмет условно "невидим". Было бы здорово если бы можно было установить соответствующий флаг в свойствах. Такое мое скромное пожелание )

Колодец нельзя взять, всё равно придётся реализовать другую логику - например, действие "зачерпнуть воды из колодца": перемещать воду из пустоты в кувшин в руках. )
А для невидимых предметов - как и сказал АСБер - обычно другая механика. Хотя, это для скрытых - для тех, что не видно сперва, но открываются при каком-то действии. А если ты имеешь в виду подразумеваемый предмет - например, руль или рычаг передач в салоне автомобиля (не будешь же всё перечислять при описании), - то да, это интересный момент. Можно, в принципе, добавить признак для не упоминаемых предметов.
(Правда и для скрытых пока нет механизма, нужно подумать.)

Неактивен

0    0    #68
18.12.2014 23:24

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

ASBer написал:

условно "невидим" - это то же самое что "спрятан" ?
Для спрятанных предметов обычно есть отдельная механика.

Просто хочется, чтобы была возможность не выводить описание предметов в локации и все, но чтобы при этом с ними можно было нормально взоимодействовать без лишних процедур и тп. О механиках пока не думал. Мне кажется не нужно слишком усложнять. Надо сделать базовые кирпичики из которых пользователь сможет сам сделать какую ему нужно механику.

Немного раздражает автосохранялка (из-за случайной перезаписи я потерял обучающий файл). Может не стоит выводить список файлов? Сохранить? Ок. И все.

И еще. Я не понял, как работают шаблоны? Ориентируюсь на игру спелеолог. Там на действии срубить есть варианты глагол и два падежа в выпадающем списке. У меня в шаблонах в литерале и в объкте в списках пустота. И еще. Вот ты создал действие. Оно, по-идее, должно всплыть в перехватах в локации и в предмете. Вот, в локации действие у меня добавляется, а в прелмете нет. В чем загвоздка?

Скачал руслана&людмила и фавна, но они зашифрованы. Можно где-то сорцы взять или еще каких-нибудь игрушек для обучения?

Неактивен

1    0    #69
19.12.2014 15:54

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Просто хочется, чтобы была возможность не выводить описание предметов в локации и все, но чтобы при этом с ними можно было нормально взоимодействовать без лишних процедур и тп. О механиках пока не думал. Мне кажется не нужно слишком усложнять. Надо сделать базовые кирпичики из которых пользователь сможет сам сделать какую ему нужно механику.

Добавим признак "неупоминаемый". smile http://www.hostedredmine.com/issues/376059

johnbrown написал:

Немного раздражает автосохранялка (из-за случайной перезаписи я потерял обучающий файл). Может не стоит выводить список файлов? Сохранить? Ок. И все.

Будет smile http://www.hostedredmine.com/issues/358013

johnbrown написал:

И еще. Я не понял, как работают шаблоны? Ориентируюсь на игру спелеолог. Там на действии срубить есть варианты глагол и два падежа в выпадающем списке. У меня в шаблонах в литерале и в объкте в списках пустота.

Литерал - это список синонимов. Создаёшь литерал - список пустой - нужно добавлять синонимы.
При добавлении объекта должно появляться окно выбора падежа.

johnbrown написал:

И еще. Вот ты создал действие. Оно, по-идее, должно всплыть в перехватах в локации и в предмете. Вот, в локации действие у меня добавляется, а в прелмете нет. В чем загвоздка?

В перехватах в предметах появляются только действия, имеющие в шаблонах объект. Перехват срабатывает при вызове этого действия с этим предметов в качестве параметра.

johnbrown написал:

Скачал руслана&людмила и фавна, но они зашифрованы. Можно где-то сорцы взять или еще каких-нибудь игрушек для обучения?

В новой версии ЯРИЛа будет незашифрованная версия РиЛ. Рабочий вариант (кстати, в нём много доработок и исправлений) можно взять тут: https://dl.dropboxusercontent.com/u/878 … 160125.exe

Неактивен

0    0    #70
19.12.2014 18:46

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Выпустил все обновления как новую версию - ЯРИЛ 2014 https://forum.ifiction.ru/viewtopic.php … 367#p31367.

Неактивен

0    0    #71
19.12.2014 21:15

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Скачал новую версию. Вынос процедур и действий в основное поле, по-моему давно напрашивался. Стало удобнее. А как ты считаешь, если сделать 4 колонки на одном экране это усложнит работу с программой или наоборот облегчит, позволив сразу видеть и объекты и действия, как например в менюшном редакторе DZQ?

Пока заметил только одну ошибку. Если установить роль предмета читаемый и в верхнее поле текста ввести одинарные ковычки 'текст' то, при попытке прочитать предмет игра вылетает с ошибкой.

Планируется добавление пользовательских ролей(групп,тэгов)?

И, еще пожелание, чтобы все изменения в редакторе сразу отображались, а то приходится выходить и заново входить. Не очень удобно, но я уже привык )

Ап. Как переместить предмет в локацию? И можно его потом будет удалить стандартными средствами? Кстати, обратил сейчас внимание: чтобы взять предмет, нужно, чтобы он где-то лежал. По-моему, это не очень удобно.
Сделал перенос предмета командой локация.предмет. Теперь в описании локации мне пишет 'здесь предмет'. При этом осмотреть его нельзя 'я не знаю слова предмет'.
Соник, можешь рассказать как работают перехваты? Как я понял, если в процедуре нет инструкций, то выполняется перехват в предмете. А если есть, то не выполняется?

Кстати, в процессе написания понял, что не хватает ивентов. Они бы прекрасно работали с процедурами, но ты, наверное, уже об думал.

Баг: процедуру можно сделать безымянной. Редактор никак не прореагирует. Переименовать не получится, только удалить.

В имени переменной почему-то нельзя использовать символ нижнего подчеркивания.

Какой синтаксис/команды используются для работы с ролями?

У действий есть исключения (или как-то так, не помню). Можно сделать, чтобы если действие написано пользователем не полностью выдавалась обработка из исключения? Меня синтаксис интересует. Вообще, к этому больше всего вопросов, особенно к проверкам условий. Хорошо, есть примеры, но они не всегда спасают, приходится самому додумывать.

В условии допустимо только одно условие?

Отредактировано johnbrown (22.12.2014 09:09)

Неактивен

0    0    #72
22.12.2014 13:17

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Чуть позже отвечу на пост.
Возможно, быстрее и практичнее будет, если будешь задавать вопросы в скайп-чатике. Добавляй меня в друзья - michael.balanov, я тебя добавлю в чат. smile

Неактивен

0    0    #73
22.12.2014 15:42

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

Скачал новую версию. Вынос процедур и действий в основное поле, по-моему давно напрашивался. Стало удобнее. А как ты считаешь, если сделать 4 колонки на одном экране это усложнит работу с программой или наоборот облегчит, позволив сразу видеть и объекты и действия, как например в менюшном редакторе DZQ?

Не знаю, боюсь, на маленьком экране может не уместиться.

Пока заметил только одну ошибку. Если установить роль предмета читаемый и в верхнее поле текста ввести одинарные ковычки 'текст' то, при попытке прочитать предмет игра вылетает с ошибкой.

Спасибо, проверю. http://www.hostedredmine.com/issues/376759

Планируется добавление пользовательских ролей(групп,тэгов)?

Да, планируется добавление пользовательских ролей. А что подразумевается под группами и тэгами?

И, еще пожелание, чтобы все изменения в редакторе сразу отображались, а то приходится выходить и заново входить. Не очень удобно, но я уже привык )

Не понял, а что не отображается? Вообще, в редакторе есть пункт меню "Запустить в Плеере" - туда попадает текущая игра (сохраняется во временный файл и загружается в Плеере).

Кстати, обратил сейчас внимание: чтобы взять предмет, нужно, чтобы он где-то лежал. По-моему, это не очень удобно.

Не совсем понял.

Сделал перенос предмета командой локация.предмет. Теперь в описании локации мне пишет 'здесь предмет'. При этом осмотреть его нельзя 'я не знаю слова предмет'.

А у него настроен словарь?

Соник, можешь рассказать как работают перехваты? Как я понял, если в процедуре нет инструкций, то выполняется перехват в предмете. А если есть, то не выполняется?

Нет, наличие инструкций в процедуре на перехват не влияет. Перехват сработает, если он есть. Если он типа "вместо" - то выполнится вместо выполнения процедуры. Иначе выполнится до или после процедуры.

Кстати, в процессе написания понял, что не хватает ивентов. Они бы прекрасно работали с процедурами, но ты, наверное, уже об думал.

Я думал про ивенты типа "изменилась переменная" или "игрок зашёл в локацию". Но это пока было на уровне мыслей. А чего именно хотелось бы?

Баг: процедуру можно сделать безымянной. Редактор никак не прореагирует. Переименовать не получится, только удалить.

Спасибо. Дописал в баг http://www.hostedredmine.com/issues/227497

В имени переменной почему-то нельзя использовать символ нижнего подчеркивания.

Исправим: http://www.hostedredmine.com/issues/358015

Какой синтаксис/команды используются для работы с ролями?

Роли при добавлении на предмет привносят ему свои свойства, а также признак с именем роли. Т.е. например, если роль "читаемый" (со свойством "текст") повесить на предмет, то у него появится свойство "текст" (к которому можно обращаться предмет.текст), а также признак предмет.читаемый (который будет равен логическому "да").

У действий есть исключения (или как-то так, не помню). Можно сделать, чтобы если действие написано пользователем не полностью выдавалась обработка из исключения? Меня синтаксис интересует. Вообще, к этому больше всего вопросов, особенно к проверкам условий. Хорошо, есть примеры, но они не всегда спасают, приходится самому додумывать.

У действий есть ограничения. Они проверяются по очереди при попытке выполнить действие. Если условие какого-то из ограничений будет истинным (логическое "да"), то выполняются инструкции ограничения, а действие и остальные ограничения уже не выполняются. Пример - в Руслане и Людмиле действие "трубить".

В условии допустимо только одно условие?

Какое условие ты имеешь в виду? Вообще, выражения поддерживают логические операторы: и, или, не.

Неактивен

0    0    #74
22.12.2014 17:08

johnbrown
Участник (+221, -9)
Откуда: Москва
Зарегистрирован: 01.12.2013
Сообщений: 241

Re: О платформе ЯРИЛ

Да, планируется добавление пользовательских ролей. А что подразумевается под группами и тэгами?

Я имел в виду одно и тоже - возможность навесить на предметы некий признак, тэг. Чтобы объединить схожие группы предметов, чтобы не делать лишней работы с перечислением предметов в условиях. Там даже механики никакой не нужно, просто обычный тэг.

И, еще пожелание, чтобы все изменения в редакторе сразу отображались, а то приходится выходить и заново входить. Не очень удобно, но я уже привык )
Не понял, а что не отображается? Вообще, в редакторе есть пункт меню "Запустить в Плеере" - туда попадает текущая игра (сохраняется во временный файл и загружается в Плеере).

Посмотри процедуры или действия. Внутри них изменения становятся видны визуально только если закрыть и открыть их соответственно, хотя по-факту, да, сразу все изменяется.

Кстати, обратил сейчас внимание: чтобы взять предмет, нужно, чтобы он где-то лежал. По-моему, это не очень удобно.
Не совсем понял.

Я проверял. Чтобы переместить предмет, к примеру, к себе в инвентарь, этот предмет должен быть к чему-то приписан. Т.е., изначально он может висеть в воздухе, редактор это позволяет, но тогда передачи не произойдет. Мне кажется, это не совсем правильно.

Сделал перенос предмета командой локация.предмет. Теперь в описании локации мне пишет 'здесь предмет'. При этом осмотреть его нельзя 'я не знаю слова предмет'.
А у него настроен словарь?

Конечно, есть словарь с синонимами.

Я думал про ивенты типа "изменилась переменная" или "игрок зашёл в локацию". Но это пока было на уровне мыслей. А чего именно хотелось бы?

А все, что сейчас позволяет процедура, все забабахать в ивенты. Нужны процедуры, срабатывающие автоматически, при наступлении условия.

Какое условие ты имеешь в виду? Вообще, выражения поддерживают логические операторы: и, или, не.

Да, это я имел в виду.

У действий есть ограничения. Они проверяются по очереди при попытке выполнить действие. Если условие какого-то из ограничений будет истинным (логическое "да"), то выполняются инструкции ограничения, а действие и остальные ограничения уже не выполняются. Пример - в Руслане и Людмиле действие "трубить".

Вот, скажем есть некий шаблон: глагол + предмет.ип. Я могу сделать такое ограничение, если пользователь не указал предмет (просто написал глагол)?

Код:

если 
предмет.ип = ''
то
"Что я должен' + глагол + '?'

ЗЫ можно создать отдельный топик по чисто-техническим вопросам реализации языка.

Отредактировано johnbrown (22.12.2014 17:45)

Неактивен

0    0    #75
22.12.2014 18:08

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

johnbrown написал:

ЗЫ можно создать отдельный топик по чисто-техническим вопросам реализации языка.

Создал. Продублируй этот пост туда, пожалуйста.

Неактивен

2    0    #76
27.10.2015 17:43

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Vladimir написал:

После переустановки винды с Vista на 7 версию ваша ЯРИЛ успешно инсталлируется. Хотелось бы иметь к платформе инструкцию для разработки игр.

Начата работа над учебником и справочником.

Неактивен

1    0    #77
27.01.2017 18:28

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: О платформе ЯРИЛ

Замеченные особенности:

1) Кто-то писал о необходимости ставить "кучу мусора" или "всё эту "всю эту джава-помойку" или даже о какой-то ошибке. У меня всё запустилось нормально, НО вот хочу отметить известные мне замечания.

2) Что за ужас с представлением себя(то есть, гг)? В большинстве парсерок, что я видел, даже на Адрифте, возможность осмотреть себя- вполне естественная команда, как минимум, работающая на атмосферу, а порой и дающая важные намёки. Как игрок, я ожидаю, что и остальные известные игре команды будут адекватно восприняты по отношению к себе. Вот с этим надо что-то делать. Не надо так мучать авторов.

3) И, да- про известные игре команды. Могу ошибаться, но, как я понял, известные платформе команды автору "не вырубить топором". А по мере добавления команд, новые команды будут использоваться и в старых играх. Так, комсомолец в игре "комсомолец" запросто и без ошибок произносит молитву "Отче Наш". То есть, в перспективе, автор будет иметь огромный список команд, большинство из которых ему нафик не нужны, НО с каждой из которых надо что-то делать, дабы избежать проблем // напр в RTADS-игре "Волк, коза и капуста", когда я запускал её в последний раз, можно было отдать капусту козе  , что заводило всю игру в тупик, потому что коза ни в какую не отдавала капусту обратно; так же был момент в какой-то игре, где нельзя было шуметь, но можно было без проблем кричать и орать, потому что автор ничего не сделал с этими командами. // === я считаю, что у авторов должна быть возможность просматривать список известных игре команд И управлять этим списком: исключать или возвращать команды в список. А так же модифицировать реакцию на них. Помимо прочего, это сделает помощь, выводимую командой "помощь", более адекватной.

4) Мне не известно, вина ли авторов Ганметалла или авторов платформы в том, что при попытке говорить с некоторыми осматриваемыми персонажами, выдаётся сообщение "его здесь нет". Интересно было бы увидеть разъяснения.

5) Некоторые платформы поддерживают команду "выходы", которая позволяет игроку включать/выключать автоматическое отображение списка выходов после описания локаций. Думаю, и на ЯРИЛе такая команда не будет лишней.

6) Вывод списка всех объектов, с которыми можно взаимодействовать, после описания локаций- довольно спорная особенность платформы. Для хорошей парсерки это означает повторение [почти] всех существительных после текста описания. И, да- вроде бы кто-то уговорил Sonic-a сделать возможность скрывать некоторые объекты, чтобы они не показывались в этом списке. Для меня всё это выглядит очень и очень странно... хотя, с другой стороны: если ЯРИЛ получится так прост, как это задумывается, то неизбежно большая часть игр на нём будет выполнена в стиле "недопарсерки", в которых списки объектов будут отнюдь не лишними. Возможно, хорошим выходом будет сделать команду для включения/отключения отображения списка объектов игроком.

7) Дальнейшие замечания смогу сделать после того, как запущу редактор, для чего сначала сяду вспоминать старый путь к ЯРИЛу, затем помещу его туда и деинсталлирую, затем инсталлирую туда, где он сейчас. upd: да, я не люблю, когда каждая мелкая прога инсталлируется, а не запускается просто так.

Отредактировано qwerty (27.01.2017 18:33)

Неактивен

1    0    #78
27.01.2017 18:44

Mikhail Rogozhin
Участник (+13)
Откуда: Орёл
Зарегистрирован: 02.11.2016
Сообщений: 8

Re: О платформе ЯРИЛ

qwerty написал:

Замеченные особенности:

4) Мне не известно, вина ли авторов Ганметалла или авторов платформы в том, что при попытке говорить с некоторыми осматриваемыми персонажами, выдаётся сообщение "его здесь нет". Интересно было бы увидеть разъяснения.

Не могли бы вы описать, в каком случае это происходит? Я оперативно перепроверю.
Можно просто скопировать клавишами CTRL+A и CTRL+C весь экран во время игры, так будет ещё лучше.

Неактивен

0    1    #79
30.01.2017 19:11

Антон Ласточкин
Участник (+302, -9)
Зарегистрирован: 18.09.2015
Сообщений: 148

Re: О платформе ЯРИЛ

Сейчас идет работа над интеграцией rinform в специальный проигрыватель для незрячих. Есть ли возможность сделать какой-то модуль (в виде dll, к примеру) с API для подключения к такому проигрывателю? Платформа - только Windows, желательно без привязки к JAVA-машине?

Отредактировано Антон Ласточкин (30.01.2017 19:12)

Неактивен

1    0    #80
30.01.2017 20:10

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

qwerty написал:

1) Кто-то писал о необходимости ставить "кучу мусора" или "всё эту "всю эту джава-помойку" или даже о какой-то ошибке. У меня всё запустилось нормально, НО вот хочу отметить известные мне замечания.

Не запускается у тех, у кого не стоит Джава. Планирую переделать - или добавить в инсталлер установку Джавы, или поставлять ЯРИЛ вместе с Джавой.

qwerty написал:

2) Что за ужас с представлением себя(то есть, гг)? В большинстве парсерок, что я видел, даже на Адрифте, возможность осмотреть себя- вполне естественная команда, как минимум, работающая на атмосферу, а порой и дающая важные намёки. Как игрок, я ожидаю, что и остальные известные игре команды будут адекватно восприняты по отношению к себе. Вот с этим надо что-то делать. Не надо так мучать авторов.

Да, ценное замечание. Есть идеи, какая механика должна быть у "себя"? Предполагаю, что в игре должен присутствовать игрок как сущность, соответственно, ему можно будет задать словарь, к нему можно будет обратиться (т.к. он будет в области досягаемости), да и инвентарь логично перенести в него.

qwerty написал:

3) И, да- про известные игре команды. Могу ошибаться, но, как я понял, известные платформе команды автору "не вырубить топором". А по мере добавления команд, новые команды будут использоваться и в старых играх. Так, комсомолец в игре "комсомолец" запросто и без ошибок произносит молитву "Отче Наш". То есть, в перспективе, автор будет иметь огромный список команд, большинство из которых ему нафик не нужны, НО с каждой из которых надо что-то делать, дабы избежать проблем // напр в RTADS-игре "Волк, коза и капуста", когда я запускал её в последний раз, можно было отдать капусту козе  , что заводило всю игру в тупик, потому что коза ни в какую не отдавала капусту обратно; так же был момент в какой-то игре, где нельзя было шуметь, но можно было без проблем кричать и орать, потому что автор ничего не сделал с этими командами. // === я считаю, что у авторов должна быть возможность просматривать список известных игре команд И управлять этим списком: исключать или возвращать команды в список. А так же модифицировать реакцию на них. Помимо прочего, это сделает помощь, выводимую командой "помощь", более адекватной.

У платформы практически нет своих команд. По крайней мере, игровых точно нет, только несколько системных. Остальные расположены в библиотеке "Глаголы", которую можно не подключать, а сделать свои команды. В случае подключения библиотеки, если автор напишет свою команду, то она сработает первой. Про просмотр импортированных из библиотек команд - реализация была, но не помню точно, виден ли этот интерфейс сейчас. Про отключение импортированных команд хорошая идея, запишу фичу. Про перекрытие реакции - есть механизм перекрытия реакции команды на отдельном предмете / в отдельной локации, про общую реакцию надо подумать.

qwerty написал:

4) Мне не известно, вина ли авторов Ганметалла или авторов платформы в том, что при попытке говорить с некоторыми осматриваемыми персонажами, выдаётся сообщение "его здесь нет". Интересно было бы увидеть разъяснения.

Зависит от реализации игры - предметом ли сделан персонаж, доступен ли он в этот момент - и это если работает стандартный механизм шаблона глагол + предмет. Если же прописан литеральный шаблон (константная фраза), то тут зависит от прописанной реакции в игре. Вариантов много.

qwerty написал:

5) Некоторые платформы поддерживают команду "выходы", которая позволяет игроку включать/выключать автоматическое отображение списка выходов после описания локаций. Думаю, и на ЯРИЛе такая команда не будет лишней.

Да, дельное замечание, спасибо.

qwerty написал:

6) Вывод списка всех объектов, с которыми можно взаимодействовать, после описания локаций- довольно спорная особенность платформы. Для хорошей парсерки это означает повторение [почти] всех существительных после текста описания. И, да- вроде бы кто-то уговорил Sonic-a сделать возможность скрывать некоторые объекты, чтобы они не показывались в этом списке. Для меня всё это выглядит очень и очень странно... хотя, с другой стороны: если ЯРИЛ получится так прост, как это задумывается, то неизбежно большая часть игр на нём будет выполнена в стиле "недопарсерки", в которых списки объектов будут отнюдь не лишними. Возможно, хорошим выходом будет сделать команду для включения/отключения отображения списка объектов игроком.

Это же классика - вывод простых переносимых предметов после описания. Например, в TADS, в Inform. В ЯРИЛ сделано так: все добавляемые в локацию предметы перечисляются в этом выводе после описания локации. Если же предмет - декорация (упомянут в описании локации) или невидим, то на него можно повесить специальный признак, тогда он не будет перечисляться. Я ещё думаю над декорациями как отдельной сущностью, но пока этот вопрос ещё не проработан.

qwerty написал:

7) Дальнейшие замечания смогу сделать после того, как запущу редактор, для чего сначала сяду вспоминать старый путь к ЯРИЛу, затем помещу его туда и деинсталлирую, затем инсталлирую туда, где он сейчас. upd: да, я не люблю, когда каждая мелкая прога инсталлируется, а не запускается просто так.

Зачем помещать по старому пути? Там должен был остаться деинсталлятор.
В пользу инсталляции: разные ярлыки на запуск Плеера, Редактора, Тестера, в будущем - ассоциация файлов. Но я думаю о портабельной версии.

UPD. Добавил ссылки на заведённые задачи.

Неактивен

0    0    #81
30.01.2017 20:17

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Антон Ласточкин написал:

Сейчас идет работа над интеграцией rinform в специальный проигрыватель для незрячих. Есть ли возможность сделать какой-то модуль (в виде dll, к примеру) с API для подключения к такому проигрывателю? Платформа - только Windows, желательно без привязки к JAVA-машине?

Сложный вопрос. Есть всякие инструменты по переводу джава-кода в exe (Excelsior JET), в .NET (IKVM.NET), но это надо тщательно тестировать и смотреть, выставляют ли такие сборки API.
Вообще, у ЯРИЛ есть консольный проигрыватель, и он работает как обычная консоль в Windows. Думаю, с неё программы могут читать?

Неактивен

1    0    #82
30.01.2017 21:52

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: О платформе ЯРИЛ

Mikhail Rogozhin написал:

qwerty написал:

Замеченные особенности:

4) Мне не известно, вина ли авторов Ганметалла или авторов платформы в том, что при попытке говорить с некоторыми осматриваемыми персонажами, выдаётся сообщение "его здесь нет". Интересно было бы увидеть разъяснения.

Не могли бы вы описать, в каком случае это происходит? Я оперативно перепроверю.
Можно просто скопировать клавишами CTRL+A и CTRL+C весь экран во время игры, так будет ещё лучше.

Ну, например, запустив игру, введите такие команды:

 спойлер…

- всё. Теперь вы находитесь в ситуации, где Гай видим, его можно осмотреть, но поговорить с ним нельзя. Вообще же подобных ошибок в игре- пруд пруди.

1) обойдите все доступные комнаты и найдите всех собеседников.
2) с помощью генератора случайных чисел выберите одного из них и поговорите.
3) goto 1

- так можно найти многое, НО последовательное исследование всё же лучше И ещё, может быть, факт посещения комнаты может повлиять на последствия. Для начала я порекомендовал такой рандомный метод, поскольку предположил, что местонахождение некоторых персонажей иногда оказывается не тем, что было задумано. Но настоящее тщательный поиск ошибок предполагает последовательное исследование.

Тут одно из двух: либо вы делаете что-то не так, либо же ЯРИЛ как-то не так обрабатывает ваши верные команды.

И, собственно, тщательное исследование и НЕ НУЖНО. А что нужно, так это выяснить у Sonica, как правильно делается то, что вы хотите сделать. И если сделаете всё верно, то глюки будут уже его проблемой ))

Неактивен

0    0    #83
30.01.2017 22:55

Антон Ласточкин
Участник (+302, -9)
Зарегистрирован: 18.09.2015
Сообщений: 148

Re: О платформе ЯРИЛ

Sonic написал:

Антон Ласточкин написал:

Сейчас идет работа над интеграцией rinform в специальный проигрыватель для незрячих. Есть ли возможность сделать какой-то модуль (в виде dll, к примеру) с API для подключения к такому проигрывателю? Платформа - только Windows, желательно без привязки к JAVA-машине?

Сложный вопрос. Есть всякие инструменты по переводу джава-кода в exe (Excelsior JET), в .NET (IKVM.NET), но это надо тщательно тестировать и смотреть, выставляют ли такие сборки API.
Вообще, у ЯРИЛ есть консольный проигрыватель, и он работает как обычная консоль в Windows. Думаю, с неё программы могут читать?

Спасибо за наводки. Дело в том, что консоль скринридеры могут читать, но вот не очень удобно. В проигрывателе tadswrapper уже сделана отправка текста прямо на API большинства скринридеров, сохранение и просмотр истории команд, стандартное меню для начала новой игры, сохранения, загрузки и т.п. Прикрутить движок ЯРИЛа будет не сложно, мне кажется.

Отредактировано Антон Ласточкин (30.01.2017 22:56)

Неактивен

0    0    #84
31.01.2017 11:36

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Антон Ласточкин написал:

Спасибо за наводки. Дело в том, что консоль скринридеры могут читать, но вот не очень удобно. В проигрывателе tadswrapper уже сделана отправка текста прямо на API большинства скринридеров, сохранение и просмотр истории команд, стандартное меню для начала новой игры, сохранения, загрузки и т.п. Прикрутить движок ЯРИЛа будет не сложно, мне кажется.

Вообще, движок ЯРИЛа написан так, что к нему можно писать любой плеер. Но - на Джаве. Можно попробовать написать плеер с нативным API. Покопать надо.

Неактивен

0    0    #85
31.01.2017 13:16

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Sonic написал:

Можно попробовать написать плеер с нативным API. Покопать надо.

Нашёл, как можно вызывать Java-методы из C++. tadswrapper на C++? Сможет так дёргать?

Неактивен

0    0    #86
31.01.2017 15:02

Антон Ласточкин
Участник (+302, -9)
Зарегистрирован: 18.09.2015
Сообщений: 148

Re: О платформе ЯРИЛ

Sonic написал:

Sonic написал:

Можно попробовать написать плеер с нативным API. Покопать надо.

Нашёл, как можно вызывать Java-методы из C++. tadswrapper на C++? Сможет так дёргать?

Да, на С++. Дёргать сможет, только надо бы подсказать что и где smile В принципе, можно с собой небольшую JAVA машину таскать, главное чтобы не надо было инсталляции - просто распаковал архив и движок запустился.

Неактивен

0    0    #87
31.01.2017 16:08

Sonic
Автор ЯРИЛ (+82, -4)
Откуда: Россия, Краснодар
Зарегистрирован: 24.08.2001
Сообщений: 243
Вебсайт

---

Re: О платформе ЯРИЛ

Антон Ласточкин написал:

Да, на С++. Дёргать сможет, только надо бы подсказать что и где smile В принципе, можно с собой небольшую JAVA машину таскать, главное чтобы не надо было инсталляции - просто распаковал архив и движок запустился.

Думаю, это возможно. Осталось только позаниматься этим. )

Неактивен

1    0    #88
31.01.2017 21:26

Mikhail Rogozhin
Участник (+13)
Откуда: Орёл
Зарегистрирован: 02.11.2016
Сообщений: 8

Re: О платформе ЯРИЛ

qwerty написал:

Mikhail Rogozhin написал:

qwerty написал:

Замеченные особенности:

4) Мне не известно, вина ли авторов Ганметалла или авторов платформы в том, что при попытке говорить с некоторыми осматриваемыми персонажами, выдаётся сообщение "его здесь нет". Интересно было бы увидеть разъяснения.

Не могли бы вы описать, в каком случае это происходит? Я оперативно перепроверю.
Можно просто скопировать клавишами CTRL+A и CTRL+C весь экран во время игры, так будет ещё лучше.

Ну, например, запустив игру, введите такие команды:

 спойлер…

- всё. Теперь вы находитесь в ситуации, где Гай видим, его можно осмотреть, но поговорить с ним нельзя. Вообще же подобных ошибок в игре- пруд пруди.

1) обойдите все доступные комнаты и найдите всех собеседников.
2) с помощью генератора случайных чисел выберите одного из них и поговорите.
3) goto 1

- так можно найти многое, НО последовательное исследование всё же лучше И ещё, может быть, факт посещения комнаты может повлиять на последствия. Для начала я порекомендовал такой рандомный метод, поскольку предположил, что местонахождение некоторых персонажей иногда оказывается не тем, что было задумано. Но настоящее тщательный поиск ошибок предполагает последовательное исследование.

Тут одно из двух: либо вы делаете что-то не так, либо же ЯРИЛ как-то не так обрабатывает ваши верные команды.

И, собственно, тщательное исследование и НЕ НУЖНО. А что нужно, так это выяснить у Sonica, как правильно делается то, что вы хотите сделать. И если сделаете всё верно, то глюки будут уже его проблемой ))

Нашёл баг. Это наш косяк, выводилось неверное описание. Исправил и перезалил.

Отредактировано Mikhail Rogozhin (31.01.2017 21:28)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru