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

Объявление

Открыт сайт tom2-game.ru.


Последнюю версию платформы можно скачать здесь.

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

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


Вы здесь » ТОМ2 - платформа для парсерных игр » Флейм » Командная строка на ЕЯ в неигровых приложениях


Командная строка на ЕЯ в неигровых приложениях

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

1

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

Я слежу за созданием и развитием платформы ТОМ и меня поражает тот факт, что текстовые игры уже дошли до такого, что достаточно просто разбирают команды на русском языке, хорошо строят предложения но никто не хочет сделать на этом какую-нибудь командную строку, которая бы по командам на ЕЯ выполняла бы действия на компьютере. Ведь на первый взгляд: те же самые объекты со свойствами и методами, те же команды. В компьютере даже легче - ограниченное кол-во классов (файл, папка, DVD-привод, ОС, программа...), всё дискретно... Но... Я думаю даже этот движок ТОМ не смотря на всю свою гибкость и возможность подключения внешних функций пока не сможет выполнять такие операции, т.к. основная проблема в том, что в игре все объекты известны с самого начала, а в примере с компьютером - нет. Например по команде "Перемести все файлы с флешки на диск D", чтобы узнать список файлов (объектов), которые нужно переместить, нужно не просто просканировать память и найти объекты, которые находятся в объекте Флешка, а сначала найти флешку, затем вызвать функцию сканирования, которая найдёт все файлы на флешке, превратит их в объекты и добавит в память движка.

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

Если отбросить интерфейс и посмотреть на реализацию игровой (или бизнес) логики, то программы с консольным управлением по большому счету ничем не отличаются от программ с GUI.
Как правило исполнительный механизм программы предоставляет некий нерасширяемый набор функций.
- Простейшее действие - фукция без параметров. Вызывается нажатием кнопки, меню, или определенной фразой в командной строке.
- Более сложное действие - фукция с одним или более параметрами. Вызывается нажатием кнопки в диалоге с установкой значений параметров в полях диалога, или фразой определенного формата в командной строке.
И всё! Для 99.99% программ такой архитектуры вполне достаточно.

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

Команды на ЕЯ за счет своей гибкости покрывают значительно большую площадь гипотетически возможных действий программы.
Что делают парсеры в играх с такими не в меру продвинутыми командами?
1. Разветвляют точки входа в кроличьи норы за счет синонимов и различных вариантов построения команды, тем самым расширяя область принимаемых команд.
2. Мягко "отшивают" игрока, если он не попал в точку, при этом ненавязчиво подсказывая направление к ближайшей норе.

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

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

2

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

И я более чем уверен что в неигровых применениях это лишний гемор и для разработчика и для пользователя.

Не знаю как для других, но мне (как человеку, не страдающему из-за скорости печати) уже стало проще набрать путь к папке в адресной строке эксплорера, чем "накликать" его мышкой в бесчисленном количестве папок и подпапок на компьютере. Проще набрать имя программы, чем найти её в Пуске или как-либо с использованием мыши. И проблема отнюдь не решается ярлычками на рабочем столе и порядком в меню Пуск. Кол-во программ, которые я использую (некоторые часто, некоторые реже), уже перевалило за сотню (а может и за несколько). И не надо так на меня смотреть! Просто среди этих программ, много тех, которые я написал сам, и представляют они из себя всяческие утилитки, упрощающие работу за компьютером. И для меня гораздо проще написать "запусти Нэро", "открой папку, в которую установлена Аська", "скопируй Evanescens на плеер", "напомни завтра в 14:00 сходить на встречу", "подпиши в начале каждого имени файла в папке "D:\Temp\" номера с 1 по порядку", "найди все файлы на плеере с расширением jpg и удали их", "копируй новые фото с фотоаппарата в папку Фото всегда, когда он подключается" и т.д. чем "накликивать" это мышкой. С некоторыми фразами я, конечно, переборщил, но в общем желание было такое. Если это ещё и приправить некоторым графическим отображением выполняемых процессов и поставленных заданий, то думаю не я один буду пользоватья этой программой.

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

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

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

Отредактировано Alexandr (2010-06-25 21:36:14)

3

Продвинутый парсер может сделать утилиты "чуть понятливее", но не более.
Парсер это не AI, а AI вероятно может быть и без парсера вообще.
Понять команду, и выполнить команду - это разные процессы. 2е сложнее.


Вы здесь » ТОМ2 - платформа для парсерных игр » Флейм » Командная строка на ЕЯ в неигровых приложениях