Мною на днях была созданах статья на данную тему обсуждения: http://stk-engine.narod.ru/article/ideoreditor.htm.
Предлагаю ее обсудить, т.к. она довольна интересна и актуальна для IF общества, но сначало прочитайте статью, а уж потом начинайте обсуждение.
Неактивен
Итак пункт 1). Здесь можно провести аналогию с языками программирования, там присутствует подсветка, автоматическое форматирование текста и построение определенных кусков кода, но это все может реализовать и редактор. В IDE, можно добавить анализатор на не явные ошибки, например использование goto в противоречие с правилами, зацикливание программы (забыли в рекурсии возврат поставить) и многие другие ошибки, которые на первый взгляд не заметны, но плохо влияют на алгоритм.
Подсветка, проверка кода на ошибки, и прочие стандартные возможности IDE - это обязательно будет. В новой версии редактора, над которой сейчас идёт работа.
Также добавить всем известный принцип набора слова меньшим нажатием клавиш, т.е. нажал букву b и вылезло раскрывающее окно, дальше вводишь нужное кол-во букв, чтобы выбрать команду, после чего нажимаем enter и готово. Таким образом обойдется без хлопот работа с объектами, написал точку после имени объекта и сразу вылез целый список его сво-в, методов и т.д.
Технически - несложно, НО. Объекты в разработке текстового квеста? Зачем? Если объекты, по-твоему мнению, необходимы, аргументируй.
Для обычных и наиболее часто используемых операторов есть короткие синонимы, и в языке QSP нет операторов с неразумно длинными именами.
"Мастеры".
в таких мастерах указано все, что есть, а выбираешь в итоге, только нужное, да еще справку короткую можно получить.
Всё это есть в справке, а также в примерах, заготовках игр и статьях.
А также, будучи полным нулем можно создать неплохой квест.
Этого никогда и нигде не будет. Нолный нуль не сделает хорошую игру. По определению.
За два клика не сделаешь "неплохой квест". Заготовки игр, примеры кода - пожалуйста. Это уже есть. Если их мало, дополняйте.
Зачем эти "мастеры" сейчас, если серьёзно? Что сможет сделать "мастер" за автора сейчас, что автор не может сделать сам в QGen?
использование графов, деревьев и прочей графической раскладки содержимого квеста с целью облегчить восприятие всего квеста.
Имеется в виду автоматически составляемый граф - здесь есть, как минимум, одна проблема.
В QSP есть(наверно, есть и в URQ) возможность перехода на локацию, имя которой становится известным только во время выполнения квеста(хранится в переменной, или генерируется по определённым правилам). Как в этом случае быть с построением графа?
Если очень поднапрячься, можно реализовать похожее на UML графическое отображение. Но оно не будет
показывать автоматически все возможные связи между локациями.
Советую познакомиться с UML.
можно провести отладку или пошаговое исполнение, не говоря о том, что при этом можно брать прямо из текста переменную или объект и в специально выделенном окне наблюдать за всеми его изменениями, нежели наблюдать целый ворох переменных, также IDE в ходе отладки позволяет корректировать содержимое переменных и поправлять свой код во время отладки, что впрочем повлияет, либо сразу, либо после повторного запуска скрипта квеста - это зависит от самой IDE
Вот с этим согласен. Отладочный режим, пошаговым исполнением, и отображением содержимого переменных - был бы полезен.
Опять же, для создания текстового квеста возможностей нового редактора должно хватить с головой.
Отредактировано Nex (03.09.2007 10:29)
Неактивен
Глянул по статистике вчера зашло, аж 24 человека. Ну да ладно. QGen взял для сравнения его, как для IDE и редактора, чтобы было на че оипраться читающим посетителям, а также провел сравнение в общем плане. Но раз уж затронули и сам редактор, то отвечу на ваши вопросы.
Gremour:
Живо представляется картина того, что уже надоело в графических играх.
Это всего лишь пример использования мастеров, бывают и другие направленности, к примеру возьмем редактор RTADS, там есть разные объекты, так вот можно создать мастера, которые не то, чтобы сами без хлопот все прописалт по объектов, но и новый глагол смогли бы включить, вместо того, чтобы его прописывать самим. Также Сделанное Андреем Гранкиным программа для автоматической генерации падежей, тот же самый мастер в IDE. Ну что, понял идею применения мастеров? Здесь главное увидеть, куда и как их применять, вот и вся проблема.
Nex:
Подсветка, проверка кода на ошибки, и прочие стандартные возможности IDE - это обязательно будет. В новой версии редактора, над которой сейчас идёт работа.
А можешь дать ссылку на расположение ресурса представляющий данный продукт или хотя бы расскажи о его возможностях. ![]()
Технически - несложно, НО. Объекты в разработке текстового квеста? Зачем? Если объекты, по-твоему мнению, необходимы, аргументируй.
Для обычных и наиболее часто используемых операторов есть короткие синонимы, и в языке QSP нет операторов с неразумно длинными именами.
Я уже не вспомню, как сокращенна называется эта технология, но даже если у тебя нет длинных имен, зато есть переменные, а такая технология позволяет автоматически вставлять имена команд, переменных и т.д., только тех которые видны в данной области. К примеру локал. перем. в цикле, не будет видна вне его области и используя эту технологию для написания этой переменной вне цикла, ты это сразу заметишь. Получается, что мы убиваем сразу два зайца: набор меньшим нажатием клавиш, использование того, что доступно. Кстати такой принцип используется в C# и мне неадо лезть каждый раз в справочник, там (в списке) видно все ,что есть, и при этом дается небольшое краткое описание.
"Мастеры".
в таких мастерах указано все, что есть, а выбираешь в итоге, только нужное, да еще справку короткую можно получить.
Всё это есть в справке, а также в примерах, заготовках игр и статьях.
Про мастера я уже сказал в самом начале своего поста. Но еще раз намекну, что не всем прям таки прется сразу смотреть в справочник, когда они могут получить краткую инфу, а она обычно выводится ввиде всплывающей подсказки. А когда потребуются объяснения по подробнее, то добро пожаловать в справочник.
Это довольно распространенный способ и встречаю его очень часто.
Про графы может и лихо завернул, но представить их можно по разному, да проверить переход в переменных, можно обозначить переменным переходом, а по нему попасть в месторасположения данной команды в коде и найти все нужное. Переход-то осущевствляется все равно командой не так ли?
А так любой граф дающий хоть сколько-то больше информации никогда не будет лишним, даже если не будет отображать переменный переход. Все остальное зависит от самого продукта, от возможностей отбражения данных элементов и от самих разработчиков IDE.
Этого никогда и нигде не будет. Нолный нуль не сделает хорошую игру. По определению.
За два клика не сделаешь "неплохой квест". Заготовки игр, примеры кода - пожалуйста. Это уже есть. Если их мало, дополняйте.
Зачем эти "мастеры" сейчас, если серьёзно? Что сможет сделать "мастер" за автора сейчас, что автор не может сделать сам в QGen?
Вот с этим не согласен - это все зависит от разработчика и от того, что понимать под неплохим квестом. Для большего разъяснения проведу анологию с Delphi, там даже полный нуль, может создать уже готовую форму, так и здесь можно создать хотя бы начало, а все остальное всего лишь маленькие пробы. В одном ты прав, когда вообще не понимаешь, то не можешь создать хорошую игру. Но зато людам будет с чего начать, попробовать посмотреть чего предлагет им мастер IDE (все желания он все равно не сможет удовлетворит, кроме стандартных). А раз уж есть загатовки почему бы не сделать автоматизированной вставки, хотя бы как вставки кусков кода из библиотеки (такое делается в редакторе ExpressPerl)?
Неактивен
А можешь дать ссылку на расположение ресурса представляющий данный продукт или хотя бы расскажи о его возможностях.
QGen? http://qsp.org.ru , там же будет и новая версия.
Сейчас ещё только в разработке.
Я уже не вспомню, как сокращенна называется эта технология, но даже если у тебя нет длинных имен, зато есть переменные, а такая технология позволяет автоматически вставлять имена команд, переменных и т.д., только тех которые видны в данной области. К примеру локал. перем. в цикле, не будет видна вне его области и используя эту технологию для написания этой переменной вне цикла, ты это сразу заметишь. Получается, что мы убиваем сразу два зайца: набор меньшим нажатием клавиш, использование того, что доступно. Кстати такой принцип используется в C# и мне неадо лезть каждый раз в справочник, там (в списке) видно все ,что есть, и при этом дается небольшое краткое описание.
Это сделать несложно, так что, скорее всего, сделают такую фичу в новом QGen(опционально).
Насчёт "видимости" переменных, функций и операторов - в QSP область видимости одна, неделимая. Т.е. в любой момент доступны все переменные, функции и операторы.
все зависит от разработчика и от того, что понимать под неплохим квестом. Для большего разъяснения проведу анологию с Delphi, там даже полный нуль, может создать уже готовую форму, так и здесь можно создать хотя бы начало, а все остальное всего лишь маленькие пробы. В одном ты прав, когда вообще не понимаешь, то не можешь создать хорошую игру. Но зато людам будет с чего начать, попробовать посмотреть чего предлагет им мастер IDE (все желания он все равно не сможет удовлетворит, кроме стандартных). А раз уж есть загатовки почему бы не сделать автоматизированной вставки, хотя бы как вставки кусков кода из библиотеки (такое делается в редакторе ExpressPerl)?
В QGen и сейчас "полный нуль" может создать готовую игру. Игра будет таким же нулём, как и пустая форма.
Запустил QGen, написал пару строк в окошке "описание локации", сохранил.
Можно даже вообще ничего не писать.
Что будет мастер-то за автора делать? Вставит действия? Напишет код для игры? Описания распишет?
Дикость какая-то. Поясни на живом примере.
Может, там будет выбор из заготовок? Чтоб выбрать из списка, и он вставил заготовку?
Но это можно сделать сейчас через меню "Квест/Открыть" - выбрать нужную заготовку, и всё! Смотри на готовый код, изучай. Разве это слишком сложно, даже для "полного нуля"?
Опять же, если это будет просто вставка "заготовки" квеста, то это реализуется очень просто. Вопрос в целесообразности.
Неактивен
Nex написал:
Что будет мастер-то за автора делать? Вставит действия? Напишет код для игры? Описания распишет?
Сформирует болванку кода для типового объекта.
Вобщем, в чём спор, я не понимаю? Делай, если хочется. Главное, язык сначала реализуй. Мастера без интерпретатора бесполезны.
Неактивен
Сформирует болванку кода для типового объекта.
В QSP нет объектов.
Вобщем, в чём спор, я не понимаю?
Речь шла о том, что QGen не соответствует его представлениям о среде разработки текстовых квестов, потому что там не хватает того-то и того-то.
Неактивен
Gremour, имей совесть сначало прочесть статью, а уж потом делать выводы по этой теме. Про заготовки генерируемых мастеров, ты, правильно заметил это болванки. Это бывает очень полезным, если приходится длеать несколько одинаковых блоков, но с разными именами или параметрами. Поэтому и создают одинаковы образцы, а по ним с задаными именами генерируется код. Например, код меню в QSP можно также генерировать, как шаблон. Только без полной конкретики, такой мастер следует назвать "мастером меню". В любой платформе всегда можно найти то, что можно облегчить таким путем.
В плане СТК не парьтесь, сначало будет релиз, а потом релиз 2.0 с редактором, ну а уже после 2.0 и сама IDE. ![]()
В третьих, QGen взят для примера, чтобы показать, что есть редактор и каким он может быть IDE. И естственно, рассматривается на данном примере, что такое редактор и IDE. Думаю, в заключительном абзаце всей статьи всем понятно, что это такое.
Также QGen, единственный русский редактор (действительно, как программа-утилита) для квестов. ![]()
Неактивен
Eten написал:
Gremour, имей совесть сначало прочесть статью, а уж потом делать выводы по этой теме.
Тема треда "IDE или редактор", платформа не упоминается. Из статьи, цитирую:
в качестве объекта рассмотрения для темы возьмем QGen - редактор для квестов QSP.
QGen взят лишь в качестве примера. Так что выводы я сделал вполне закономерные - тема общая. %)
Далее ты это подтверждаешь:
Eten написал:
В третьих, QGen взят для примера, чтобы показать, что есть редактор и каким он может быть IDE. И естственно, рассматривается на данном примере, что такое редактор и IDE.
![]()
Неактивен
В общем не важно, расмотрел ли я отдельно, что-то одно из приведенного или пробежался по всей теме, но тема дествительно планировалась, как общая, а во всем остальном ты прав, видимо я тебя не очень понял и всего-то.![]()
Неактивен