Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #26
03.04.2008 13:48

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Новая версия библиотеки?

скачать 26 релиз бета

Точно 26? По ссылке 25...

Неактивен

0    0    #27
04.04.2008 19:26

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

Да, 25. Гляжу в будущее, знаете ли... roll

Неактивен

0    0    #28
09.04.2008 16:21

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Вывод генератора:

Код:

1му  - стол  сто$1а  сто$1у(#d)  сто$1  сто$1ом(#t)  сто$1е  стол (-)

Объект:

Код:

table: fixeditem, surface
    location = lightRoom
    isHim = true
    adjective = 'изящный/1м'
    noun = 'стол/1м'
    ldesc = "Описание стола. "
;

Лексемы какие-то странные. Так и надо, или я опять что-то неправильно делаю? smile

С прилагательным вроде порядок.

Неактивен

0    0    #29
09.04.2008 17:40

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Генератор на прилагательном adjective = 'восточное/с' зависает.

Некорректно воспроизводятся лексемы 'землЯ/1ж' (в В.П. даже пробел посреди слова!).

И ещё: sdesc, я так понял, автоматом не генерится? Было бы удобно, если бы для объекта, у которого не задан sdesc, он автоматом составлялся из первого существительного (возможно, первое прилагательное плюс первое существительное).

P.S. Слова типа "ставень" (ставня) надо руками прописывать?

Отредактировано Gremour (09.04.2008 18:07)

Неактивен

0    0    #30
09.04.2008 18:04

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Итак, список некорректно обрабатываемых слов (буду дополнять):

восточное
старинное
стол
земля
город
лес

Отредактировано Gremour (09.04.2008 18:08)

Неактивен

0    0    #31
09.04.2008 19:13

- VampirE -
Участник (+3)
Зарегистрирован: 22.06.2006
Сообщений: 101

Re: Новая версия библиотеки?

У меня еще подозрение, что, например, слово "яд" может обробатываться некорректно. Правда, не проверял, просто подозрение.

Отредактировано - VampirE - (09.04.2008 19:13)

Неактивен

0    0    #32
09.04.2008 19:21

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 795
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Новая версия библиотеки?

GrAnd, может пока выпустить две версии библиотек: с генератором (RTADS 2.5G - генератор) и без (RTADS 2.5S - стандарт)

Я программер никудышный - у меня от твоего генератора голова ходит циркулем.

Неактивен

0    0    #33
09.04.2008 19:40

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

Хм. Это точно была последняя версия? Уже в прошлый раз не должно было возникать.
Выкладываю ещё одно обновление. Изменился только файл генератора.

Подоптимизировал, но все равно 800 миллисекунд на 113 слов без вывода на экран...
Туду для себя - ввести ключ однократного прохода в функции замены.


у меня от твоего генератора голова ходит циркулем.

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

sdec, rdesc... pdesc - все будут.

Неактивен

0    0    #34
10.04.2008 16:22

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

По-прежнему 'восточное/1с' и 'старинное/1с' дают слом генератора (выход за границы массива).

Очень хочется автоматической генерации *desc и флагов isHim, isHer, isThem. Делаю пока самостоятельно. Но работает как-то странно. Некоторые прилагательные для И.П. почему-то теряются sad

Код:

modify thing
    autoAdj = true // Признак автогенерации прилагательного 
    descnoun = [ '', '', '', '', '', '' ]
    descadj =  [ '', '', '', '', '', '' ]
    assembleDescription(n) =
    {
        if (autoAdj && descadj[n] != '')
        {
            say (descadj[n]); " ";
        }
        say (descnoun[n]);
    }
    sdesc = { self.assembleDescription(1); }
    rdesc = { self.assembleDescription(2); }
    ddesc = { self.assembleDescription(3); }
    vdesc = { self.assembleDescription(4); }
    tdesc = { self.assembleDescription(5); }
    pdesc = { self.assembleDescription(6); }
    printDescs =
    {
        "\n"; "sdesc={"; sdesc; "}";
        "\n"; "rdesc={"; rdesc; "}";
        "\n"; "ddesc={"; ddesc; "}";
        "\n"; "vdesc={"; vdesc; "}";
        "\n"; "tdesc={"; tdesc; "}";
        "\n"; "pdesc={"; pdesc; "}";
    }
;

В generator.t (метод start(...):

Код:

          // перебираем склонения
           
          res:=generate(obj, nouns[i], 0, 1, true);
          
          for (sklon:=1; res<>nil && sklon<=length(res); ++sklon)
          {
           local same:=nil;
           local new_nouns:= getwords(obj, &noun);          
           
           if (sklon >= 1 and sklon <= 6)            // +++++++++++++++++++
              obj.descnoun[sklon] := res[sklon][1];  // +++++++++++++++++++

           // пополняем список лексем
           if (find(new_nouns,res[sklon][1])=nil) addword(obj, &noun, res[sklon][1]);
           else same:=true;

           <...>

      // СКЛОНЯЕМ ПРИЛАГАТЕЛЬНЫЕ
      for (i:=1; i<=al; ++i)
      {
        local res, sklon;
        
        if (find(adjs[i],'/')) 
        {

          res:=generate(obj, adjs[i], 0, 2, true);
          
          for (sklon:=1; res<>nil && sklon<=length(res); ++sklon)
          {
           local same:=nil;
           local new_adjs:= getwords(obj, &adjective);          
           
           if (sklon >= 1 and sklon <= 6)            // +++++++++++++++++++++++
              obj.descadj[sklon] := res[sklon][1];   // +++++++++++++++++++++++

           if (find(new_adjs, res[sklon][1])=nil) addword(obj, &adjective, res[sklon][1]);
           else same:=true;

Неактивен

0    0    #35
14.04.2008 15:11

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

1жп     - выгоревшая    выгоревшой    выгоревшой(-)(#d)    выгоревшую    выгоревшой(-)(#t)    выгоревшой(-)    выгоревшою(#t)    выгоревшаяю   

2жу    - ромашки    ромашек    ромашок(#d)    ромашк    ромашкам(#t)    ромашки(-)    ромашками(#t)    ромашках   


И ещё, описания 'ложка/ж' и 'ложка/1ж' дают разные лексемы. Хотя не должны, по идее. Если число не указано, должно предполагаться единственное.

Update: (с васильками всё в порядке, не поставил род)

Отредактировано Gremour (14.04.2008 15:21)

Неактивен

0    0    #36
14.04.2008 15:16

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Новая версия библиотеки?

sad

Андрей, ответь пожалуйста, имеет ли смысл начинать пользоваться генератором и завязываться на него в новой игре? Не получится ли, что игра будет неработоспособной и придется все переделывать на старые рельсы? Вопрос правда очень актуален...

Неактивен

0    0    #37
14.04.2008 15:29

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Генератор -- это один из альтернативных вариантов. Если для некоторых слов он не срабатывает, можно прописать лексемы вручную. Я пользуюсь. Ибо облегчает. Заодно найдём места, где он работает неправильно, и ГрАнд их исправит (надеюсь smile.

Неактивен

0    0    #38
14.04.2008 15:31

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Новая версия библиотеки?

Логично.

Неактивен

0    0    #39
14.04.2008 18:38

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

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

Чтобы увидеть какое из правил было задействовано, нужно раскомментировать  строку
//  generator.detailed:=true;

1 - индивидуальное правило, 2 - общий блок правил. Второе число - порядковый номер правила. После каждого фрагмента в комментарии написана его длина для упрощения ориентирования. Не забывайте изменять эти значения после внесения правокю

Неактивен

0    0    #40
14.04.2008 19:29

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

Можно начинать пользоваться. Неработающие варианты публиковать здесь. Если до релиза библиотеку не исправят, то просто вручную прописать правильный вариант. Буквы-флаги вряд-ли изменятся.

Чтобы было яснее - склонения формируются при запуске игры, но внутренне они принимают тот вид, который мы всегда ранее задавали. Библиотеку обновил, исправил "восточное" и "старинное", качать  там же.

Неактивен

0    0    #41
14.04.2008 19:39

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 795
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Новая версия библиотеки?

GrAndrey написал:

Можно начинать пользоваться. ... меньше слов

УРА! СПАСИБО!!!

Отредактировано Korwin (14.04.2008 19:39)

Неактивен

0    0    #42
17.04.2008 20:17

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

ГрАнд, ОГРОМНАЯ просьба сделать автогенерацию sdesc, rdesc ... pdesc. Без автогенерации desc'ов от генератора проку не много. Всё равно приходится использовать внешний (чтобы не прописывать desc'и руками).

Моё решение (приведено выше) не всегда однозначно выбирает слово, если есть синонимы. Иногда берётся первое слово. Иногда последнее. А иногда прилипает к одному из синонимов и берёт только его, независимо от положения слова в списке синонимов.

Я не вникал глубоко в алгоритм. Видимо ты разбираешь слова не подряд. Можно внести дополнительный флаг, который помечает синоним, который будет использоваться в desc'ах. Например 'рог/1м=' 'рожок/1м' 'загогулина/1ж'. Если флага нет, брать первый (или последний). То же самое с прилагательными. Флаги isHim/isHer/isThem генерить согласно выбранному синониму.

Неактивен

0    0    #43
18.04.2008 19:05

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Прилагательное 'голубое/1с' вызывает слом (выход за границы массива).

Неактивен

0    0    #44
18.04.2008 19:53

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

Gremour написал:

Прилагательное 'голубое/1с' вызывает слом (выход за границы массива).

Качай свежую версию, ранее исправил.

Неактивен

0    0    #45
07.05.2008 08:59

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 795
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Новая версия библиотеки?

Gremour написал:

ГрАнд, ОГРОМНАЯ просьба сделать автогенерацию sdesc, rdesc ... pdesc. Без автогенерации desc'ов от генератора проку не много. Всё равно приходится использовать внешний (чтобы не прописывать desc'и руками).

Моё решение (приведено выше) не всегда однозначно выбирает слово, если есть синонимы. Иногда берётся первое слово. Иногда последнее. А иногда прилипает к одному из синонимов и берёт только его, независимо от положения слова в списке синонимов.

Я не вникал глубоко в алгоритм. Видимо ты разбираешь слова не подряд. Можно внести дополнительный флаг, который помечает синоним, который будет использоваться в desc'ах. Например 'рог/1м=' 'рожок/1м' 'загогулина/1ж'. Если флага нет, брать первый (или последний). То же самое с прилагательными.

поддерживаю. У меня та же беда - из списка синонимов Марина, Жена. Супруга. Стерва выбирает жена, хотя требовалось выбрать в описании имя. Порядок не влияет. Андрей, алгоритм выбирает слово в алфавитном порядке?

Неактивен

0    0    #46
07.05.2008 14:27

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Новая версия библиотеки?

Korwin,

В текущей версии генератора Гранда *desc-и не создаются. Автоматическое создание *desc-ов -- моих рук дело (правку generator.t я постил выше; у тебя подправленная мной версия генератора). Но это всего лишь быстрое решение. Алгоритм у Гранда сложнее, чем мне казалось, и выдаёт лексемы в странном порядке (не в той очерёдности, в какой они прописаны в свойстве noun объекта). Будет лучше, если Гранд сделает создание *desc-ов сам, как автор генератора.

Неактивен

0    0    #47
07.05.2008 14:49

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

Извиняюсь за задержку - потихоньку пишу.
В TADS значения noun хранятся не упорядоченно, оригинальный порядок сохранить не удастся (если я правильно понял о чем идет речь). Сам же генератор выдает список склонений в обычном порядке.

Неактивен

0    0    #48
25.05.2008 17:33

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 795
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Новая версия библиотеки?

Нашел маленькую ошибку в advr.t - если перегрузить героя вещами, интерпретатор сообщает "Ты не можИшь нести столько предметов". Там вместо glok(actor,1,1) стоит glok(actor,2,1)

Неактивен

0    0    #49
09.07.2008 09:33

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Новая версия библиотеки?

Андрей, ну как? Будет релиз или пока перебиваться бетой? Особенно интересует рабочий генератор с инструкцией о том, как задавать собственные правила...

Неактивен

0    0    #50
10.07.2008 12:46

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новая версия библиотеки?

fireton написал:

Андрей, ну как? Будет релиз или пока перебиваться бетой? Особенно интересует рабочий генератор с инструкцией о том, как задавать собственные правила...

Столь внезапный и коварный вопрос лишил меня дара речи.

Инструкции в комментариях библиотеки. Готов ответить, если что не ясно.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru