Forum.iFiction.Ru

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

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

Вы не зашли.

Объявление

Вовсю играем в игры КРИЛ и делимся впечатлениями в этой теме. И ГОЛОСУЕМ!

   #51
23.07.2009 14:14

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

в этой игре полно локаций, и они представляют из себя отнюдь НЕ прямоугольный лабиринт

думаю, хорошим выходом будет снабдить каждую локацию списком выходов (я уже так когда-то делал)

при этом хорошо бы, что бы выйти было возможно и по сзюв, и по названию локации-цели, и по командам войти/выйти

попробую поискать у себя примеры в архивах

---

опять, же подразнюсь немного: в RTADS в создаваемой локации автор может указать, в каком направлении из неё можно выйти, и куда при этом игрок попадёт- довольно просто с точки зрения автора. точно не помню, но вроде бы и переход в соседнюю локацию по названию тоже поддерживается(а может и нет) // недостатком ( с точки зрения автора) в этом случае может быть необходимость самому отслеживать, что бы переходы были двусторонними(т е и туда и обратно), прописывая один и тот же переход в обеих локациях. но это уже выбор автора- односторонние переходы хоть и редки, но тоже бывают

UPD

кроме переходов сзюв(они-чаще всего) в игре есть переходы вверх/вниз, а так же перенос в несвязанные локации, а так же одна комната с входом, но без выходов ( выход- с помощью особых действий ); а так же локации, в которых возможности персонажа ограничены только общением с одним неписем, а почти все остальные действия в этой ситуации лишены смысла

// т е на самом деле карта- именно прямоугольный лабиринт, НО соседние локации очень часто разделены(нет прохода)

Отредактировано noname (23.07.2009 14:27)

Неактивен

   #52
23.07.2009 15:01

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

пример (с предпоследними библиотеками):

Код:

include "std.lib\UnusVerb.tml"
include "std.lib\Main.tml"
include "std.lib\Map.tml"

location название_локации
{
  // текст локации убрал (ибо- спойер), но проверено- всё работает
  
  this + ГГ // вводим главного героя
  
}

проблема в том, что куда бы я не впихивал pers.title="ты; Мр2лЕч;", всё равно игруха пишет: "ГГ находится тут", а надо: "ты находишься тут". хотя по-большому счёту отображение присутствия ГГ вообще лучше убрать- ведь [почти]всегда ГГ находится там, где находится // ИМХО лучше отображение ГГ по-умолчанию убрать, но оставить возможность его включать по желанию автора

UPD

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

Отредактировано noname (23.07.2009 15:03)

Неактивен

   #53
23.07.2009 15:37

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

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

Re: Бета-тестирование

игруха пишет: "ГГ находится тут", а надо: "ты находишься тут".

Чтобы писалось "ты находишься тут" вообще ничего менять у ГГ не надо! Если не работае - присылай код на мыло.

title для персонажей уже использованы в main.tml - их менять нельзя.

ГГ.описание = "самый крутой герой!" //меняет описание ГГ

ГГ.по_имени = "Вас%; ЕчОд; Ип; Зп=ь; Зп=я; Ип=я; Рп=и; Дп=е; Вп=ю; Тп=ей; Пп=е;" //меняет имя ГГ

ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации

unique нож //создаем предмет
{ cls = предмет
   this.МожноВзять = да
   ГГ + this //помещаем предмет в инвентарь ГГ
}

Отредактировано ASBer (23.07.2009 15:45)

Неактивен

   #54
23.07.2009 15:50

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

вот вырезка из твоего собственного примера:

Код:

 include "std.lib\UnusVerb.tml"
 include "std.lib\Main.tml"
 include "std.lib\Map.tml"

  //отладка действий
  //осмотрел.Debug = да 
  //взял.Debug = да
  //команда.Debug = да

  //создаем тестовую локацию
  location хижина
  { cls = место
    title = "хижин%; ЖрЕчНдСи; Ип; Ип=а; Рп=ы; Дп=е; Вп=у; Тп=ой; Пп=е;"
    this.старая = "стар%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.ветхая = "ветх%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.деревянная = "деревянн%; ЖрЕчНдПи; Ип; Ип=ая; Рп=ой; Дп=ой; Вп=ую; Тп=ой; Пп=ой;"
    this.описание = "__Ветхая деревянная хижина. Все здесь очень старое, и непригодно для использования."

    unique стол
    { cls = предмет
      title = "стол%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
      this.старый = "стар%; МрЕчНдПи; Ип; Ип=ый; Рп=ого; Дп=ому; Вп=ый; Тп=ым; Пп=ом;"
      this.деревянный = "деревянн%; МрЕчНдПи; Ип; Ип=ый; Рп=ого; Дп=ому; Вп=ый; Тп=ым; Пп=ом;"
      this.описание = "{fnOписание()}"
      fnOписание()
      { if(item) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }

      counting ложка
      { cls = предмет
        title = "лож%; ЖрНдСи; ИпЕч; 
          ИпЕч=ка; РпЕч=ки; ДпЕч=ке;  ВпЕч=ку; ТпЕч=кой;  ПпЕч=ке;
          ИпМч=ки; РпМч=ек; ДпМч=кам; ВпМч=ки; ТпМч=ками; ПпМч=ках;"
        this.деревянная = "деревянн%; ЖрНдПи; Ип; 
          ИпЕч=ая; РпЕч=ой; ДпЕч=ой; ВпЕч=ую; ТпЕч=ой;  ПпЕч=ой;
          ИпМч=ые; РпМч=ых; ДпМч=ым; ВпМч=ые; ТпМч=ыми; ПпМч=ых;"
        this.МожноВзять = да
      }
      this + ложка
    }

    unique окно
    { cls = предмет
      this.предмет_по_месту = "заплетенное паутиной окно"
    }

    unique старик
    { cls = персонаж
      this.по_имени = "старик%; МрЕчОдСи; Ип; Зп=; Ип=; Рп=а; Дп=у; Вп=а; Тп=ом; Пп=е;"
    }

    this + ГГ //вводим главного героя
  }

в таком варианте она обзывает героя ГГ, а не ты
( т е если весь пример урезать до такого состояния )

// и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?
ЗЫ
не то, чтоб я настаивал на том, чтобы главгерой в локациях не упоминался, просто хочу, чтобы была возможность сделать и так и эдак- по желанию автора. конкретно в этом квесте(и в большинстве других) главгерой в описаниях локаций не упоминается

Отредактировано noname (23.07.2009 15:53)

Неактивен

   #55
23.07.2009 16:18

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

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

Re: Бета-тестирование

noname написал:

в таком варианте она обзывает героя ГГ, а не ты

Угу, но это только при первом показе так... дальше нормально показывает "ты".
Исправлю.

noname написал:

и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?

Смотри мой пост выше: ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации

Неактивен

   #56
23.07.2009 18:30

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

ок!
кста, наверное пора обменяться аськами для быстрого общения

моя= 585030964

Неактивен

   #57
23.07.2009 18:33

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

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

Re: Бета-тестирование

У меня нет аськи smile мэйл.ру-агент пойдет?

Неактивен

   #58
23.07.2009 18:38

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

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

Неактивен

   #59
23.07.2009 18:50

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

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

Re: Бета-тестирование

взял со стола ложку
осмотрел стол
надписи "на столе ничего нет" я не увидел

у меня этот баг не повторяется...
1. описание стола сделано в тесте, а не в библиотеке.
2. такое может быть, если на столе есть еще что-то невидимое smile  - объект без свойства "предмет_по_месту"
3. покажи код стола smile

Отредактировано ASBer (23.07.2009 18:59)

Неактивен

   #60
23.07.2009 19:01

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

код приведён в сообщении #121

ИМХО: необходимо разделить примеры библиотек, так как в навороченной куче всё работает, а при попытке сделать отдельно самому- нет

библиотеки- последние из выложенных здесь

Неактивен

   #61
23.07.2009 19:09

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

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

Re: Бета-тестирование

код из сообщения #121 работает правильно...

попробуй в столе заменить
      fnOписание()
      { if(item) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }
на
      fnOписание()
      { if(item:предмет_по_месту.num) return "{item:предмет_по_месту}."
        else return "на столе ничего нет"
      }

Неактивен

   #62
23.07.2009 19:31

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

теперь работает. а  с тем кодом- не работало. перепроверял.

то ли у нас разные версии библиотек, то ли у меня уже засорилась память

Неактивен

   #63
23.07.2009 19:34

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

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

Re: Бета-тестирование

Скорее стол засорился smile
поменяй на
      fnOписание()
      { if(item) return "{item}."
        else return "на столе ничего нет"
      }
и увидишь сколько там мусора smile

Неактивен

   #64
23.07.2009 20:03

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

Код:

      fnOписание()
      { if(item) return "{item}."
        else return "на столе ничего нет"
      }

ТОМ - Текстовая Основа Миростроения v.0.9.2.1 beta. ASBer(C)2008-2009
Контактный адрес - 2008_TOM@mail.ru
Введите '?', 'help' или 'помощь' для справки.

Хижина
  Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.
Здесь есть стол и заплетенное паутиной окно. ГГ находится тут и старик находится
тут.

> осм стол
?item?.

> взять ложку
Ты взял ложку со стола.

> осм стол
?item?.

>

этот пример привёл исключительно из-за того, что у моего ГГ тоже не всё как надо отображалось.
так например, один из предметов, для которого не было указано местоположения было невозможно осмотреть, так как этого предмета здесь нет, НО в инвентаре его было видно

видимо, надо перед началом игры делать какую-то читску памяти

---

с другой стороны, мож ты найдёшь другое решение проблемы

Неактивен

   #65
23.07.2009 20:08

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

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

Re: Бета-тестирование

ТОМ - Текстовая Основа Миростроения v.0.9.2.1 beta. ASBer(C)2008-2009

Последние библиотеки идут с версией v.0.9.2.2 (возьми в папке Libs4tom/Bin)

Отредактировано ASBer (23.07.2009 20:08)

Неактивен

   #66
23.07.2009 20:24

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

всё, разобрался: всё у меня было правильно распаковано, НО у меня с *.tom стояла ассоциация файлов с другим constom.exe, в другом месте, про который я уже и забыл

теперь пример из #121 работает как надо

Неактивен

   #67
23.07.2009 20:37

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

ещё вопрос:

допустим, у ГГ есть спелое аппетитное съедобное красное яблоко, и все прилагательные для яблока указаны

как сделать, что бы при осмотре инвентаря ГГ видел именно 'красное яблоко', а не просто 'яблоко'(и не какое-нить другое)

UPD

ой, что-то я ударился в усложнения. так, вопрос про яблоко пока не актуален. попробую сделать эту примитивную игруху поближе к оригиналу

UPD

щазз более актуально выкладывание предметов(просто на пол)- сразу проще будет тестировать корректность работы игрухи

Отредактировано noname (23.07.2009 21:07)

Неактивен

   #68
23.07.2009 21:55

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

как выкладывать(и обменивать) предметы- тоже разобрался

есть ещё такая непонятка:

в некоторой локации надо запретить некоторые действия(почти все). как было бы правильнее всего это сделать?

ЗЫ
разобрался почти во всём, что необходимо для этой примитивной игрушки

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

как будет готова- начну её доводить до ума, усложнять и переделывать

Неактивен

   #69
23.07.2009 22:13

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

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

Re: Бета-тестирование

noname написал:

в некоторой локации надо запретить некоторые действия(почти все). как было бы правильнее всего это сделать?

Наверное проще всего вариант "в лоб" - в каждом действии прописать проверку текущей локации.

персонаж.взял()
{ if(loc==запретная_локация)
   { %ты не можешь здесь ничего брать!
      return;
   }

   //...

}

и далее также по всем действиям...

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

Отредактировано ASBer (23.07.2009 22:18)

Неактивен

   #70
24.07.2009 22:53

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

отчёт о приблизительном времени работы над игрой:

нормальная реализация данной игры требут от 3-х до 30-ти дней упорного перевода и кодинга

я скорее всего провожусь над ней месяца 3-и ( я ж ещё по олдгамесам шарюсь и играю в тамошние игрухи регулярно )

с учётом того, что её придётся доводить до ума- думаю, в этом году успею ( впрочем, меньше чем через неделю у меня днюха, а потом- буду искать работу; с другой стороны- когда я буду работать я мож больше времени буду именно написанием квеста заниматься, чем сейчас, когда целыми днями занимаюсь всякой фигнёй) // короче буду стремиться сделать в этом году (и не просто сделать бету, НО ещё и успеть её отшлифовать обезбажить и доработать )

особых чудес от игры ждать не стоит- её все уже прошли в том или ином варианте. я делаю её в-основном ради овладения навыками кодинга в ТОМе

ЗЫ

а комнату с невозможностью выполнения почти всех действий можно ещё реализовать через меню- оставить только возможные пункты

и ещё вопрос: допустим, устройство(напр лифт) имеет 9-ть нумерованных кнопок (от 1 до 9):

игрок пишет (к примеру): езжай на 6й этаж (или езжаё на шестой этаж) - как бы сделать это в ТОМе ?

Неактивен

   #71
25.07.2009 09:33

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

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

Re: Бета-тестирование

с учётом того, что её придётся доводить до ума- думаю, в этом году успею

А можно я набьюсь в бета-тестеры? smile

В файле набросок к лифту.
P.S. есть небольшая условность - числа в команде должны быть ПЕРЕД объектом. "5 этаж" - правильно. "Этаж 5" - будет ошибка.

--------------------------------------------------------------------------------
Прикрепленные файлы:
SixFloors.tom, Размер: 1,800 байт, Скачано: 27

Отредактировано ASBer (28.07.2009 13:28)

Неактивен

   #72
25.07.2009 13:32

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

в бетатестеры, конечно можно. но- не скоро
---

немного теории

что вообще автору может быть нужно от движка?:

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

- штоп можно было сделать всё, что хочется, И штоп игра на вводимые фразы реагировала так, как хочет  именно этот автор именно в этом квесте // т е - широкие возможности использования движка

- штоп движок хорошо различала различные фразы: т е понимал отличие 'кинуть банку в коробку' от 'кинуть коробку в банку'; И особенно это актуально для обработки ошибок: напр если игрок пытается неправильно использовать известный проге глагол- автор пишет на этот случай один текст(напр подсказку по исп этого глагола), а если он пытается использовать какое-то непонятное слово(команду, судя по тому, что слово идёт в начале фразы) с известным проге предметом- автор пишет на этот случай другой текст(напр подсказку по исп предмета)
---

впрочем, пока буду делать основной 'костяк' игры

позже- обязательно нужно будет доработать, штоп она понимала все упомянутые в описаниях существительные, глаголы (и прилагательные?) И выдавала разумные ответы на любую фразу; (особенно- если фраза построена неверно- ведь в этом случае игроку необходима помощь программы)

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

Отредактировано noname (25.07.2009 13:33)

Неактивен

   #73
25.07.2009 17:59

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

в Багтрекер я тебе уже написал кое-о-чём

теперь вот что:

не нашёл, как переопределить стандартное сообщение "<предмет> не годится для этого действия."

Отредактировано noname (25.07.2009 18:00)

Неактивен

   #74
26.07.2009 15:17

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

ох блин, ежовая морковка!

не сходятся в этой игре на квадратной карте входы с выходами.

первый проект однозначно необходимо делать совместно с автором платформы

тем более, что библиотека пока в стадии разработки

- заодно будет видно, что в библиотеку следует добавить

---

в связи с этим даю объяву в разделе 'игры' с просьбой солюшенов маленьких игр:

щазз открою там тему UPD: ссылка на тему

UPD

с тебя, ASBer - библиотека, с меня- перевод и кодинг, с любителей парсерных игр- солюшен

все промежуточные результаты работы буду выкладывать на форум

Отредактировано noname (26.07.2009 15:29)

Неактивен

   #75
27.07.2009 17:41

noname
Участник (+21, -8)
Зарегистрирован: 04.04.2008
Сообщений: 717

noname

Re: Бета-тестирование

Здесь важно понимать различие: если действие даёт 2 разных результата - это 2 разных действия, даже если они используют один глагол. И описывать из нужно как 2 разных объекта

ага- понял. это как стандартное 'открыл' и особое 'открыл_фонарик'

Название объекта также является его свойством. Поэтому пример будет один

ну, щазз не буду вдаваться в уточнения, НО в более сложных квестах эта тема ещё всплывёт

UPD: жду пример :)

Отредактировано noname (27.07.2009 18:19)

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru