|
[[ТОМ: Changelog|Архив по старым версиям]]
'''Версия v.0.9.3.0 бета'''
*Добавлено чтение текста игры через MS Speech API 5.1 (синтезированный голос).
*Добавлены новые команды для управления звуком на уровне платформы:
**включить звук/музыку/голос;
**выключить звук/музыку/голос.
( для включения/выключения музыки используется новый обработчик '''OnMusic()''').
*Исправлены найденные ошибки.
'''Версия v.0.9.2.11 бета'''
Основые изменения касаются работы с меню.
*строки меню теперь формируются динамически;
*меню может быть сформировано и вызвано для любого объекта (раньше было привязано к локации);
*добавлена сортировка строк меню (раньше было по алфавиту);
*добавлена автонумерация строк меню;
*выбор в меню возможен по номеру строки или по началу любого слова в меню.
'''Версия v.0.9.2.10 бета'''
*исправлены мелкие ошибки
'''Версия v.0.9.2.9 бета'''
*добавлены функции преобразования типов object(), string(), number(), bool();
*добавлены функции преобразования строк left(), right(), mid(), lower(), upper(), trim();
*исправлены найденные ошибки.
'''Версия v.0.9.2.8 бета'''
*добавлена возможность вставки в код игры команд на естественном языке.
*добавлена конструкция для описания предлогов.
*доработано сохранение игр.
*исправлены найденные ошибки.
'''Версия v.0.9.2.7 бета'''
*добавлены операторы ++; --; &&; и ||; (синтаксический сахар).
*исправлен парсинг составных команд для НПС.
'''Версия v.0.9.2.6 бета'''
*Добавлена функция для проигрывания звуков - media()
*В демоигру добавлено много новых звуков. Архив с игрой слегка распух.
*добавлено новое действие - смеяться :)
'''Версия v.0.9.2.5 бета'''
*исправление ошибок, доработка парсера.
'''Версия v.0.9.2.4 бета'''
*добавлено наследование объектов action от action, что позволяет создавать дейстия по подобию существующих.
*добавлена возможность вводить составные команды:
> войди в лифт и нажми 5 кнопку
Ты вошел в лифт.
Лифт
Самая обычная кабинка лифта.
Здесь есть кнопки. Ты находишься тут и лифтер находится тут.
Ты нажал кнопку 5.
Лифт поднял тебя на 5 этаж.
* исправлены мелкие ошибки
'''Версия v.0.9.2.3 бета и v.0.9.2.2 бета'''
*исправление ошибок, мелкие косметические улучшения.
'''Версия v.0.9.2.1 бета'''
*Изменен способ для первичного размещения объектов внутри друг-друга. Теперь при первом объявлении объекта в теле другого объекта, объявляемый объект автоматитески попадает внутрь этого объекта.
unique заяц
{ //... описание зайца
unique утка
{ //... описание утки
unique яйцо
{ //... описание яйца
// и т.д. до самой смерти Кощея
}
}
}
*Добавлен механизм уточнения команд:
''> возьми еду''
''Стручок на грядке или малину на кустах?''
''?> горох с грядки''
''Ты сорвал стручок с грядки.''
*В демоигру добавлены притяжательные местоимения. Сравните варианты ответов при игре за мышонка:
''> осмотри крота''
и при игре за крота:
''> мышонок, осмотри меня''
*исправлены некоторые мелкие ошибки в движке и демоигре.
'''Версия v.0.9.2.0 бета'''
*Изменен синтаксис языка. Изменен формат описания объектов и доступ к свойствам объектов. В целом язык приблизился к C++ и стал выглядеть еще более привычно для программистов. Очень надеюсь что до выхода версии 1.0 синтаксис меняться более не будет.
*Доведена до ума речевая модель. Определены речевые роли и их распределение в различных типах речевых актов. Реализация поддержки речевых ролей на уровне платформы позволяет автоматически определять лица и правильно подставлять/определять личные и возвратные местоимения при генерации/парсинге текста. Проверить это можно играя за различных персонажей - для мамы игра идет в 1 лице, для мышонка во 2м, и для крота в 3 лице. (О речевой модели в ТОМе обязательно напишу подробнее, т.к. тема интересна и требует дальнейшего развития)
*Проект полность перебран заново. Исправлена архитектура движка. Это позволило избавиться от детских болезней роста и исправить множество ошибок. Теперь ТОМ мне представляется логически цельным и завершенным (в рамках разумных ограничений версии 1.0)
'''Версия v.0.9.1.4 бета (bugfix)'''
*исправлены ошибки предыдущей версии
'''Версия v.0.9.1.3 бета'''
*убраны синонимы для объектов (будут реализованы позже и на других принципах)
*добавлен предопределенный метод CalcKey() для расчета переменной части морфологического ключа в зависимости от свойств объекта или других измечивых обстоятельств.
*добавлен предопределенный метод Redirect() для перенаправления действия с одного объекта на другой.
*исправлены найденные ошибки
'''Версия v.0.9.1.2 бета'''
*произведен рефакторинг движка;
*вызовы обработчиков событий и парсерных проверок приведены к стандарту Си;
*изменена логика для значения null;
*исправлены найденные ошибки.
'''Версия v.0.9.1.1 бета'''
*существенно упрощена работа с числительными - для любого объекта в команде можно указать его число. Проверки на согласование с числительными теперь выполняются парсером.
*для объектов, возвращаемых парсером, свойство .num теперь содержит число, указанное игроком;
*числовые переменные в парсерных шаблонах убраны за ненадобностью;
*для чисел стало возможным задавать строковые синонимы - "100"="сто";
*добавлены специальные константы для указания количества - "все", "несколько", "половина", "треть", "четверть".
'''Версия v.0.9.1.0 бета'''
*в дополнение к шаблонному парсеру добавлен подбор действий и фраз по ключевым словам и ключевым объектам с оценкой по весу (см. keyword);
*конструкция задания лексем для парсера .lex = "строка" признана устаревшей и впоследствии будет удалена;
*для объектов, возвращаемых парсером, свойство .lex теперь содержит лексему, названную игроком в команде;
*любое свойство объекта, содержащее строку в формате лексемы и имеющее в основе одно слово, теперь может быть использовано как имя объекта в команде (альтернатива .lex=)
*исправлены ошибки.
'''Версия v.0.9.0.2 бета'''
*добавлены глобальные переменные token и secret;
*добавлено сообщение парсера object_select;
*для объектов добавлены предопределенные свойства in_dialog и as_variant
*системные команды теперь могут использоваться в коде игры.
Например
global < "exit"
приводит к выходу из программы.
*исправлены найденные ошибки.
'''Версия v.0.9.0.1 бета'''
*для локаций добавлен обработчик события [[TOM: язык программирования#.OnEnter( ) / .НаВход( )|OnEnter()]]
*убран обработчик события onChangePers() за ненадобностью
*добавлен тег для очистки экрана <clear>
*исправлены найденные ошибки в движке и игре.
'''Версия v.0.9.0.0 бета'''
*дополнительная поддержка интерфейсов - добавлена константа [[TOM: язык программирования#frontend|frontend]];
*добавлена функция input();
*демоигра адаптирована под Милену, добавлены картинки;
*исправлены найденные баги.
'''Версия v.0.2.4.1 альфа'''
*добавлены средства для организации диалогов и событий;
*сообщений об ошибках в парсере вынесены в переменные и могут быть изменены;
*оптимизирован парсер;
*доработано сохранение игр;
*исправлены найденные баги.
'''Версия v.0.2.4.0 альфа'''
*добавлена возможность сохранения/восстановления игры;
*исправлены найденные баги;
'''Версия v.0.2.3.3 альфа'''
Доработки платформы:
*существенно доработан парсер;
*изменены [[TOM: язык программирования#Теги|управляющие теги]];
*исправлена масса ошибок.
Доработки демоигры:
*добавлены новые объекты (ягоды и грядки во дворе)
*добавлены шаблоны для действий с объектами упомянутыми ранее;
*добавлены действия с классовыми именами;
*вероятно еще что-то… эээ не помню :)
'''Версия v.0.2.3.2 альфа'''
Добавлены [[TOM: язык программирования#Относительные свойства объектов|относительные свойства]] объектов и ключевые слова actor и act.
Объектная модель платформы окончательно сформирована.
В демоигре восстановлена возможность игры любым персонажем.
'''Версия v.0.2.3.1 альфа'''
Исправлена работа конструкций языка if-else, for, while, switch-case. Фигурные скобки {} теперь необходимы только для объединения многострочных блоков. Все конструкции (за исключением switch-case) работают аналогично C. Принцип работы switch-case мною изменен, надеюсь, в лучшую сторону.
Также добавлены ключевые слова return, break, continue, работающие аналогично C.
Теперь язык платформы окончательно сформирован и позволяет разрабатывать алгоритмы любой сложности.
Документирование системы пока не начато, но начиная с этой версии в папке "Примеры" можно найти простые файлы с подробными комментариями, позволяющие освоить принципы работы платформы. Файлы, имеющие расширение .tom, открываются текстовым редактором.
'''Версия v.0.2.3.0 альфа'''
Изменения в интерпретаторе:
- добавлены конструкции циклов for и while;
- добавлена конструкция switch-case;
- изменена обработка событий, добавлены функции CheckMove, BefMove, AftMove;
- добавлена команда restart;
- формируется лог-файл, прошу присылать логи
Изменения в демоигре:
- добавлена система помощи, мышонок научился думать;
- добавлено ведение счета;
- возможность игры за разных персонажей временно убрана.
PS: оконный интерфейс пока крайне сырой...
[[Категория:Платформы]] [[Категория:Парсерные платформы]]
|