Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
07.01.2009 23:16

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

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

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

Бета-версия 0.9.0.0 доступна для скачивания: http://ifwiki.ru/ТОМ

В этой версии добавлено определение используемого интерфейса, что дает возможность подстраивать код игры под различные платформы (пока выбор между ТОМ-консолью и Миленой).
Добавлена функция input().

Демоигра адаптирована для проигрывания в Милене, добавлены картинки.

Весь функционал, предусмотренный для версии 1.0 разработан.
До релиза первой версии необходимо провести:
- поиск и исправление багов и глюков, полировку и доводку функционала;
- доработку демоигры про мышек;
- доработку документации;
- разработку набора примеров, полностью покрывающих функционал;
- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);
- возможно что-то еще забыл...

Отредактировано ASBer (07.01.2009 23:17)

Неактивен

   #2
08.01.2009 02:56

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

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

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

ASBer написал:

- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);

Изумлен. Это серьезно? Это возможно?

Неактивен

   #3
08.01.2009 09:32

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

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

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

Korwin написал:

ASBer написал:

- полное портирование библиотеки рТАДСа (собственной библиотеки к 1й версии не планируется);

Изумлен. Это серьезно? Это возможно?

Это трудоемко, долго и муторно, но возможно.
Обе системы - парсерные, объектноориентированные, с C++ подобным языком. Это их роднит.
Надеюсь, что портирование библиотеки в дальнейшем позволит портировать игры между платформами, а также облегчит написание игр для ТОМа авторам, имеющим опыт работы в RTADS.

Неактивен

   #4
08.01.2009 11:41

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

noname

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

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

UPD

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

Отредактировано noname (08.01.2009 12:04)

Неактивен

   #5
08.01.2009 12:06

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

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

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

noname, я постараюсь это учесть, когда начну ваять собственную библиотеку (родную для ТОМа).

Неактивен

   #6
09.01.2009 06:56

uux
Участник (+665, -38)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1535

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

noname написал:

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

noname, разные мнения есть на этот счет. Я вот считаю, что хорошо, когда возможности стандартной библиотеки шире того, что нужно в игре - ИМХО обрезАть существующие фичи гораздо проще, чем создавать недостающие.

noname написал:

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

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

Отредактировано uux (09.01.2009 06:57)

Неактивен

   #7
09.01.2009 11:10

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

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

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

noname написал:

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

Библиотеку РТАДС я постараюсь сохранить в максимально близком к оригиналу состоянии. Переделывать ее логику в мои планы не входит.
-----
  Если же рассуждать о метафизике ИЛ, то чем больше глаголов игра "понимает", тем лучше. Это производит выгодное впечатление и о игре и о платформе.
  Другое дело что умолчальные реакции на действия ИМХО должны быть максимально нейтральны, и не приводить к тупиковым состояниям.

Неактивен

   #8
01.02.2009 23:08

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

noname

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

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

если не сложно, то лучше 2-а примера: один- см выше, второй- когда каждая локация имеет уникальное имя (мой дом(на поляне) <-> цветочная поляна <-> горная тропа <-> тёмная пещера ), а перемещения осуществляются по названию локации.

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

upd

как-то я так с порога "наехал"- извиняюсь за стиль. есть желание разбираться. есть желание делать это с помощью автора платформы - не так одиноко, и меньше мозги напрягать придётся smile

upd

и ещё: как ТОМ-квесты запускать под интерфейс Милены? хотелось бы тестить свои творилова как под консольным так и под графическим интерфейсом.

Отредактировано noname (01.02.2009 23:22)

Неактивен

   #9
02.02.2009 09:34

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

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

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

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

Милена нужна версии 2.0 с последним обновлением модулей.
Библиотеру tom.dll в милене нужно заменить на свежую.
Далее в Милене: Файл->Открыть->Выбираем файлы с расширением .tom->Выбираем файл->Open
Или выбрать для открытия файлов.tom Милену как программу по умолчанию (как у меня wink ).

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

Неактивен

   #10
02.02.2009 21:24

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

noname

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

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

upd

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

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

Неактивен

   #11
02.02.2009 22:31

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

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

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

ну если совсем просто - то примерно так:

файл удален - устарел

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

Неактивен

   #12
02.02.2009 22:32

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

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

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

Перемещения в примере парсерные. Если делать на меню, как в лабиринте у мышек - будет попроще.

Неактивен

   #13
02.02.2009 22:41

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

noname

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

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

upd

Перемещения в примере парсерные. Если делать на меню, как в лабиринте у мышек - будет попроще.

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

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

Отредактировано noname (02.02.2009 23:49)

Неактивен

   #14
03.02.2009 09:22

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

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

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

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

>с по-возможности полным контролем над вводом игрока: сколько слов ввёл? какие конкретно? в каком порядке?
- смотри глобальную переменную token[]

>в каких формах
- для объектов, возвращаемых парсером, смотри свойство .key

>решил использовать в своём творилове только простые фразы- без связок 'и'
- связки 'и' сейчас сделать крайне затруднительно, это появится только во 2й версии.

>постараюсь сделать хотя бы одну команду с большим(3-и или более) кол-вом аргументов.
- а вот это как раз без проблем. smile

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

Неактивен

   #15
03.02.2009 21:34

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

noname

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

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

upd

вопрос такой:

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

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

хотелось бы мини-микро-примерчик на эту тему, или просто отрывок- что нужно вставить в пример с локациями, что бы это работало

upd

насчёт вложенных локаций: универсальную команду "выйди[из локации]" сделать легко, насчёт "войти в локацию" - чуток посложнее. нужно вводить именованные входы. пока отложил это дело.

хотел сделать пример, похожий на мой с РТАДСа, и заметил такую заморочку: ДО объявления объекта ссылаться на него- некорректно.

т е

location a1.cls=место
  .север    = a2
  .восток   = b1
  .описание = "моя первая локация"
location b1.cls=место
  .север    = b2
  .запад    = a1
  .описание = "комната для роботов, которым нечем заняться"
location a2.cls=место
  .юг       = a1
  .восток   = b2
  .описание = "мой первый объект"
location b2.cls=место
  .запад    = a2
  .юг       = b1
  .описание = "цветовой код открывает дверь"

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

upd

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

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

Неактивен

   #16
04.02.2009 08:33

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

noname

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

unique сейф
  .title="сейф%; НдМр; ИпЕч //неодуш, мужск род, именит падеж, ед число
  ИпЕч=; РпЕч=ов; ДпЕч=ам; ВпЕч=ы; ТпЕч=ами; ПпЕч=ах"
  .lex = .title
  .описание="Надёжный сейф."

unique ты
  ........................................................
  .осмотреться()
  {
   %<location>
   %{actor.loc.title}</location>
   %{actor.loc.описание}
  }
  .осмотреть(obj)
  {
  %obj.описание
  }

action осмотреться
  .pat = "осмотреться=осмотрись"

action осмотреть
  .pat = "осмотреть=осмотри @объект:описание*Вп" //вначале писал просто "осмотреть=осмотри @объект", потом- скопировал с мышек

пишу "осмотреть сейф", выдаёт: "слово <сейф> мне не известно". хм.. а после чего слово становится известно?

Неактивен

   #17
04.02.2009 08:51

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

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

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

В .title сейфа были ошибки:

unique сейф
  .title="сейф%; НдМр; ИпЕч; //неодуш, мужск род, именит падеж, ед число
  ИпЕч=; РпЕч=a; ДпЕч=у; ВпЕч=; ТпЕч=ом; ПпЕч=е"
  .lex = .title
  .описание="Надёжный сейф."

и далее...

unique ты
  ........................................................
  .осмотреться()
  {
   %<location>
   %{actor.loc.title}</location>
   %{actor.loc.описание}
  }
  .осмотреть(obj)
  {
  %{obj.описание}
  }

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

Неактивен

   #18
04.02.2009 09:12

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

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

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

noname пишет:

редактирую в обычном блокноте.

-  и я тоже smile

заметил такую заморочку: ДО объявления объекта ссылаться на него- некорректно.

- Да, конечно. ТОМ - это однопроходный интерпретатор. Но есть предопределение объектов:

location a1
location a2
location a3

и далее...

location a1
  .описание локации a1
  ...
location a2
  .описание локации a2
  ...
location a3
  .описание локации a3
  ...

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

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

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

Неактивен

   #19
04.02.2009 09:22

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

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

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

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

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

хотелось бы мини-микро-примерчик на эту тему

Вообще здесь стандартное ООП. Переопределение методов, и вызовы методов классов работают как и везде. Не совсем понял проблему... можно поподробнее?

дополнение:
Хотя небольшой примерчик по функциям и методам действительно лишним не будет. smile

дополнение:
Добавил в пример входы-выходы и команды войти-выйти

Отредактировано ASBer (04.02.2009 10:41)


Прикрепленные файлы:
СЮЗВ.tom, Размер: 3,086 байт, Скачано: 390

Неактивен

   #20
04.02.2009 20:25

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

noname

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

ОК!
1. с сейфом действительно лажанулся- там до сейфа были кусты. недопеределал.
2. %{obj.описание} - фигурные скобки позволяют вставлять выражения в оператор вывода?
3. предопределение спасает дело. возможно, для больших квестов, такая 'строгость' сыграет положительную роль.
4. готов ли полный список служебных слов? хорошо бы найти редактор, аналогичный блокноту, но в котором можно их подцвечивать. где-то на форуме упоминали "блокнот++"
5.

Мой дом
Тут тепло и уютно.. На восток выходит деревянная дверь.
> выйти

Цветочная поляна
Тут красиво! На западе поляны стоит симпатичный домик. На севере видна тропа,
уходящая в горы.
> войди в дом

Это предложение непонятно!
> войди в домик

Это предложение непонятно!
> войди

Мой дом
Тут тепло и уютно.. На восток выходит деревянная дверь.
>

поясняю сложность с командой 'войди' : из одной и той же локации могут быть входы в различные другие локации. и даже если вход всего один, то и тогда команда 'войди' без параметра, кажется мне не совсем 'красивой'. таким образом реализация команды 'войди' тесно связана с реализацией переходов по названиям локаций: 'иди в дом', 'войди в дом'... впрочем, кое-что полезное из примера СЗЮВ.tom я-таки вынес.
6. сложность с выводом описания и по входу и по 'осмотреться' была в том, что функция не работала. щазз попробую ещё раз- с фигурными скобками там, где надо, и с предопределением, если понадобится.

Неактивен

   #21
04.02.2009 21:48

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

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

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

2. %{obj.описание} - фигурные скобки позволяют вставлять выражения в оператор вывода?

Фигурные скобки позволяют вставлять выражения в любую строку. Так как все что справа от оператора % это строка, то и в оператор вывода тоже.

4. готов ли полный список служебных слов?

Практически все служебные слова перечислены в Вике на страничке ТОМ: язык программирования. Правда пока не все описаны...

хорошо бы найти редактор, аналогичный блокноту, но в котором можно их подцвечивать.

Думаю пойдет любой редактор с подсветкой синтаксиса Си.

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

Добавить параметры в команды совсем не сложно, но тогда для всех входов-выходов будут нужны .title и .lex, и желательно с синонимами. Но так будет правильно.

Отредактировано ASBer (04.02.2009 21:50)

Неактивен

   #22
05.02.2009 11:54

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

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

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

Eten написал:

Хороший редактор с подсветкой СИ и прочих языков - Bred3.

Скачал, посмотрел - в целом  понравилось.
но
- разбираться с подсветкой придется долго и серьезно.
- даже просто скопировать подсветку с .cpp на .tom не получилось получилось smile
- подсветка СИ к ТОМу подходит лишь отчасти, в некоторых местах подсвечивается как ошибки.

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

Неактивен

   #23
05.02.2009 16:11

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

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

Могу порекомендовать Notepad++, сам пользуюсь. Подсветку синтаксиса придётся делать самому для любого редактора.

Отредактировано Gremour (05.02.2009 16:12)

Неактивен

   #24
05.02.2009 16:58

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

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

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

2Korwin: я еще настройку синтаксиса поковыряю, и выложу. Пока еще сыро.

2Gremour: спасибо, посмотрю!

Неактивен

   #25
05.02.2009 19:28

Eten
Участник (+8, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1417
Вебсайт

---

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

ASBer, возьми любой файл с подсветкой и глянь че у них там по написано. Методом проб и ошибок дойдешь. К тому же это не так сложно, т.к. видел не раз такие файлы у других разработчиков своих прог со скриптовыми языками.

Ах да, чуть не забыл. Этот плагин клорер используется не только в этом редакторе, так что ты себе облегчишь труд если не на все 100%, то хотя бы на 50%.

Отредактировано Eten (05.02.2009 19:29)

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru