Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
24.03.2008 13:58

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

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

Выложил альфа-версию

С момента публикации альфы прошло много времени. Платформа была полностью переработана.
Все примеры в этой ветке недействительны, а прикрепленные файлы окончательно устарели!


Версия 0.2.0.0 alpha
http://www.filehoster.ru/files/r4553 (всего 36 закачек.)
В файле проигрыватель + демоигра.
И то и другое все еще "сыровато", прошу больно не бить.
----------------------
Версия 0.2.1.0 alpha
http://www.filehoster.ru/files/r9252 - проигрыватель+демоигра.
http://www.filehoster.ru/files/r9256 - исходники проигрывателя (front-end)
Версия 0.2.1.1 alpha (bug-fix)
http://www.filehoster.ru/files/r9661 - 13 закачек - проигрыватель+демоигра.
http://www.filehoster.ru/files/r9662 - 6 закачек - исходники проигрывателя
Версия 0.2.1.2 alpha (bug-fix)
плеер+демоига
исходники оболочки

----------------------
Версия 0.2.2.0 alpha
проигрыватель+демоигра
исходники консольного проигрывателя

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

Неактивен

   #2
24.03.2008 16:16

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 107

Re: Выложил альфа-версию

Несомненно проделана большая работа, получен бесценный опыт в разработке трансляторов и т.д., но, ИМХО, целесообразность разработки вызывает
... двух-страничный флуд...

несмотря на то, что преследовались...
...тот же флуд в обличии аргументов...  

разработка стандартной библиотеки - не менее...
...рассуждения о необдуманных разработках....

до разработки платформы неплохо бы написать пару...
...много букоф....

З.Ы.
Тем не менее интересны подробности проектирования и реализации smile На чем все это писалось (язык, среда, инструментальные средства), какая часть системы оказалась наиболее трудоемкой и т.д.

Отредактировано Gesperid (24.03.2008 16:22)

Неактивен

   #3
24.03.2008 16:35

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

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

Re: Выложил альфа-версию

Gesperid написал:

разработка стандартной библиотеки - не менее...

в процессе...

Gesperid написал:

З.Ы.
Тем не менее интересны подробности проектирования и реализации smile На чем все это писалось (язык, среда, инструментальные средства), какая часть системы оказалась наиболее трудоемкой и т.д.

C++, Borland Builder(без использования VCL).
Наиболее трудоемким традиционно является парсер (в альфа версии парсера практически нет, он все еще в разработке).

Отредактировано ASBer (24.03.2008 16:37)

Неактивен

   #4
24.03.2008 16:56

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

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

Re: Выложил альфа-версию

A игрушка-то кстати, симпатичная. Милая такая, судя по тексту. В общем, респект.

Неактивен

   #5
24.03.2008 17:12

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 107

Re: Выложил альфа-версию

ASBer написал:

Наиболее трудоемким традиционно является парсер (в альфа версии парсера практически нет, он все еще в разработке).

Уже давно (лет 20-30) как не традиционно, если ты под парсером понимаешь синтаксический анализатор (СА), конечно. А вообще, рекомендую не писать СА с нуля, а погуглить на предмет генераторов - Coco\R, ANTLR, Flex & Bison, etc.

З.Ы.
Демо и в самом деле приятное smile

Неактивен

   #6
24.03.2008 17:18

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

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

Re: Выложил альфа-версию

Gesperid я имел ввиду анализ команд на естественном (русском) языке.
С синтаксическим анализатором я на мой взгляд справился, но за наводки большое спасибо, обязательно поинтересуюсь.

Неактивен

   #7
25.03.2008 13:24

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

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

Re: Выложил альфа-версию

Потестил игру и движок:

Достоинства:

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

Можно сделать по другому или лучше:

1. Текст вплотную прижимается к краям, слова переносятся не по правилам переноса и не целиком - читать неудобно.
2. Прокрутки нет, когда свойства окна делаешь по размеру экрана, - бог с ним, но нет возможности выделить и сохранить/скопировать текст
3. Мама-мышь почему-то пишется без дефиса: "мама мышь"

Неактивен

   #8
25.03.2008 14:14

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

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

Re: Выложил альфа-версию

Korwin написал:

Потестил игру и движок:

Огромное Спасибо! Очень нужен взгляд со стороны, у самого уже "глаз замылился".

Korwin написал:

... но код относительно понятен... хотя не вполне... Вроде бы это ООП, а не  процедурный язык, верно?

Это ООП, хотя местами неклассический. Постараюсь документироваться к бете.

Korwin написал:

2. функции на русском языке... надо посмотреть надо ли переключать раскладку при написании...

Имена объектов, свойств и методов могут быть как на английском, так и на русском. Ключевые слова также будут иметь русские синонимы (сейчас только частично). Раскладку переключать надо. На русской раскладке слишком уж беден набор символов.

Korwin написал:

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

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

Korwin написал:

2. Прокрутки нет, когда свойства окна делаешь по размеру экрана, - бог с ним, но нет возможности выделить и сохранить/скопировать текст

Посмотрю, но не уверен что здесь можно что-то сделать - консоль стандартная -виндузовая.

Korwin написал:

3. Мама-мышь почему-то пишется без дефиса: "мама мышь"

Ок. Исправлю. smile

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

Неактивен

   #9
25.03.2008 19:21

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

---

Re: Выложил альфа-версию

но нет возможности выделить и сохранить/скопировать текст

Открываешь консоль, нажимаешь левой кнопкой (одним кликом) на иконку программы в окне. Потом выбираешь пункт "Изменить->Выделить все" и
"Изменить->Копировать". После этого, открываешь Word и вставка. Это все, что можно сделать используя видовскую консоль, увы но это так. tongue

Неактивен

   #10
26.03.2008 05:27

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

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

Re: Выложил альфа-версию

Не знал! Eten, спасибо! Правда, нет ничего невозможного! smile

2ASBer : можно, наверное, сделать какое-то отключаемое форматирование текста, чтобы перенос делался по словам, а не где попало?

Отредактировано Korwin (26.03.2008 05:28)

Неактивен

   #11
26.03.2008 07:03

Owl Wilson
Участник
Откуда: Сургут
Зарегистрирован: 24.07.2007
Сообщений: 31
Вебсайт

Re: Выложил альфа-версию

ASBer написал:

http://www.filehoster.ru/files/r4553
В файле проигрыватель + демоигра.

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

Неактивен

   #12
26.03.2008 09:19

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

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

Re: Выложил альфа-версию

2Korwin Переносы слов давно в плане проекта. Обязательно сделаю! smile (сделано)
2Owl Wilson С выбором файла некоторые затруднения... sad
Варианты:
1. передавать имя файла в командной строке параметром. (сделано)
2. открывать файл через стандартное диалоговое окно выбора файла. (сделано)
3. открывать файл специальной командой в консоли с набором вручную.

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

возможно есть еще варианты?

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

Неактивен

   #13
26.03.2008 10:48

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

---

Re: Выложил альфа-версию

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

Вопрос: а есть ли в команде # <текст> возможность не писать весь текст в одну строку, а писать в несколько строк?  Или у тебя одна команда равно одной строке?

З.Ы.
Учти, высказал свое мнение основываясь на собственных знаниях и информации в твоем архиве.wink

Неактивен

   #14
26.03.2008 11:30

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

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

Re: Выложил альфа-версию

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

2. можно использовать формат:
#{"текст
текст
текст"}


хотя проще писать:
#текст
#текст
#текст

результат будет тот же.

Отредактировано ASBer (26.03.2008 11:33)

Неактивен

   #15
27.03.2008 22:48

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

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

Re: Выложил альфа-версию

Версия 0.2.1.0 alpha
http://www.filehoster.ru/files/r9252 - проигрыватель+демоигра.
http://www.filehoster.ru/files/r9256 - исходники проигрывателя (front-end)
----------------------------------------------------
Спрятал движок в .dll-ку. Консольный проигрыватель выложил в виде исходников (C++ Borland Buider 6).
Сделал перенос слов и загрузку файла по параметру из командной строки.

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

Неактивен

   #16
28.03.2008 06:28

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

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

Re: Выложил альфа-версию

ASBer написал:

Версия 0.2.1.0 alpha
http://www.filehoster.ru/files/r9252 - проигрыватель+демоигра.
http://www.filehoster.ru/files/r9256 - исходники проигрывателя (front-end)
----------------------------------------------------
Спрятал движок в .dll-ку. Консольный проигрыватель выложил в виде исходников (C++ Borland Buider 6).
Сделал перенос слов и загрузку файла по параметру из командной строки.

ASBer, программа требует CC3260MC.dll и без нее не работает у меня. Но!

Нашел, скачал. Ругается, что данная dll не является приложением Windows NT. (У меня XP, но дуцмаю, не в этом дело.)

В общем, что делать?

Неактивен

   #17
28.03.2008 06:55

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

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

Re: Выложил альфа-версию

упс, ушел разбираться.
с CC3260MC.dll понятно, недосмотрел...
про Windows NT пока не понятно, у меня работает на Viste и на XP...

Неактивен

   #18
28.03.2008 10:23

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

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

Re: Выложил альфа-версию

Версия 0.2.1.1 alpha (bug-fix)
http://www.filehoster.ru/files/r9661 - проигрыватель+демоигра.
http://www.filehoster.ru/files/r9662 - исходники проигрывателя
Перекомпилировал файл TQ_front.exe - борландовские .dll больше не нужны. smile
Попутно исправил ошибку в переносе слов.
Проверил все на чистой машине под Win XP - работает!

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

Неактивен

   #19
28.03.2008 22:11

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

---

Re: Выложил альфа-версию

Вопрос без корыстного умысла. А исходники движка будут выложены?wink

Неактивен

   #20
29.03.2008 06:46

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

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

Re: Выложил альфа-версию

пока не планирую smile

Неактивен

   #21
31.03.2008 06:18

Owl Wilson
Участник
Откуда: Сургут
Зарегистрирован: 24.07.2007
Сообщений: 31
Вебсайт

Re: Выложил альфа-версию

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

мышонок> осмотреть стол
Типичная обстановка обычного мышиного домика.

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

Неактивен

   #22
31.03.2008 09:10

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

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

Re: Выложил альфа-версию

Owl Wilson написал:

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

Да и я тоже склоняюсь к меню. Сделаю. (сделано)
Псевдографику делать сложнее, да и полный изврат это на мой взгляд.

Owl Wilson написал:

Теперь по существу движка :

мышонок> осмотреть стол
Типичная обстановка обычного мышиного домика.

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

В данном случае движок нашел объект "Мебель" и вывел его описание. Описание локации выводится по команде "осм", "осмотреться", "осмотреть комнату".

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

Неактивен

   #23
31.03.2008 17:41

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

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

Re: Выложил альфа-версию

Принципы формирования согласованного текста (часть 1)

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

Примеры:
var X= «X={2+3}»
результат: переменная X содержит строку «X=5»

#{2+3}
результат: на экран выведено сообщение – 5

#у тебя {2+3} яблок.
результат: на экран выведено – у тебя 5 яблок.

Выражения, помимо операций над числами или строками, могут содержать два специальных оператора для согласования объектов (или аспектов объектов).

Оператор «*» производит согласование объект по согласующему ключу. Согласующий ключ может быть указан явно, или получен из объекта (или его аспекта). Результатом действия оператора является строка с требуемой формой.

Пример:
#у {Вася*Рп} {2+3} яблок.
результат: на экран выведено – у Васи 5 яблок.
«Рп» здесь – явно указанный согласующий ключ.
У объекта «Вася» должен быть определен аспект по умолчанию – title:
Вася.title = «Вас%;; Ип; Ип=я; Рп=и; Дп=е; Вп=ю; Тп=ей; Пп=е;»

Оператор «:» указывает что свойство объекта используется как аспект.
Пример:
var X= «у {Вася:ФИО*Рп} {2+3} яблок.»
результат: переменная X содержит строку – «у Василия Ивановича 5 яблок.»
«Вася:ФИО» здесь – аспект объекта «Вася»

Согласующий ключ
Представляет собой строку примерно такого формата: «ИпЕчОд».
(расшифровывается как «именительный падеж единственного числа, одушевленное»)
Четные знаки в ключе именуют параметры ключа (падеж, число, одушевленность), нечетные – являются значениями параметров (Именительный, Единственное, Одушевленное). Порядок следования параметров в ключе неважен.
Имена параметров ключей и их значения задаются в тексте программы при описании объектов и независимы от устройства проигрывателя. Т.е. при отказе от стандартной библиотеки автор свободен выбрать свою собственную систему согласования (исключением является параметр «ч», так как он зависим от числа объекта и жестко задан в коде проигрывателя).

В случае использования нескольких ключей, приоритет имеет ключ, расположенный левее:

Пример:
Выражение Об:Асп*Ип*РпЕч*ВпМчНд эквивалентно выражению Об:Асп*ИпЕчНд.

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

Неактивен

   #24
04.04.2008 04:55

Dimouse
Участник (+1)
Откуда: Moscow
Зарегистрирован: 09.12.2007
Сообщений: 63
Вебсайт

Oldskool still rule!

Re: Выложил альфа-версию

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

Очень порадовала идея о том что персонажи перемещаются по локациям и от этого что-то зависит.

Неактивен

   #25
04.04.2008 09:23

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

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

Re: Выложил альфа-версию

Dimouse написал:

Очень милая игрушка, мне понравилась!

Сенкс! smile

Dimouse написал:

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

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

Dimouse написал:

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

- exit или quit.
Слово "выход" и прочие русские команды в оболочке не использую, т.к. они, возможно, могут быть использованы авторами в играх.
В следующей версии будет файлик с краткой помошью по командам оболочки. (сделано)

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

Неактивен

   #26
04.04.2008 10:29

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

Тон

Re: Выложил альфа-версию

Пример:
Выражение Об:Асп’Ип’РпЕч’ВпМчНд эквивалентно выражению Об:Асп’ИпЕчНд.

А вот автор игры не задолбается ли переключать раскладку? Это же касается всяких # и {}... Если игра небольшая, то не так напряжет, но при написании больших объемов кода будет напрягать неимоверно, имхо.

Неактивен

   #27
04.04.2008 11:59

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

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

Re: Выложил альфа-версию

fireton написал:

А вот автор игры не задолбается ли

' вероятно можно заменить на *. (сделано)
а вот как без фигурных скобок обойтись... ф.з. smile

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

Неактивен

   #28
04.04.2008 12:02

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

Тон

Re: Выложил альфа-версию

а вот как без фигурных скобок обойтись... ф.з.

Можно использовать двойные символы. "((" и "))". Кстати, "#" можно заменить на ".." или "::"...

Неактивен

   #29
04.04.2008 16:03

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

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

Re: Выложил альфа-версию

!"№;%:?*()-_+=/,.
Вот собственно все знаки, доступные на русской раскладке.
Если попытаться обойтись только этим комплектом - это очень сильно снизит читабельность кода игры (авторы задолбаются в коде разбираться).
Максимум что можно сделать - максимально часто использовать эти знаки в синтаксисе, особенно, в часто используемых и многократно повторяющихся конструкциях.
Т.е. переключения раскладки можно значительно сократить, но никак не исключить полностью.

Неактивен

   #30
07.04.2008 17:05

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

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

Re: Выложил альфа-версию

Версия 0.2.1.2 alpha (bug-fix)
плеер+демоига
исходники оболочки
Основные изменения произошли в движке и интерфейсе. Сама демка почти не изменилась.

Основные изменения:
- сделана загрузка произвольного файла по команде run или start. (правда при открытии окна диалога осталась непобежденная коряфка sad );
- добавил хелп (команда ? или help);
- добавлена функция автоматического форматирования текста;
- исправлено огромное количество ошибок (и вероятно добавлены новые).

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

Неактивен

   #31
07.04.2008 18:14

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

noname

Re: Выложил альфа-версию

пока что сыровато

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

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

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

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

Неактивен

   #32
07.04.2008 18:32

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

noname

Re: Выложил альфа-версию

ага у тебя хорошо прописана работа с горохом, т е с нумерованными объектами
неплохо...

а возможно ли такой квест на РТАДСе исхитриться сделать?
вероятно, прийдётся каждому месту, где может лежать горох (в том числе и инвентарям персонажей) добавлять переменную- кол-во гороха. далее, переписать вывод описаний на экран с учётом того, где может быть рассыпан горох, и функции взять/выложить.

вот интересно, а можно ли не создавать заранее гороховую переменную во всех локациях в РТАДСе, а создавать её (либо запускать конструктор объекта горох) в любой локации непосредственно после того, как горох будет там просыпан?

Неактивен

   #33
07.04.2008 18:39

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

Re: Выложил альфа-версию

noname написал:

вот интересно, а можно ли не создавать заранее гороховую переменную во всех локациях в РТАДСе, а создавать её (либо запускать конструктор объекта горох) в любой локации непосредственно после того, как горох будет там просыпан?

ООП, батенька. ;)

Неактивен

   #34
07.04.2008 21:15

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

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

Re: Выложил альфа-версию

хорошо бы "Краткая справка по командам оболочки"выдавалась при старте игры
- легко smile (сделано)

набрал осмотреться
а где выходы?
как их увидеть?
- а вот это дельное замечание! буду думать как сделать. (сделано)

а сзюв не работает?
- если в локацию добавить выходы "Север","Запад","Юг","Восток" - сзюв будет работать smile

вопрос: почему мама-мышь видна и в домике и во дворе?
- внимательнее отслеживай сообщения, мама-мышь может перемещаться сразу же следом за тобой.

и ещё: попытка хорошая. очень. НО чем твоя оболочка лучше РТАДСа?
- сейчас она значительно ХУЖЕ РТАДСа! (на то она и альфа). В потенциале она лучше тем что русский язык для неё родной. Даже сейчас парсер принимает только синтаксически правильные команды - нельзя "осмотреть мышью".

ага у тебя хорошо прописана работа с горохом, т е с нумерованными объектами
неплохо...
а возможно ли такой квест на РТАДСе исхитриться сделать?
- можно, там вроде бы специальное свойство у объектов есть, чтобы определять их как счетные. Но вот насколько правильно там работает "взять 2 монеты", "взять 5 монет" я незнаю... wink

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

Неактивен

   #35
07.04.2008 22:25

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

Re: Выложил альфа-версию

ASBer написал:

- можно, там вроде бы специальное свойство у объектов есть, чтобы определять их как счетные. Но вот насколько правильно там работает "взять 2 монеты", "взять 5 монет" я незнаю... wink

Нормально работает;).

Неактивен

   #36
07.04.2008 22:56

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

noname

Re: Выложил альфа-версию

ООП, батенька. wink

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

Нормально работает;).

означает ли это, что на РТАДСе можно сделать квест, полностью идентичный этим мышам?

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

Неактивен

   #37
07.04.2008 23:17

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

Re: Выложил альфа-версию

noname написал:

ООП, батенька. ;)

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

Можно. Называется "динамическое создание объектов", в пятой главе мануала (пока доступна только на английском). См. подраздел Dynamic Object Creation, оператор new.

noname написал:

Нормально работает;).

означает ли это, что на РТАДСе можно сделать квест, полностью идентичный этим мышам?

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

Про спички - это только один возможный вариант (просто такой подход проще реализовать. Кроме того, я подозреваю, что на тот момент, когда эта глава оригинального английского мануала писАлась, в TADS действительно не было соответствующей функциональности). В той же пятой главе см. раздел Indistinguishable Objects. Кроме того, читайте в главе Более сложные приемы синтаксического анализа, раздел "Неразличимые объекты".

Неактивен

   #38
08.04.2008 15:00

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

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

Re: Выложил альфа-версию

про столб, провод и веревку

Код:

unique вязальщик_столбов
.title="%; МрЕч; Ип; Ип=ты; Рп=себя; Дп=себе; Вп=себя; Тп=собой; Пп=себе"
.lex = "%; МрЕч; Ип; Ип=ты; Рп=себя; Дп=себе; Вп=себя; Тп=собой; Пп=себе"
pers=вязальщик_столбов

unique провод
.title="провод%; МрЕч; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е"
.lex = "провод%; МрЕч; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е"

unique веревка
.title="веревк%; ЖрЕч; Ип; Ип=а; Рп=и; Дп=е; Вп=у; Тп=ой; Пп=е"
.lex = "веревк%; ЖрЕч; Ип; Ип=а; Рп=и; Дп=е; Вп=у; Тп=ой; Пп=е"

unique столб
.title="столб%; МрЕч; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е"
.lex = "столб%; МрЕч; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е"

global.Привязать(Нечто,Чемто,КЧемуто)
{ #Ура! ты привязал {Нечто*Вп} к {КЧемуто*Дп} {Чемто*Тп}!}

pattern(привязать {@Нечто*Вп} {@Чемто*Тп} к {@КЧемуто*Дп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Нечто*Вп} к {@КЧемуто*Дп} {@Чемто*Тп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Чемто*Тп} {@Нечто*Вп} к {@КЧемуто*Дп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Чемто*Тп} к {@КЧемуто*Дп} {@Нечто*Вп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать к {@КЧемуто*Дп} {@Нечто*Вп} {@Чемто*Тп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать к {@КЧемуто*Дп} {@Чемто*Тп} {@Нечто*Вп})
{ Привязать(Нечто,Чемто,КЧемуто) }
"привязать"="привяжи"="прикрутить"="прикрути"="пришпандорить"="пришпандорь"

- скопировать в файл, открыть в проигрывате - и привязывайте что хотите, чем хотите и к чему хотите smile

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

Неактивен

   #39
08.04.2008 18:53

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

noname

Re: Выложил альфа-версию

global.Привязать(Нечто,Чемто,КЧемуто)
{ #Ура! ты привязал {Нечто*Вп} к {КЧемуто*Дп} {Чемто*Тп}!}

pattern(привязать {@Нечто*Вп} {@Чемто*Тп} к {@КЧемуто*Дп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Нечто*Вп} к {@КЧемуто*Дп} {@Чемто*Тп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Чемто*Тп} {@Нечто*Вп} к {@КЧемуто*Дп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать {@Чемто*Тп} к {@КЧемуто*Дп} {@Нечто*Вп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать к {@КЧемуто*Дп} {@Нечто*Вп} {@Чемто*Тп})
{ Привязать(Нечто,Чемто,КЧемуто) }
pattern(привязать к {@КЧемуто*Дп} {@Чемто*Тп} {@Нечто*Вп})
{ Привязать(Нечто,Чемто,КЧемуто) }

ну что ж, код краток и интересен.
а сколько аргументов(максимум) может быть у команды ?
а можно ли задавать свои сообщения об ошибках (подсказки) ?
и вот ещё ВОПРОС: думал ли о диалогах?
p.s.
заинтересовал, однако...
p.p.s.
можно ли по ходу игры создавать ещё объекты, комнаты, персонажей?

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

Неактивен

   #40
08.04.2008 19:57

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

меньше слов

Re: Выложил альфа-версию

В ТАДСе тоже можно сделать хак, разбивающий команду из трех объектов в два приложения (привязать провод веревкой к столбу=> привязать провод к веревке и привязать веревку к столбу). Не очень сложно.
Стандартной возможности в классических системах не заложено потому, что уж очень усложняется код. Тут и с двумя мучаются, а уж стремя вообще лучше сразу "привязать веревкой шею к ветке. Спрыгнуть с ветки."

Интересно посмотреть на обработчики всех случаев, когда какой-либо из объектов не подходит.

Неактивен

   #41
08.04.2008 20:26

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

noname

Re: Выложил альфа-версию

интересно, что интерпретёр Асбера нормально понимает букву Ё

если б он не сказал ' слово верёвка мне неизвестно ' я б на это и не обратил внимания...

привлекает краткость кода, для больших проектов это важно

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

и ещё:
как присоединять файлы?
ясно, что в большом проекте удобнее делать много файлов.
и тем более удобно выделить в отдельный файл описанные команды.

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

а как насчёт команд типа: Сеня, возьми мяч и т п ?

Неактивен

   #42
08.04.2008 21:26

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

Re: Выложил альфа-версию

noname написал:

интересно, что интерпретёр Асбера нормально понимает букву Ё

если б он не сказал ' слово верёвка мне неизвестно ' я б на это и не обратил внимания...

Не для того, чтобы принижать достоинства платформы ASBer'а или выгораживать TADS, а только в целях восстановления исторической справедливости: в RTADS от "правильного понимания буквы Ё" отказались сознательно, для упрощения задания лексических свойств (иначе для любого слова, содержащего букву Ё, необходимое число свойств удваивается... а если таких букв в слове - не одна?) Чтобы восстановить распознавание буквы Ё, достаточно найти в advr.t функцию preparse и закомментить вызов функции "обезъёживания" следующим образом:

Код:

      // comStr:=dezyo(comStr);

Отредактировано uux (08.04.2008 21:27)

Неактивен

   #43
08.04.2008 21:38

Flint
Участник
Зарегистрирован: 06.09.2007
Сообщений: 148

---

Re: Выложил альфа-версию

GrAndrey написал:

"привязать веревкой шею к ветке. Спрыгнуть с ветки."

Как же я смеялся! :-D
Четко подмечено!

Отредактировано Flint (08.04.2008 21:39)

Неактивен

   #44
08.04.2008 23:23

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

noname

Re: Выложил альфа-версию

закомментить вызов функции "обезъёживания" следующим образом

меня вполне устроит,  если интерпретатор будет воспринимать 'верёвку' и не ругаться на букву Ё.
так что вариант РТАДСа меня вполне устраивает.
думаю, что и AsBer-у стоит так сделать- головняка авторам поубавится.

Неактивен

   #45
09.04.2008 08:57

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

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

Re: Выложил альфа-версию

Flint написал:

GrAndrey написал:

"привязать веревкой шею к ветке. Спрыгнуть с ветки."

Как же я смеялся! :-D
Четко подмечено!

Также смеялсо - уронил себя под стол! smile

Неактивен

   #46
09.04.2008 09:18

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

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

Re: Выложил альфа-версию

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

а можно ли задавать свои сообщения об ошибках (подсказки) ?
- в текущей версии нельзя, но есть в планах.(сделано)

и вот ещё ВОПРОС: думал ли о диалогах?
- думал. пока не реализовано.

можно ли по ходу игры создавать ещё объекты, комнаты, персонажей?
- создавать можно, удалять нельзя smile

интересно, что интерпретёр Асбера нормально понимает букву Ё
- спасибо за найденную несуразность, это легко поправимо smile (сделано)

как присоединять файлы?
- команда include "FileName" - можно посмотреть в демке, которая состоит из 3х файлов.

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

а как насчёт команд типа: Сеня, возьми мяч и т п ?
- это будет. Не так как в РТАДСе, но будет smile

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

Неактивен

   #47
09.04.2008 10:01

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

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

Re: Выложил альфа-версию

GrAndrey написал:

В ТАДСе тоже можно сделать хак, разбивающий команду из трех объектов в два приложения (привязать провод веревкой к столбу=> привязать провод к веревке и привязать веревку к столбу). Не очень сложно.
Стандартной возможности в классических системах не заложено потому, что уж очень усложняется код. Тут и с двумя мучаются, а уж стремя вообще лучше сразу "привязать веревкой шею к ветке. Спрыгнуть с ветки."

Интересно посмотреть на обработчики всех случаев, когда какой-либо из объектов не подходит.

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

Я в свое время намаялся в "Оружии Ли Гуана" с соединением частей оружия в одно целое...

Неактивен

   #48
09.04.2008 10:03

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

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

Re: Выложил альфа-версию

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

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

Неактивен

   #49
09.04.2008 10:50

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

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

Re: Выложил альфа-версию

GrAndrey написал:

Интересно посмотреть на обработчики всех случаев, когда какой-либо из объектов не подходит.

Согласен, тут есть над чем подумать! Беру таймаут до выхода следующей версии. smile или ищите меня на ветке..

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

Неактивен

   #50
09.04.2008 10:51

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

noname

Re: Выложил альфа-версию

уж это-то мы в курсе.

прослеживается такая закономерность:
через какое-то время после того, как некто начинает писать нечто привлекательное

он или исчезает или забрасывает свой проект.

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

Неактивен

   #51
09.04.2008 12:00

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

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

Re: Выложил альфа-версию

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

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

Неактивен

   #52
09.04.2008 18:42

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

noname

Re: Выложил альфа-версию

скачал- посмотрим...
неужели русская платформа не за горами?

Неактивен

   #53
22.04.2008 14:11

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

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

Re: Выложил альфа-версию

Версия 0.2.2.0 alpha
проигрыватель+демоигра
исходники консольного проигрывателя

Основные изменения произошли в парсере, изменен формат описания действий.

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

Неактивен

   #54
23.04.2008 11:00

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

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

Re: Выложил альфа-версию

Формат описания действия
Для описания действий создана специальная категория объектов action (действие).
Пример:
действие осмотреть
.шаблон="осмотреть=осмотри=оглядеть=огляди=осм @Объект:description*Вп"
.шаблон="посмотреть на @ Объект:description*Вп"
.Проверка(Актер, Объект_место, Объект){
  if(!Объект.Внешнее & Объект_место!= Актер & Объект_место!= Актер.loc) "{ Объект *Рп} не видно."
}

Объект «действие» содержит шаблоны и проверки.
Шаблоны задаются присвоением строки специальному свойству - .шаблон="строка шаблона"
Строка шаблона состоит из константных слов и переменных.
Для переменных задается класс или свойство, которым должен обладать объект и грамматическая форма, в которой должно находиться слово в команде.
Все методы объекта «действие» являются проверками и вызываются парсером в процессе анализа команды.

Принципы работы парсера v0.2.2.0
1.    Введенная команда разбирается на части.
2.    Слова-синонимы заменяются основными словами.
3.    Перебираются шаблоны, с целью найти шаблон, соответствующий введенной команде.
3.1.    Слова в команде попозиционно проверяются на соответствие константным словам текущего шаблона. Если хотя бы одно слово не совпадает, переходим к следующему шаблону.
3.2.    Для переменных, заданных в шаблоне, происходит подбор объектов.
3.2.1.    Если слово не найдено в списке лексем - выдается сообщение «Слово ‘слово’ мне неизвестно.»
3.2.2.    Если лексема найдена, но не соответствует грамматической форме, обозначенной в шаблоне - выдается сообщение «Слово в неверной форме!»
3.2.3.    Происходит подбор объектов в зависимости от их расположения
3.2.3.1.    Если переменная шаблона обозначена символом «&» месторасположение объекта роли не играет.
3.2.3.2.    Если переменная шаблона обозначена символом «@» происходит поиск подходящих объектов во всевозможных местах текущей локации.
3.2.3.2.1.    Если объект, соответствующий найденной лексеме, является классом, происходит подбор объектов-экземляров данного класса внутри локации.
3.2.3.2.2.    Если в текущей локации ни один подходящий объект не найден - выдается сообщение «Объект отсутствует.»
3.2.4.    Если найденный объект не относится к необходимому классу, или не имеет свойства, обозначенного в шаблоне - выдается сообщение «Объект не подходит для этого действия!»
3.2.5.    После подбора объектов, перебираются все возможные комбинации объектов и для каждой комбинации последовательно вызываются все методы-проверки объекта «действие» текущего шаблона.
3.2.5.1.    Если все методы-проверки вернули Null, комбинация считается прошедшей проверку.
3.2.5.2.    Если метод-проверка возвращает строковое значение, комбинация считается не прошедшей проверку, все последующие проверки для этой комбинации не выполняются. Полученная строка используется как сообщение парсера.
3.2.5.3.    Если после перебора всех комбинаций прошли проверку 2 или более комбинации – выводится сообщение «попробуйте ввести более подробную команду.»
4.    Если подходящий шаблон не найден - выводится сообщение «это невозможно…»
5.    После того, как найден подходящий шаблон -
5.1.    Если у актера отсутствует метод с названием, соответствующим названию действия, - выводится сообщение «Актер не может это сделать!»
5.2.    Иначе вызывается метод актера, соответствующий действию, и работа парсера на этом успешно завершается.

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

Неактивен

   #55
24.04.2008 17:30

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

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

Re: Выложил альфа-версию

Большая просьба, если у Вас есть собственные варианты действий, глаголов и синонимов, которые я упустил в демке - присылайте, постараюсь добавить.

То, что на данной версии платформы реализовать нельзя:
- несколько действий в одной команде: >стрельни и убегай
- несколько объектов в одной команде: >возьми горох и чечевицу
- прилагательное+существительное в команде: >возьми сушеный горох (реализовать можно, но пока слишком громоздко)

Особенно интересны действия с 2мя и более объектами.
Также буду благодарен за любые замечания и конструктивную критику smile

Неактивен

   #56
24.04.2008 19:21

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

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

Re: Выложил альфа-версию

ASBer, я тут уже писал в другой ветке про проблему с распознаванием высказываний типа "метнуть бумеранг в голову кенгуру" (РТАДС "не любит" таких выражений, работа с ними не простая задача для автора, а иногда надо...) Т.е. хотелось юы чтобы в перспективе твой движок был способен разбиратьь русские языковые конструкции.

А по игре - ты может ее на БуКо 2008 выставишь? Или другую, на своем движке?

Неактивен

   #57
25.04.2008 09:19

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

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

Re: Выложил альфа-версию

Korwin написал:

"метнуть бумеранг в голову кенгуру"

я над этим думаю... smile

Korwin написал:

А по игре - ты может ее на БуКо 2008 выставишь? Или другую, на своем движке?

БуКо 2008 соблазнительно. Только мышек я уже засветил, да и проходится игра за 5-7 ходов. Хотя есть одна мысль...  осталось придумать с какого боку там бумеранг. smile))))))))

Неактивен

   #58
05.05.2008 11:09

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

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

Re: Выложил альфа-версию

noname написал:

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

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

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

Неактивен

   #59
05.05.2008 11:23

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

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

Re: Выложил альфа-версию

А примерчик кода?

Неактивен

   #60
05.05.2008 13:36

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

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

Re: Выложил альфа-версию

Korwin написал:

А примерчик кода?

вот примерно так:

Код:

location Комната
.title="Комната"
.description="в комнате Вася и Петя
(для разговора с Васей введите 'говорить с Васей')"

unique Вася.title="Вася"
unique Петя.title="Петя"
unique ПетяГоворящийСВасей.title="Петя"
pers=Петя

action Поговорить
.pat="поговорить=говорить=поговори=говори с Васей"
.pat="спросить=спроси Васю"

Петя.Поговорить(){
РазговорСВасей+ПетяГоворящийСВасей
pers=ПетяГоворящийСВасей
}

location РазговорСВасей
.title="Разговор с Васей"
.description="Слушай, Вася, давно тебя хотел спросить...<15>{.menu()}</15>"
.menu_name=" " //не показываем наименование меню
.menu_item(
__про рыбалку){ 
%- Вася, а как ты относишься к рыбалке?
%- да не рыбак я совсем...
%- жаль, очень жаль.<15>{loc.menu()}</15>
}
.menu_item(
__прощай){ 
%- пока Вася, было приятно поболтать.
%- пока Петя.
pers=Петя //возвращаемся в комнату
}

//отдельная тема сокровищ
unique ПроСокровища
.menu_item(
__а где ты хранишь свои сокровища?){ 
global + ПроСокровища //2й раз про сокровища спросить несудьба
%- а где ты хранишь свои сокровища?
%- в тумбочке под столом...
%- спасибо, ты мне очень помог!<15>{loc.menu()}</15>
}

Отредактировано ASBer (08.05.2008 14:05)

Неактивен

   #61
14.05.2008 16:56

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

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

Re: Выложил альфа-версию

Версия 0.2.2.1 alpha
проигрыватель+демоигра
Исправлены некоторые ошибки в движке и игре;
Расширена демка - теперь можно поиграть за крота (2 линии прохождения, короткая для меня была неожиданностью smile);
Парсер научился понимать числа - > взять 5 горошин (правда пока нет мыслей как это лучше обыграть в демке)

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

Неактивен

   #62
14.05.2008 21:11

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

noname

Re: Выложил альфа-версию

играть за любого персонажа ( ну, пока не за любого ) - вот это круто!
давно хотел...

тестинг обещает доставить много хороших впечатлений

Неактивен

   #63
14.05.2008 22:36

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

noname

Re: Выложил альфа-версию

тестинг завершён на 30%
( играл по знакомым рельсам - за мышонка ).
невозможно ВЗЯТЬ ОЧКИ
более того, невозможно ВЗЯТЬ 1 ОЧКИ
и вообще никак не получается их взять.

за сим мышонок ещё немного помучен и оставлен в покое.
найденные некорректности (по памяти):

>осм кровати
- слово кровати употреблено в неверной форме
>взять очки
- this + Obj*N
-очки number!

Неактивен

   #64
14.05.2008 22:58

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

noname

Re: Выложил альфа-версию

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

за крота: играть не особенно интересно, но попробую таки всё обтестить

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

---

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

Неактивен

   #65
15.05.2008 09:50

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

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

Re: Выложил альфа-версию

noname написал:

невозможно ВЗЯТЬ ОЧКИ
более того, невозможно ВЗЯТЬ 1 ОЧКИ
и вообще никак не получается их взять.
...
>взять очки
- this + Obj*N
-очки number!

Упс! а это уже нелогичность в движке вылезла...
Суть в следующем:
Очки являются уникальным объектом, а для них количество всегда =1.
Чтобы количество не менялось, запрещены арифметические действия с уникальными объектами.
Вероятно нужно разрешить арифметику и контролировать сам результат действия, тогда умножение Очков на 1 не будет вызывать ошибку.

noname написал:

найденные некорректности (по памяти):
>осм кровати
- слово кровати употреблено в неверной форме

Для кроватей не заданы формы множественного числа... добавлю.

noname написал:

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

эт на вырост... smile

noname написал:

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

Крот в основном нужен для лабиринта - а слабо пройти лабиринт слепым кротом? smile Кроме того одни и те же действия кротом и мышонком выполняются по-разному, +есть задумки на будущее...

noname написал:

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

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

P.S. за тестинг огромное спасибо!

Неактивен

   #66
15.05.2008 11:00

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

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

Re: Выложил альфа-версию

проигрыватель+демоигра
исправлены баги с очками и кроватями.

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

Неактивен

   #67
16.06.2008 16:22

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

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

Re: Выложил альфа-версию

Анонос версии 0.2.3.0 альфа
Новое:
+ оконный интерфейс с графикой;
+ конструкции for(), while(), switch();
~ слегка улучшенный парсер.

Неактивен

   #68
16.06.2008 18:21

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

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

Re: Выложил альфа-версию

ASBer написал:

проигрыватель+демоигра
исправлены баги с очками и кроватями.

Хочу ВЫИГРЫВАТЕЛЬ!!! wink

Без шуток - ASBer, молодец!

Неактивен

   #69
24.08.2008 15:23

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

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

Re: Выложил альфа-версию

http://www.rapidshare.ru/762288 - ТОМ версии 0.2.3.0 альфа.
В составе консольный/оконный интерфейсы и демоигра про мышек.

Изменения в интерпретаторе:
- добавлены конструкции циклов for и while;
- добавлена конструкция switch - case;
- изменена обработка событий, добавлены функции CheckMove, BefMove, AftMove;
- добавлена команда restart;
- формируется лог-файл, прошу присылать логи smile

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

PS: оконный интерфейс пока крайне сырой...

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

Неактивен

   #70
25.08.2008 17:21

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

Тон

Re: Выложил альфа-версию

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

Неактивен

   #71
02.09.2008 13:13

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

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

Re: Выложил альфа-версию

План разработки на ближайшее будущее

v.0.2.3.1 альфа
- исправление работы конструкций if-else, for, while, switch-case;
+ ключевае слова return, break, continue;
(TOM-язык окончательно сформирован)

v.0.2.3.2 альфа
+ ключевое слово actor
+ относительные свойства объектов;
- исправление известных багов;
(модель ООП окончательно сформирована)

v.0.2.4.0 альфа
+ возможность сохранения/восстановления игры;
+ возможность отката на один ход;
(базовая функциональность ТОМа полностью разработана)

v.0.2.4.1 альфа
- исправление найденных багов;

v.0.9.0.0 бета
+ документирование;
+ примеры;
- бета тестирование;

v.1.0.0.0 - релиз базовой версии.

Отредактировано ASBer (10.09.2008 14:04)

Неактивен

   #72
05.09.2008 11:43

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

noname

Re: Выложил альфа-версию

отличная работа.
жаль, не знаю, куда слать логи.
собственно, по платформе есть несколько
совсем мелких замечаний:
1.
мышонок> выйди во двор
Мышонок выбежал из комнаты.
***ОК! я даже не обратил внимание на свою команду- сработало и ладно
***в следующий раз:
мышонок> выйди
Слово "выйди" мне неизвестно.
мышонок> выйти
Слово "выйти" мне неизвестно.
мышонок> выйти из домика
Мышонок не может это сделать!
мышонок> выйди во двор
Мышонок выбежал из комнаты.
***так знает ли интерпретатор слово выйди? непонятно...
2.
У окна стоит стол и три стульчика.
мышонок> осмотреть три стульчика
Мышонок не может это сделать!
мышонок> осмотреть стульчики
Типичная обстановка обычного мышиного домика.
*** впрочем, не уверен, что здесь необходимо что-то менять
3.
Мышонок>помощь
__Мышонок снова подумал о сыре. Он всегда думает о сыре, если ему больше не о чем думать.
дядюшка-крот кряхтя залез в кротовий лаз.
мама-мышь вошла в комнату.
Мышонок>инвентарь
у тебя есть 6 горошин и рогатка - твоя гордость.
мама-мышь вышла из комнаты.
Мышонок>список
Слово "список" мне неизвестно.
Мышонок>глаголы
Слово "глаголы" мне неизвестно.
Мышонок>команды
Слово "команды" мне неизвестно.
Мышонок>помоги
__Мышонок снова подумал о сыре. Он всегда думает о сыре, если ему больше не о чем думать.
В лесу страшно ухнул филин.
*** с одной стороны- я сам виноват, что не прочёл прилагающийся файл помощи,
*** с другой- обычно в текст квестах проблем с командой help не возникает
*** может, как в adventure, указывать её где-нибудь при запуске?

остальные замечания- ещё более мелкие и непосредственно платформы не касаются
только квеста

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

Неактивен

   #73
08.09.2008 09:11

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

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

Re: Выложил альфа-версию

Огромное спасибо за отзыв!
Все замечания надеюсь исправить в ближайшей публикации v.0.2.3.1.
По пунктам необходимо:
1. исправить сообщение парсера, в игре добавить действие "выйди".
2. пока не знаю что тут можно сделать... буду думать.
3. системная команда "Помощь" была переопределена в игре действием "Подсказка", как пример переопределения команд это интересно, но в данном случае неуместно. Убрал.

Неактивен

   #74
09.09.2008 09:30

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

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

Re: Выложил альфа-версию

В версии v.0.2.3.1 альфа исправлена работа конструкций языка if-else, for, while, switch-case. Фигурные скобки {} теперь необходимы только для объединения многострочных блоков. Все конструкции (за исключением switch-case) работают аналогично C. Принцип работы switch-case мною изменен, надеюсь, в лучшую сторону.
Также добавлены ключевые слова return, break, continue, работающие аналогично C.
Теперь язык платформы окончательно сформирован и позволяет разрабатывать алгоритмы любой сложности.

Документирование системы пока не начато, но начиная с этой версии в папке "Примеры" можно найти простые файлы с подробными комментариями, позволяющие освоить принципы работы платформы. Файлы, имеющие расширение .tom, открываются текстовым редактором.

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

Неактивен

   #75
09.09.2008 22:02

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

noname

Re: Выложил альфа-версию

извиняюсь, что я ещё на старой версии, но вот захотел проверить реакцию
на ввод одиночного слова:

мышонок> стол
Типичная обстановка обычного мышиного домика.
Дядюшка-крот кряхтя залез в кротовий лаз.

отлично! именно так я себе это и представлял:
задействуется команда осмотреть/изучить/тп
(а если есть несколько разных таких команд?)
далее:

мышонок> взять
Слово "взять" мне неизвестно.
мышонок> взять горох
- где же тут взять горох? - подумал мышонок. (получено новое задание)
В лесу страшно ухнул филин.
мышонок> в
Слово "в" мне неизвестно.
мышонок> из
Слово "из" мне неизвестно.

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

укажите, что Вы хотите взять. например:
взять яблоко

Неактивен

   #76
10.09.2008 09:32

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

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

Re: Выложил альфа-версию

noname написал:

извиняюсь, что я ещё на старой версии, но вот захотел проверить реакцию
на ввод одиночного слова

В новой версии на ввод любого неизвестного слова выдается "Мышонок не может это сделать!". Так как в игре заложен весьма ограниченный словарь, я не вижу возможности для любой произвольной строки провести анализ на бред/мат/команду/прочее, поэтому предполагается, что любая введенная строка - это команда к действию.

noname написал:

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

укажите, что Вы хотите взять. например:
взять яблоко

Для этого парсер должен иметь механизм подстановки умолчаний и механизм уточняющих вопросов. Например как здесь http://forum.ifiction.ru/viewtopic.php?pid=13171#p13171
Когда нибудь дорастем и до этого...

Неактивен

   #77
25.09.2008 12:04

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

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

Re: Выложил альфа-версию

Версия 0.2.3.2 альфа доступна для скачивания: http://ifwiki.ru/ТОМ

Неактивен

   #78
25.09.2008 12:39

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

Тон

Re: Выложил альфа-версию

а как же changelog?

Неактивен

   #79
25.09.2008 12:39

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

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

Re: Выложил альфа-версию

В версии v.0.2.3.2 альфа добавлены относительные свойства объектов и ключевые слова actor и act.
В демоигре восстановлена возможность игры любым персонажем.

Неактивен

   #80
25.09.2008 12:59

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

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

Re: Выложил альфа-версию

fireton написал:

а как же changelog?

добавил smile

Неактивен

   #81
25.09.2008 21:27

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

Тон

Re: Выложил альфа-версию

Занятно. Собираешься набивать документацию по ТОМ прямо в вики?

Неактивен

   #82
26.09.2008 09:32

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

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

Re: Выложил альфа-версию

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

Неактивен

   #83
26.09.2008 09:45

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

Тон

Re: Выложил альфа-версию

ASBer написал:

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

Делай в вики. И, кстати, правильно, что ты их выделяешь в отдельный спейс.

Неактивен

   #84
03.10.2008 22:21

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

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

Re: Выложил альфа-версию

случайно наткнулся на ошибку:

мама-мышь> взять горох
Мама-мышь взяла горох из мешка
В лесу страшно ухнул филин.

мама-мышь> брось
Мышь не может это сделать!
Брось отсутствует.

Дооооолго смеялсо lollollol

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

Неактивен

   #85
09.10.2008 15:45

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

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

Re: Выложил альфа-версию

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

Неактивен

   #86
10.10.2008 07:07

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

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

Re: Выложил альфа-версию

А я тут уже вставил ТОМ в FAQ. Поторопился?

Неактивен

   #87
10.10.2008 08:58

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

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

Re: Выложил альфа-версию

Korwin написал:

А я тут уже вставил ТОМ в FAQ. Поторопился?

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

Неактивен

   #88
20.10.2008 11:25

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

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

Re: Выложил альфа-версию

Анонс версии 0.2.3.3.альфа
Доработки платформы:
- существенно доработан парсер;
- изменены управляющие теги;
- исправлена масса ошибок.

Доработки демоигры:
- добавлены новые объекты (ягоды и грядки во дворе)
- добавлены шаблоны для действий с объектами упомянутыми ранее:

мышонок> брось рогатку
Мышонок бросил рогатку на пол.
мышонок> подними
Мышонок взял рогатку с пола.

- добавлены действия с классовыми именами:

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

- вероятно еще что-то… эээ не помню smile

Неактивен

   #89
20.10.2008 13:00

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

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

Re: Выложил альфа-версию

Версия 0.2.3.3 альфа доступна для скачивания: http://ifwiki.ru/ТОМ

Неактивен

   #90
17.11.2008 09:07

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

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

Re: Выложил альфа-версию

Анонс версии 0.2.4.0 альфа
+ команды save/сохранить и load/загрузить. Теперь можно сохранять игры.
+ исправлены найденные баги.
- команды undo/отменить в версии 1.0 не будет. Нормальная реализация undo требует глубокой переработки ядра платформы с введением некоторого подобия транзакций и их отката. Команда undo будет реализована в одной из следующих версий 1.х

Бета не за горами! smile

Неактивен

   #91
17.11.2008 10:11

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

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

Re: Выложил альфа-версию

Бета... потираем руки...

Неактивен

   #92
18.11.2008 08:20

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

---

Re: Выложил альфа-версию

ASBer давно уже не тайный платформостроитель...

Неактивен

   #93
18.11.2008 11:28

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

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

Re: Выложил альфа-версию

Это чин такой навроде Тайный советник.

Неактивен

   #94
20.11.2008 09:28

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

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

Re: Выложил альфа-версию

Новая версия 0.2.4.0 альфа доступна для скачивания: http://ifwiki.ru/ТОМ

Добавлены команды save/сохранить и load/загрузить. Теперь можно сохранять игры.
Также исправлены найденные ошибки.

Как дополнительный бонус, в демоигре добавилась возможность командовать другими персонажами, например: крот, возьми горох из мешка

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

Неактивен

   #95
15.12.2008 15:56

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 107

Re: Выложил альфа-версию

Вынес сюда, дабы не оффтопить.

1. Все проверки объектов выполняются в объекте действия (глагол в терминах рТАДСа)
    Объекты, не подходящие действию, дальше не проходят.
2. У персонажа вызывается метод, одноименный с действием.
    switch по действию таким образом исключается.
    Если необходимый метод у персонажа отсутствует - выводится стандартное сообщение.
3. При необходимости никто не запрещает из метода персонажа вызвать метод объекта.
    switch по объекту таким образом исключается.

1. Что имеется в виду?
2. Это просто другая запись switch, а стандартное сообщение – это ветка default.
3. Не понял. Если, например, берётся бомба, в результате чего она детонирует. Какой метод вызвать у объекта, если в методе взять мы ещё не узнали, что это бомба?

Отредактировано Gesperid (15.12.2008 15:57)

Неактивен

   #96
15.12.2008 16:48

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

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

Re: Выложил альфа-версию

Gesperid написал:

1. Все проверки объектов выполняются в объекте действия (глагол в терминах рТАДСа)
    Объекты, не подходящие действию, дальше не проходят.
2. У персонажа вызывается метод, одноименный с действием.
    switch по действию таким образом исключается.
    Если необходимый метод у персонажа отсутствует - выводится стандартное сообщение.
3. При необходимости никто не запрещает из метода персонажа вызвать метод объекта.
    switch по объекту таким образом исключается.

1. Что имеется в виду?
2. Это просто другая запись switch, а стандартное сообщение – это ветка default.
3. Не понял. Если, например, берётся бомба, в результате чего она детонирует. Какой метод вызвать у объекта, если в методе взять мы ещё не узнали, что это бомба?

1. для примера возьмем действие "взять"

Код:

unique бомба.cls = предмет
  .Вес = 50
  .lex = "бомб%;..;..;..Вп=у;" //лексема для парсера

action взять //объект категории действие (отдаленный аналог verb в TADS)
  .pat = "взять=возьми @Obj:предмет*Вп" //шаблон команды для парсера
  .Obj(Obj) //проверка для объекта, вызывается парсером
  { if(Obj.Вес > 100)
       return "а не надорвешься?" //не прошла проверка по весу
  }

При вводе комады "взять бомбу" парсер попытается подобрать подходящий шаблон и объекты к нему. В нашем случае это будет шаблон действия "взять" и объект "бомба".
При этом для объекта парсер выполнит проверки:
- бомба находится в текущей локации (префикс @ у переменной Obj)
- бомба отноится к классу "предмет" или имеет свойство "предмет" (Obj:предмет)
- вызовет проверку взять.Obj(бомба).
и только в случае если все проверки прошли успешно, парсет будет искать метод "взять(Obj)" у персонажа и выполнит его.
Обычно далее никаких ветвлений не требуется. Все объекты, способные браться, берутся одинаково.
----
2. Давно известно что любые конструкции языка можно заменить на if() и goto.
    При желании все можно представить как switch. Только зачем?
Основное отличие тут в том, что методы можно разнести по классам и при необходимости перегружать. С ветками switch-а так не получится...
----
3. Это как раз и есть исключительная реакция. Ее можно реализовать по разному. Например так:

Код:

class предмет
  .doTake(){} //обычно предметы берутся без последствий

бомба.doTake() //перегружаем метод
{ %Бабах! Бомба взорвалась у тебя в руках!
  die()
}

pers.взять(Obj)
{ %Ты взял {Obj*Вп}.
  this + Obj //Obj помещаем в инвентарь
  Obj.doTake() //вызываем метод объекта для нестандартных реакций
}

получаем:
> взять бомбу
Ты взял бомбу.
Бабах! Бомба взорвалась у тебя в руках!
Ты умер.

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

Неактивен

   #97
15.12.2008 22:07

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

noname

Re: Выложил альфа-версию

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

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

из мелочей, пожалуй, самым неприятным, как игроку было:

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

может, по команде help давать описание трёх команд:

1 help - выводит этот текст
  help <команда> - выводит описание команды
2 ... - список команд оболочки
3 ... - спискок команд игры

?

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

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

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

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

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

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

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

Выбор персонажа> крот
Напишите подробнее, что Выбор персонажа должен сделать с дядюшкой-кротом?

платформа однозначно очень нравится. чувствуется верный подход- без костылей. изучаю примеры, думаю о создании своей демы под ТОМ.

p.s.
тестирование идёт вяло... хочется новой, не менее забавной демы

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

Неактивен

   #98
16.12.2008 10:32

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

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

Re: Выложил альфа-версию

noname
> пожалуй, становится психологически трудно тестировать движок на примере одной и той же игры. хотя, для демы, игра просто суперская!
Noname, как самого упорного тестировщика готов включить тебя в раздел благодарностей (когда он появится) smile

После запуска игры невозможно получить список команд оболочки, типа Restart или Сохранить
Мне не удалось это повторить... у меня команда помощь/help/? работает везде и всегда.

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

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

> ну, и совсем маловажные замечания связаны с возможностью отдавать команды другим персонажам:
Да, эти несуразности меня тоже повеселили. Будет исправлено в следующей версии.

>тестирование идёт вяло... хочется новой, не менее забавной демы
Сейчас нагло тырю демки из рТАДСа. Золотой череп почти работает.

Неактивен

   #99
16.12.2008 11:06

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

noname

Re: Выложил альфа-версию

да, насчёт help-а я ступил: действительно, всё выводится.

я имею достаточный навык программирования на дельфи, что бы сделать полноэкранную прогу, которая будет принимать ввод юзера и выводить ответную реакцию. что ещё мне нужно знать, что бы написать для ТОМ свой интерфейс? ( планирую полноэкранный режим 1680х1050, два файла "картинок": в одном- 255 используемых символов, в другом- "спрайты" таких же размеров, как и символы, из которых можно будет составлять картинки. как в sinclair-е. второй файл для каждой игры- свой, составляется авторами. картинки чёрно-белые, при выводе цвета фона и карандаша зависят от значений соотв переменных).

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

Неактивен

   #100
16.12.2008 11:25

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

---

Re: Выложил альфа-версию

noname, движки пишешь?

Неактивен

   #101
16.12.2008 11:42

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

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

Re: Выложил альфа-версию

noname написал:

что ещё мне нужно знать, что бы написать для ТОМ свой интерфейс?

Скачать файлик ConTOM_s.rar (есть в Вики на страничке ТОМа). Там разобраться с constom.cpp - это весь интерфейс одним модулем, правда на С.
Все что тебе надо от ТОМа - это 3 функции:
   char* RunFile(char*FileName);
   char* RunText(char*Text );
   char* Command(char*Input);

Отредактировано ASBer (16.12.2008 14:39)

Неактивен

   #102
16.12.2008 16:16

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

noname

Re: Выложил альфа-версию

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

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

Nex, если повезёт- свою платформу писать не прийдётся. сейчас пишу квестец для 'операция с Новым Годом' на urql. давно хотел написать что-то законченное. после- планирую мини-дему на ТОМ, и мини-игру на QSP.

Отредактировано noname (16.12.2008 16:17)

Неактивен

   #103
16.12.2008 17:05

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

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

Re: Выложил альфа-версию

Стручок гороха просто бессовестно недоделан!
Чтобы он отображался в инвентаре необходимо прописать свойство .ВКармане = "..."
для комнаты свойство .ЛежитВКомнате = "..."
для двора свойство .ВиденВоДворе = "..."
(очки кстати добавил в инвентарь)

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

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

Неактивен

   #104
18.12.2008 20:18

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

noname

Re: Выложил альфа-версию

свежий баг:
раньше запускались и работали, как умели, все примеры. а сейчас пример "Диалоги на меню.tom" не выводит сообщений, кроме сообщений об ошибках. я уж и их архива заново доставал. по-моему это случилось как раз после того, как я вместо старой версии ТОМ скачал свежайшую. а старую удалил.

ASBer, глянь плиззз, как у тебя поведёт себя этот пример на выложенной на вики последней версии ТОМ.

Неактивен

   #105
19.12.2008 09:25

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

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

Re: Выложил альфа-версию

noname написал:

свежий баг:
сейчас пример "Диалоги на меню.tom" не выводит сообщений, кроме сообщений об ошибках. я уж и их архива заново доставал. по-моему это случилось как раз после того, как я вместо старой версии ТОМ скачал свежайшую. а старую удалил.

Да, это моя вина. Персонажам в примере необходимо добавить метод .onChangePers()

Код:

location Комната.title="Комната"
.description="в комнате Вася и Петя
(для разговора с Васей введите 'говорить с Васей')"

unique Вася.title="Вася"
unique Петя.title="Петя"
  .onChangePers(OldPers)
  { 
    // При смене персонажа показываем локацию
    if(.loc <> OldPers.loc)
    { %<location>
      %{.loc}</location>
      %{.loc.description}
    }
  }

unique Петя_говорящий_с_Васей.title="Петя"
  .onChangePers(OldPers)
  { 
    // При смене персонажа показываем локацию
    if(.loc <> OldPers.loc)
    { %<location>
      %{.loc}</location>
      %{.loc.description}
    }
  }
pers=Петя

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

Неактивен

   #106
20.12.2008 08:09

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

noname

Re: Выложил альфа-версию

угу. теперь работает. итак, на ТОМе, если кто не знает, легко реализуется диалог с выбором вариантов ответа. впрочем, для начала хорошо бы просто посмотреть его в действии: пример "Диалоги на меню"(надеюсь архив исправлен?).

как это выглядит:

Код:

Комната
В комнате Вася и Петя
(для разговора с Васей введите 'говорить с Васей')

> говорить с Васей

Разговор с Васей
Слушай, Вася, давно тебя хотел спросить...
(для выбора вопроса наберите начальные буквы строки)
   а где ты храниш свои сокровища?
   про рыбалку
   прощай.

> п
- Вася, а как ты относишься к рыбалке?
- да не рыбак я совсем...
- жаль, очень жаль.

Продолжаем разговор
   а где ты храниш свои сокровища?
   про рыбалку
   прощай.

> прощ
- пока Вася, было приятно поболтать.
- пока Петя.

Комната
В комнате Вася и Петя
(для разговора с Васей введите 'говорить с Васей')

>

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

вкратце моё ИМХО о недостатках и достоинствах диалогов в ТОМ:

НЕДОСТАТКИ:
1) пока не вижу реакции на ключевые слова. допустим, ввод 'сокровища' будет непонят
2) дурацкий текст сообщения об ошибке в режиме диалога: 'Петя не может этого сделать'. собственно, Петя в этом режиме ничего не может сделать. в случае непонятой фразы( а любой ввод в этом режиме воспринимается как фраза, обращённая к собеседнику) хорошо бы выводить соответствующее сообщение.
3) игрок может искренне полагать, что ввод 'пр' бует понят как 'прощай', а это не так. т е система подбирает подходящую фразу сверху вниз до первого соответствия. впрочем, это тот момент, который лучше переложить на плечи авторов квестов: или пусть фразы тщательно подбирают, или игрока предупреждают, или надеются, что игрок поймёт принцип сам.

поднатужившись, смог высосать из пальца только 3-и недостатка.

ДОСТОИНСТВА:
1) выбор варианта производится привычным глазу парсерщика вводом с клавиатуры, что является несомненным достоинством для парсерного квеста.
2) теоретически возможна (ASBer, подтверди) реакция и на другие, не перечисленные фразы. т е редложенные варианты не запрещают(теоретически) игроку ввести другое понятное ответчику слово, и получить соотв ответ
3) эта форма диалогов, естественно, не запрещает реализации обычных парсерных 'спросить Васю об ...', т е если кто из авторов хочет классических парсерных диалогов- наздоровье.
4) при этом рассматриваемая форма реализации диалогов привносит таки дополнительный элемент литературности в квест. ну, точнее- позволяет авторам это сделать.

пожалуй, всё.

Неактивен

   #107
22.12.2008 10:28

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

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

Re: Выложил альфа-версию

noname> 1) пока не вижу реакции на ключевые слова. допустим, ввод 'сокровища' будет непонят
ASBer: В ТОМе реализованы 2а способа реализации диалогов - менюшный и парсерный. В рассмотренном примере используется только менюшный способ, но самым интересным мне видится сочитание обоих методов. Тогда будет и реакция на ключевые слова в том числе.

noname> 2) дурацкий текст сообщения об ошибке в режиме диалога: 'Петя не может этого сделать'. собственно, Петя в этом режиме ничего не может сделать. в случае непонятой фразы( а любой ввод в этом режиме воспринимается как фраза, обращённая к собеседнику) хорошо бы выводить соответствующее сообщение.
ASBer: для объекта Петя_говорящий_с_Васей можно определить специальное свойство сan_not_execute. Например:

Код:

Петя_говорящий_с_Васей.сan_not_execute = "Вася тебя не понял."

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

noname> 3) игрок может искренне полагать, что ввод 'пр' бует понят как 'прощай', а это не так. т е система подбирает подходящую фразу сверху вниз до первого соответствия. впрочем, это тот момент, который лучше переложить на плечи авторов квестов: или пусть фразы тщательно подбирают, или игрока предупреждают, или надеются, что игрок поймёт принцип сам.
ASBer: Сейчас сортировка ответов по алфавиту. Скорее всего переделаю. Будет по порядку их объявления в коде игры. Т.е. фразы, которые должны быть сверху, нужно будет описывать раньше фраз, распологающихся ниже. Также в планах сделать автонумерацию пунктов меню. Вобщем есть над чем работать.

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

noname> 3) эта форма диалогов, естественно, не запрещает реализации обычных парсерных 'спросить Васю об ...', т е если кто из авторов хочет классических парсерных диалогов- наздоровье.
ASBer: парсерные диалоги базируются на специальном операторе:

Код:

 Персонаж > "произносимая фраза"

где Персонаж - объект, а "произносимая фраза" - строка.

noname> надеюсь архив исправлен?
ASBer: Мне стало понятно что этот пример требует доработки.
Попробую добавить туда парсерные возможности, и выложу все примеры отдельным архивом.

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

Неактивен

   #108
24.12.2008 11:11

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

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

Re: Выложил альфа-версию

Предлагаю вниманию сообщества первую попытку портации стандартной библиотеки рТАДС на платформу ТОМ.

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

Хотелось бы услышать ваши мнения и пожелания.

P.S. Разрешение у GrAndrey на эксперименты с портацией библиотеки получено.
P.S.S. Разрешения у Michael J. Roberts не запрашивал, но условия лицензии, насколько я понимаю, подобной модификацией не нарушаются.

--------------------------------------------------------------------------------
Прикрепленные файлы:
TOMrTADS.rar, Размер: 236,863 байт, Скачано: 54

Неактивен

   #109
24.12.2008 21:45

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

noname

Re: Выложил альфа-версию

Код:

Сюда можно вставлять вступление.
Моя игра
Просто новая игра. Наберите ПОМОЩЬ при необходимости.
Написал Я.
Версия 0.0
У пещеры
  Ты стоишь на ярко освещенном месте прямо перед большой, темной и мрачной
пещерой, лежащей к северу.

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

Ты видишь здесь пьедестал и мелкий камень.

> взять камень
Взят.

> сесть на пьедестал
Я не понимаю это предложение.

> положить камень на пьедестал
Готово.

> взять череп
Взят.

> ю
У пещеры
_
tot - переменная не определена!

>

по-моему концовка должна быть не такой

p.s.

to GrAndrey & to ASBer - респект и уважуха!


С момента публикации альфы прошло много времени. Платформа была полностью переработана.
Все примеры в этой ветке более недействительны, а прикрепленные файлы окончательно устарели!
ASBer

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

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru