ТОМ - платформа для текстовых игр

Объявление

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

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Версия 0.9.4.x

Сообщений 1 страница 30 из 52

1

Это скорее технологическая демка чем полноценная версия.

По сути это попытка сделать на базе движка 0.9.3.1 полигон для обкатки технологий нового ТОМа.

2

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

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

3

Скачал, посмотрел. Перейду сразу к перечислению замеченных неисправностей:
- не работает команда "Выход" во всех вариантах (Quit, Exit)
- при выводе текста перестали заменяться знаки "_", "@", "^" и прочие на пробелы, точки и др... Эта система замен будет переделана?
- почти на все команды выдаёт ошибку "array::operator[] Index out of range!". Тестировал на разных квестах, в том числе и на ToPawn: так и не удалось заложить за воротник :'( .

> заложи
что заложить?
> заложи салфетку
array::operator[] Index out of range!

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

В общем версия 0.9.4.0 пока не воспринимает старые игры в полном объёме, что и ожидалось от технологической демки. Но я очень рад видеть, что дело сдвинулось с мёртвой точки: сделан новый графический интерфейс, все нужные DLL собрались в одну папку, поставлены дальнейшие цели. Будем ждать.  :rolleyes:

4

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

5

При перетаскивании файла игры на "constom.exe" он не открывает её. Параметры пока ещё не сделаны?
Я думаю, что стоит сделать какой-нибудь параметр для быстрого запуска и тестирования игр.
Например, чтобы при запуске с параметрами:
constom.exe -fast "toPawn.tom"
программа запускалась в режиме тестирования: отключены начальные заставки (логотипы), убраны некоторые медленные эффекты (плавное появление текста). Это бы помогло при разработке игр: для частого запуска и проверки изменений.

6

Alexandr написал(а):

При перетаскивании файла игры на "constom.exe" он не открывает её. Параметры пока ещё не сделаны?

Да, пока не сделаны...

Alexandr написал(а):

Я думаю, что стоит сделать какой-нибудь параметр для быстрого запуска и тестирования игр.
Например, чтобы при запуске с параметрами:
constom.exe -fast "toPawn.tom"
программа запускалась в режиме тестирования: отключены начальные заставки (логотипы), убраны некоторые медленные эффекты (плавное появление текста). Это бы помогло при разработке игр: для частого запуска и проверки изменений.

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

7

Потестил. Да, начал проигрывать игры. Команда "выход" заработала.... ладно, не буду перечислять, что начало работать, перейду к проблемам:
- параметры запуска всё-ещё отсутствуют (нельзя запускать перетаскиванием на EXE-шник)
- безнадёжно повис на команде "сглотнул. сглотнул. сглотнул. сглотнул. сглотнул. сглотнул." Посмотрел логи, а там вот что:

ты> заложить за воротник салфетку
__ты поправил уже заложенную за воротник салфетку и жадно сглотнул.

ты> сглотнул. сглотнул. сглотнул. сглотнул. сглотнул. сглотнул.
слишком много действий в одной команде!
слишком много действий в одной команде!
слишком много действий в одной команде!
слишком много действий в одной команде!
... и так очень много раз ...

- знаки препинания по прежнему присабачиваются к словам (см. пред. проблему)

вот пока всё, если ещё что-нить найду, напишу.  :)

Отредактировано Alexandr (2010-08-06 10:02:08)

8

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

увеличить

9

Alexandr написал(а):

- безнадёжно повис на команде "сглотнул. сглотнул. сглотнул. сглотнул. сглотнул. сглотнул."

Эта ошибка оказывается была еще в версии 0.9.3.1. Нашёл и исправил.

10

Ура! вчера победил последнюю (надеюсь) очень неприятную ошибку вызванную частичной несовместимостью модулей 0.9.3.1 с модулями 2.0.0.0.

11

Обновил версию, ссылка та-же.

12

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

ASBer написал(а):

Обновил версию, ссылка та-же.

Так кратко? Хотелось бы видеть примерный список изменений. И версию бы менять при каждом выпуске. А то в предыдущий раз была 0.9.4.1, а сейчас опять почему-то 0.9.4.0 :dontknow:. Или это я что-то напутал и не то скачал?

13

Alexandr написал(а):

Так кратко?

С работы постил, времени на описание не выкроил... :disappointed: :dontknow:

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

Еще немного про звук:
В комплект вошла dll-ка tommci.dll, которая по сути является обёрткой для единственной функции WinAPI - mciSendString(). Именно на этой функции работали все звуки в ТОМе.
Dll-ка пока еще не допилена, что и видно (т.е. слышно, а иногда и не слышно), но не это главное.
Главное что эта dll абсолютно независима от текстового движка, вплоть до того что её можно безболезнено удалить или заменить другой подобной.
Исходник её может служить простым примером написания расширений к ТОМу.

По поводу версий:
Именно эту версию можно по праву считать нулевой в своем направлении, т.к. только в ней окончательно исправлены ошибки стыковки с движком 0.9.3.1, а все предыдущие не более чем демка.
И от этой версии пойдет дальнейший отсчет.

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

14

Вышла версия 0.9.4.1.
Доработана музыкальная dll.
Исправлена ошибка с регистром в командной строке.
Исправлена ошибка с кликом на словах (лишние знаки).

15

ASBer написал(а):

+ система регистрации внешних функций

Я вижу, подключать свои dll уже можно, и довольно давно. Как же работает эта система? Хотелось бы поэкспериментировать.

16

Alexandr написал(а):

Как же работает эта система? Хотелось бы поэкспериментировать.

вот пример
Система плагинов почти готова. Доделаю до конца, тогда опишу.

17

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

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

18

Alexandr написал(а):

- не сделан нормализатор выходного текста.

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

Alexandr написал(а):

- не сделан запуск файлов из командной строки

Это да, нужно просто сделать. Работать будет через функцию RunText() в tom.dll
Сделать раньше не получалось из-за отсутствия функции RunText() :)

19

Вышла версия 0.9.4.2.
- сделан запуск файлов из командной строки,
- частично сделан нормализатор текста,
- еще кой-какие мелочи.

В редких случаях вылетает с критической ошибкой :dontknow: -буду искать.

20

ASBer написал(а):

сделан запуск файлов из командной строки

Не любит полные пути. Если прописать в командной строке "constom.exe to_pawn.tom", то всё работает. А если написать полный путь "constom.exe "E:\Закачки\Текстовые игры\ТОМ\Tom_094_6\to_pawn.tom"" или просто перетащить файл to_pawn.tom на экзэшник, то появляется ошибка "error: путь D:Documents and Settings\Админ\ "e:закачки\текстовые игры\том\tom_094_6\ не найден!".

ASBer написал(а):

В редких случаях вылетает с критической ошибкой

Да, вылетает. У меня в основном вылетает, если набрать "run to_pawn.tom", но не всегда. Без расширения или русскими буквами не вылетала. Хотя это, наверное, никак не связано.

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

ASBer написал(а):

частично сделан нормализатор текста

Дааа. Вот это другое дело. Сейчас можно приступать к написанию игр. :writing:

21

Alexandr написал(а):

если кликнуть на одно из синих слов ("загрузить", "помощь"...), то оно зразу же выполняется (не надо жать Enter). Как это устроено?

Так работают все слова внутри тэгов <menu_item> </menu_item>.
Т.е. элементы меню должны быть кликабельны.

Не любит полные пути.

Угу, попроверяю.

22

Выпустил версию 0.9.4.3 (багфикс).
- Исправлена критическая ошибка  :flag:  программа больше не вылетает!

23

Ура-ура, с полезной обновкой!
За новостями следил, но давно не щупал обновленные версии тома (почти с крила, наверное (улыбка)). Сейчас побаловался последней. Воодушевлен, насколько стало удобней, стабильней и презентабельней. Определенно, у руля ТОМа стоит надёжный капитан )
Жаль, что скорее всего в этом году ТОМа на КРИЛе не будет, это была бы эффектная демонстрация роста.

Отредактировано Серый Волк (2010-10-12 20:53:39)

24

Серый Волк, спасибо за доброе слово.  :flag:
Работы еще много, планов еще больше, к следующему КРИЛу может быть что-то и появится  :glasses:
(хотя вдруг кто-то втихоря что-нибудь уже сейчас допиливает на КРИЛ) :D

25

Хмм... в правилах сроки сдачи на конкурс - до 1 ноября. Ещё 2 недели есть. Может состряпаем что-нибудь общими силами? Или это нереально?

26

Alexandr написал(а):

Может состряпаем что-нибудь общими силами?

Результат никого не устроит :D Хорошие игры пишутся годами  :surprise:

27

Версия 0.9.4.4 dev

Восстановлено чтение текста голосом через MS SAPI.
Рекомендуется установить голос Николая - Acapela-Elan-TTS-SpeechCube-5.1-RUS-Nicolai_MmE255_.msi

28

Версия 0.9.4.5 bugfix

Исправлены ошибки, указанные здесь. Спасибо Александру  :flag:

29

Как оказалось, стали восприниматься как ошибочные конструкции вида:

unique А.title="объект А"

т.е. когда в одной строке объект создаётся и ему присваивается свойство (часто используется в мышах).
Здесь нужен более тонкий подход, будет исправлено в следующей версии.
Исправлено в версии 0.9.4.6

30

Версия 0.9.4.6 альфа

Доделал наконец нормализацию знаков препинания, исправил некоторые ошибки.
Версии присвоен статус "альфа". Это значит что всё основное что я хотел сделать в ветке 0.9.4.х сделано.
Осталось доделать небольшие фичи, после чего эта версия перейдет в "бету" и будет рекомендована как основная официальная версия.

Дальнейшая разработка потеряет обратную совместимость с версией 0.9.3.1 и опять надолго уйдет в подполье.