Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
24.03.2008 13:58

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

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

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

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


Версия 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)

Неактивен

0    0    #2
24.03.2008 16:16

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

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

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

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

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

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

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

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

Неактивен

0    0    #3
24.03.2008 16:35

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

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

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

Gesperid написал:

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

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

Gesperid написал:

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

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

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

Неактивен

0    0    #4
24.03.2008 16:56

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

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

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

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

Неактивен

0    0    #5
24.03.2008 17:12

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

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

ASBer написал:

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

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

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

Неактивен

0    0    #6
24.03.2008 17:18

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

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

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

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

Неактивен

0    0    #7
25.03.2008 13:24

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

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

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

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

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

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

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

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

Неактивен

0    0    #8
25.03.2008 14:14

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

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

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

Korwin написал:

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

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

Korwin написал:

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

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

Korwin написал:

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

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

Korwin написал:

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

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

Korwin написал:

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

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

Korwin написал:

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

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

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

Неактивен

0    0    #9
25.03.2008 19:21

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

---

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

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

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

Неактивен

0    0    #10
26.03.2008 05:27

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

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

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

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

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

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

Неактивен

0    0    #11
26.03.2008 07:03

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

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

ASBer написал:

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

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

Неактивен

0    0    #12
26.03.2008 09:19

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

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

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

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

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

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

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

Неактивен

0    0    #13
26.03.2008 10:48

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

---

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

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

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

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

Неактивен

0    0    #14
26.03.2008 11:30

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

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

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

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

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


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

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

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

Неактивен

0    0    #15
27.03.2008 22:48

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

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

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)

Неактивен

0    0    #16
28.03.2008 06:28

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

У трав, растущих на мягкой земле - слабые корни. (с)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, но дуцмаю, не в этом дело.)

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

Неактивен

0    0    #17
28.03.2008 06:55

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

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

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

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

Неактивен

0    0    #18
28.03.2008 10:23

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

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

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)

Неактивен

0    0    #19
28.03.2008 22:11

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

---

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

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

Неактивен

0    0    #20
29.03.2008 06:46

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

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

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

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

Неактивен

0    0    #21
31.03.2008 06:18

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

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

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

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

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

Неактивен

0    0    #22
31.03.2008 09:10

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

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

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

Owl Wilson написал:

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

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

Owl Wilson написал:

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

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

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

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

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

Неактивен

0    0    #23
31.03.2008 17:41

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

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

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)

Неактивен

0    0    #24
04.04.2008 04:55

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

Oldskool still rule!

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

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

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

Неактивен

0    0    #25
04.04.2008 09:23

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

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

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

Dimouse написал:

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

Сенкс! smile

Dimouse написал:

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

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

Dimouse написал:

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

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

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

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru