У каждого умника все получется всегда по своему. (цитата и народа)
Привет все поклоникам Адвентуры! Скажу в кратце в место введения. Я уже достаточно посмотрел разных текстовых квестов и платформ для их создания, но мне всегда не нравилось и не нравятся их короткие возможности или усложненный язык. Буду согласен, если мне скажут, что всегда делают свою платформу (т.к. знают ее хорошо) и под свой квест. Но почему бы тогда не сделать простой язык текстового квеста, который в одно и тоже время будет легким для понимания и мощный по своим возможнотсям. Опять же здесь вылезает мнение, что нашелся еще один умник, который создаст еще один горе язык. На это скажем, что язык СТК явялется специализированным языком, направленным на создание, как текстовой игры, так и текстового квеста. Понятие текстовой игры задается для большей свободы в написании хороших квестов. К примеру возмем редактор ТКР (автору движка: не обижайтесь на критику говорю по сущевству), сам пробовал ничего программа хороша, но есть один недостаток движок полностью ориентирован на создание только определенной группы текстовых квестов. Это конечно хорошо, когда не нужно лишний раз думать и изворачиваться в исходном коде - все просто и понятно, но характер перса может быть сложнее и даже задан по другому. Теперь возмем Урку, тоже хороша и проста, жалко что опять возможностей мало (опять же для хороших больших квестов) и плеер слетает при первой же ошибке. Конечно же скажете, что я бука и сам ничего лучше еще не сделал, но больше всего поражает, что никто (или почти никто) не делает редактор, с помощью которых создать простой квест плевое дело, а хороший самое то! Думаю, достаточно привел основных недостатков современного русского движения (можно привести и еще больше, но лень), поэтому решив не соглашаться с таким положением дел решил создать платформу поновее. Сразу огорошу, господа и дамы, всегда создаю универсально (дольше, но качественнее получается), мой СТК (только русскими) может сразу сбить с толку (многие вещи реализуются простыми командами, почти как веб страница по сути, но другое), создавать буду на языке ООП Visual C# 2005 с поддержкой .Net FrameWork 2.0. В конечном счете планируется создать ряд программ для СТК: редактор, прогрыиватели с разными варияциями испольнения, компилятор(в далеком будущем, если такое возможно). Естественно язык получится со своей концепцией и направленностью.
Чем отлчиается СТК? Ответ: Основное его отлчие в том, что он реализован на верхнем уровне тегами XML(на аглийском, увы таков стандарт), на нижнем кодом СТК, который позволяет влиять на квест и выполнять различные команды. Теги упрощают язык СТК и в плане восприятия, и в плане написания. СТК содержит простые команды как и у любого языка (т.е. стандартный набор), содержит специализрованные операторы, которые облегчают реализацию сложных моментов в квесте, а также полезны в обычном использовании (Например оператор множественного условия - содержит мно-во услвоий, связанных между собой не только по смыслу, но по зависимости от выполненных действий предыдущих условий, для тех кто хоть раз программировал хотя бы на Си - это среднее между простыми операторми условия и оператором выбора, но в тоже время совершенно другое. Использовать можно к примеру, для создания сложного замка, который игроку нужно взломать. Отвлеклись немного в подробности пора и меру знать, пойдем дальше.
Базовые типы данных (для тех кто не понял типы переменных: строка, целое и т.д.) мало, но их достатончо для реализации даже отменного квеста (кстати квест хорош не только возможностями исходного кода, но своим сюжет, а это главное). Типы, следующие: число (десятичное), строка, булев, массив, перечисление, структура. Возможно что-то и еще появится, но это будет если без него в действительности не обойтись.
С помощью тегов можно реализовывать характер перса, инвертарь, настройки квеста, стартовое меню (одно из особенностей СТК), события, окружение ( к примеру время тоже относится к окружению квеста), локации( мульти и обычная). Здесь тоже будут добавления. Одна из особенностей данных локаций в том, что для вывода текста после действия, вовсе не надо создавать лишную локацию, СТК будет хранить в памяти локалные переенные локации и выполнять ее снова и свнова, до тех пор пока вы не сделаете переход в другую (согласен звучит жутко, дико и возможно намудрено, но в коде выглядит во много раз проще, зато и писать короче будет). Также соглашусь, если скажут, что тут надо уметь писать алгоритмы, но ведь такие алгоритмы может и школьник научиться писать без всякой заморочки и направленность, такая что можно будет создать хороший квсет. Основной понт в XML тегах то, что они ОС независимы и просты, поэтому такой формат сможет прочитать любой проигрывател СТК квестов, а редактором можно спрятать само написание тегов и вам останется только думать о создании самого квеста. Также в редакторе будет эмулятор СТК, с помощью которого будет производиться отладка квеста. Короче с проектированнием все в норме, рассказывать могу до посинения. Единственная проблема остается - это само создание и мнение участников форума ( с вопросами конечно), о самом СТК и чего бы ему не помешало бы добавить. Для тех у кого есть сомнения в хорошести даного языка приведу к примеру еще одну фишку: Когда изучал ТКР (ради интереса), то наткнулся на понятие режима боя, реализованно хорошо, но специфично. Попробовал перевести на свой язык СТК такую возможность, оказалось, что у меня это уже запросто осущевствимо через одни только локации и СТК (сам с начало не поверил, но факты сами за себя говорят).
З.Ы.
Скажу для желающих принять участие, помочь сможе только своими вопросами и критикой, так уж сложилось, что писать программы, как у меня получется могут понять не многие и достраивается все окончательно, только когда все перепробую и код пройдет через все возможные варианты (Предаствьте, что я построил 5 раз дом на даче и мне, что-то не понравилось в нем, взял да начал все сначало, только что-то одно отсавил так как есть.). Времени тоже мало(как и у всех в общем), поэтому не так быстро движется разработка, щас работаю над созданием интерпритатора СТК, сложно, но реально (если кому интересно узнать об интерпритаторах и т.д. идите по этой ссылке: http://www.softcraft.ru). Также меня окончательно убедило, при создании данной темы, создать свой сайт на народе с описанием всего о проекте, как создам, ссылку напишу, но не раньше чем, через две неделе. Очень хочется услышать трезвую и коснтруктивную по сущевству критику, так как подобные вещи помогают больше выяснить об потребностях русского движения адвентуры. И не беспокойте, если вам кажется, что я пишу о проекте несколько туманно, все же реализуется в процессе создания.
Естественно это еще не все, будем и остальное, только переварю в нормальный вид.
Неактивен
Как и обещал, даю ссылку: http://stk-engine.narod.ru/. Но учтите, сайт находится в разработке и начиная с 21.05.2007, буду его строить и загружать на сервак. Свое мыло на временной странице написал, так что если есть вопросы, мысли и предложениясмело пишите на мыло, обязательно отвечу! А щас пора на работу.
Неактивен
Спасибо за хорошие вопросы. Спешу тебя обрадовать, AlsoKorwin, ты не тупишь, проблематика моих постов в том, что сложно описать все, что держишь в голове, да и к тому же, чтобы написать хорошую программу на это действительно требуется время и программа всегда проходит несколько этапов развития. Моя пока теплится на первом.
СТК от QSP отличатеся, следующим:
1) Читабельным русским кодом, где понятно каждое действие и вслесдствии чего появится возможность сделать нормальную отладку квеста не только привилегией программистов
2) Теги используются, как XML теги, а из этого следует, что не надо создавать лишних команд СТК, когда есть аттрибуты, другая фишка: все, что связанно с теги будет доступно игроку в проигрывателе, команды СТК здесь добавляют гибкость алгоритма и развязывают руки авторам квеста
3) Все команды СТК так или иначе имеют свой определенный смысл и выполняют одну важную цель облегчить написание алгоритма квеста (квест как ни крути все равно программа, только проще и меньше).
4) Программирование на СТК похоже на программирование на JavaScript, но тут нет понятие функций (они просто не нужны), но есть объекты без ООП (Объектно Ориентированное Программирование), только его элементы необходимые для работы с последними
5) СТК в своей базе имеет, как простые типы, так и сложные, сложных же в QSP не видел, такая основа дает возможность сделать продвинутый квест, чей в такой будет интереснее играть.
6) В СТК все разделенно по трезвому взгляду: Абастрагироваться (скрывать весь код квеста замещая его удобными элементами для восприятия) будем через редактор, который к тому же будет иметь свои возможности, Реализация движка будет построена таким образом, что любой редактор написанный на CLR совместимом языке (Это в дебрях .Net FrameWork - межязыковая независимость и такая точно сущевствует!) сможет использовать код движка для плеера, Реализация разновидных плееров от ретро и со скинами
7) Структура языка СТК основанная на XML стандарте дает не зависимость от от формата плееров, которые поодерживают СТК
8) Вывод текста на экран будет сродни чтению книги, т.е. не монотонный текст в ширину, а разделение наподобие ворда или как в веб-страницах, естетственно со с цветом
9) У каждого плеера будут свои особенности, при этом СТК будет выдавать инфу квеста ту, которая поддерживается самим плеером, к примеру у него может не быть цвета или он не будет поддерживать мультимедиа, т.к. для таких вещей нужен дополнительный код, несмотря на то что он будет маленький.
10) Главный плюс всех плюсов, что моя цель создать не панацею, а еще один взгляд на эту проблему
...
В общем на этот вопрос можно говорить много и возможностей тоже проглядывается не мало, насчет RTADS, к сожалению с ней не знаком (весит эта дура прилично! не всякий раз при выкапывании материала решишся такой размер загружать). Но можете соотнести некоторые из перечисленных пунктов к RTADS.
Киньте ссылку на AkURQ 1.28 для скачки, т.к. видел только Ripsoft (если не путаю), RTADS гляну на днях. Что насчет демки, то когда доделаю свой сайт, то а нем в первую очередь по подробнее напишу об СТК и приведу примеры квестов (маленьких). Демка сможет появиться только, через 1-2 месяца, учитывая что материал копил и обрабатывал целых 3 месяцах (это уже может навести на определенные мысли), так что вот вам мой совет, никогда не стесняйтесь высказывать о нуждах от платформ, нам же надо ориентироваться на что-то. К тому же материал будет не так просто переварить на бумагу, опыт в написании нормальных движков есть, да и к тому же будет прилагаться исходный код с поянснениями того, как деалются интерпритаторы для адвентуры (это будет когда накопится достаточно материалу).
З.Ы.
В общем че в голову щас пришло сразу на чистоту выложил, чего не сказал тому еще придет время, у меня соотвественном и к пользователям появятся свои вопросы, но задам когда онм будут чекткими. Засим спасибо, пора заниматься сайтом и прогой. А чуть не забыл самое главное, в СТК всегда будет возможность не использовать все его возможности, т.е. написать простой менюшный квест, будет тоже самое, что позавтракать утром (в смысле не принужденности).
Неактивен
Только шо успел не много пощупать комплект TDAS (редактор и прлеер), одно слово КРУТО! Другое обидно, сделано то на запада и основа английская. RTADS всего лишь руссификация. Одного хорошо, куча интересного материала и возможность поиграть в переведенные западные игры. Но согласитесь, что куда приятнее использовать отечетственный комплект, а не одни руссификации. Говоря автору RTADS, молодец, твой вариант мне тоже понравился, но мне по нраву будет использовать русский язык в полном смылсе этого слова.
Так, что ответ на вопрос: "2. Чем в лучшую сторону будет отличаться СТК от RTADS? (Имейте в виду, что RTADS разрабатывался не менее 6 лет - не считая времени потраченного на разработку собственно TADS (еще лет 8-12), и сейчас является самой лучшей системой для написания текстовых адвентюр (с ипользованием синтаксического анализатора) в России. Является кроссплатформенной. Основан на Си-подобном коде, поддерживает html.", будет таков: самое большое отлчие СТК, что он полностью ориентирован на русский язык, а какой редактор для него будет реализован покажет время и практика, т.к. язык еще пока что из пеленок не вышел, но растет.
Теперь у меня вопросы к участникам диалога, они следующие:
1) Имеет ли смысл создать поддержку тегов, как на русском, так и на английском?
2) Было бы ли вам удобно, если команды СТК и переменные воспринимались, как на английском, так и на русском, исходя из того что каждый привык к своему способу писать квесты?
3) Хотелось ли бы вам в конечном счете увидеть СТК таким, тчобы его могли поддерживать многие CLR совместимые плеера квестов, а также получить в варианте независящим от возможностей плеера?
4) Каков способ реализации действия в синтасическом анализаторе русского языка нужен?
В общем вопросв еще немного есть, но этих пока хватит.
Неактивен
Еще раз спасибо за ответы, хорошо что тему накатал раньше чем начал полностью формировать язык в код. С другой стороны это хорошо когда отвечают на вопросы прямо - это помогает взглянуть на прогу с разных сторон и поменять некоторые вещи в проге.
Команды СТК естественно будут на русском, теги с аттрибутами проще сделать на английском. Переменные оин и в африке переменные, можно и русские, можно и английскме. Но первоначально планируются русскими. ДЛя простоты понимания русских команд щас дам некоторую нароботку из материала:
<Квест название="Демонстрация движка СТК" версия="1.2.3.565"> <Настройки> <Схема тип="Цвет"> <название="Фоновый" значение="#123fd4"/> <название="Текст" значение="#ff3fd4"/> <название="Важное" значение="#12ffff"/> </Схема> <Схема тип="Стиль"> <Алиас имя="Обычный" формат="Comic Sans MS" размер="12" дополнительно="Ч,К,Ж" выравнивание="Правый(Левый, Центр)" расположение="Центр"/> <Алиас имя="Таблица" формат="Comic Sans MS" размер="9" дополнительно="Ж" выравнивание="Левый" расположение="центр"/> </Схема> </Настройки> <Меню> <Пункт название="Начать игру"> переход "Глава1.Сон"; </Пункт> <Пункт название="Об авторе"> Автор: Целая куча народа. </Пункт> <Пункт тип="Текст" название="Об игре"> В игре нет особого жанра, она только демонстрирует все возможности движка "СТК". </Пункт> <Пункт тип="Текст" название="Помощь"> Особо говорить неочем, смотрите демонстрационный квест, который покажет вам возможности данного движка. Если прочитать код квеста, то можно убедиться в его хорошей структурированности, читабельности и простоты создания квеста. </Пункт> </Меню> <Окружение> <Глобальная> число время = 100; // кол-во времени в обратном отсчете </Глобальная> </Окружение> <Инвентарь> <Шаблон имя="Патрон" элемент="Простой"> <Меню> <Действие название="Осмотреть"/> </Меню> </Шаблон> <Шаблон имя="Оружие" элемент="Составной(Простой)"> <Предмет шаблон="Патрон"/> <Меню> <Пункт название="Осмотреть"/> <Пункт название="Атака"/> </Меню> </Шаблон> <Предмет шаблон="Оружие" имя="Палка" название="Сухая палка"> <Меню> <Пункт название="Атака"> вы бьете палкой </Пункт> <Пункт название="Осмотреть"> Палка, как палка. Но лучше поискать меч. </Пункт> </Меню> </Предмет> <Предмет шаблон="Патрон" имя="Синий" название="Маленький камень"> <Меню> <Пункт название="Осмотреть"> Такой патрон в пистолет не засунешь! </Пункт> </Меню> </Предмет> <Предмет имя="Зеркало" название="Чистое зеркало" элемент="Простой"> <Свойство имя="Чистота" тип="Булев" значение="ЛОЖЬ"/> <Меню> <Пункт название="Поглядеть на себя"> Ну и рожа, как будто целую неделю с углем возился! </Пункт> <Пункт название="Осмотреть"> В такое зеркало можно на себя постмотреть, поиграть в зайчика и просто выкинуть на фиг. </Пункт> </Меню> </Предмет> </Инвентарь> <Персонаж> <Характер тип="число" имя="Жизнь" название="Жизнь" значение="34" элемент="Простой"/> </Персонаж> <События> <Обработка условие="время <= 0"> //Выполняемый скрипт, для времени <= 0 переход Глава1.Пробуждение; </Обработка> </События> <МультиЛокация имя="Глава1" название="Глава1.Пролог"> <Локация имя="Сон" название="Плуждание по сну"> //Программный код, который осущевслтяет вывод текста, определение допустимых действий и просто выполнение скрипта. //Локация, после каждого действия будет выполняться заново, при этом локальные данные будут сохранены и так вплоть того, пока //не будет сделан полный переход в другую локацию. </Локация> <Локация имя="Пробуждение" название="Эпилог пролога"> закончить; //Здесь также как и в других локациях, но здесь не могут быть определены действия. указание команды "закончить", говорит //плееру квестов о том, что после выполнения этой локации игра окончена и выполнение событий, окружения и т.д. прекращается. </Локация> </МультиЛокация> </Квест>
Это представляет из себя первый пробный вариант кода СТК. Сразу скажу писал его давно, поэтому в некоторых местах может быть не так, но в принципе все как надо. Самое главное взгляните на метод написания. Согласен, теги грамоздкие, но я же не буду заставлять авторов писать в блокноте, для этого будет редактор. В плане примера, то щас работаю над материалом для сайта и там вывешу все в полном объеме. В некоторых ответах согласен цели бывают наивными или дерзкими, но представьте себе не меня, а адвоката - у них ситуации бывают похлеще, но когда дело доведешь до конца получается что-то очень интересное, не похоже на первоначальное, но не фигня разумееется. Прошу обратить особое внимание на проблему кода представленную, GrAndrey и на мой. Сам могу сказать, что мое применение XML разгружает СТК от излишеств мудрого кода, да и теги проще (как всегда ) понять, чем замысловатый код, GrAndrey, который к тому же нужно еще и учить, а теги они везде теги. Да и с технической стороны также просты в работе, даже если всбрендит написать сервак СТК.
В дальнейшем прошу извинить за то, что возможно не ответил на все вопросы, мне щас надо сайт писать (содержания у него много), но тему прошу развивать, т.к. это неплохой материал для СТК. Также прошу в кратце обрисовать ООП RTADS, ее преимущества, способы написания, применния и прочее, дабы отразить все возможности применения ОПП в адвентуре. Я же по началу не стал ставить ООП, дабы не грузить народ излишней морокой посчитав (исходя из квестов написанных самим народом и т.д.), что ООП ими сильно использоваться не будет. Но вижу, что не много не прав.
Помню, кто-то из собеседников заговорил про сетевую версию, но что он подразумевает, вебстраницы или серваки с клиентами и как?
З.Ы.
Не ожидал такой реакции на платформу, но видно что народ интересует все что движется по адвентуре .
В плане дисскусий на них ответить, надо потратить уйму временени. Поэтому уделю больше внимание сайту и проекту, чтобы выложить сайт в срок. Но читать ваши посты буду по мере их поступления. Да и связь не всегда устойчива, так что не поймите привратно, если сразу не смог ответить.
Неактивен
Напоследок на этой недели скажу, чтобы перепплюнуть RTADS, мне будет сначало нужно создать СТК полностью и воочию ,и тоже с возможностью
компиляции в экзешник.
Неактивен
3. Советую еще ознакомиться с платформой 6дней и игрой "Клара - расхитительница варенья". Это, возможно, будет полезно в смысле создания редактора.
Согласен материал интересен, только квест врятли найду, даже не помню каким макаром закачал редактор.
Неактивен
Чуть не забыл, уже успел накорпеть основу сайта и вывести в сеть по http://www.stk-engine.narod.ru/. Так, что можете глянуть. В основном большой объем материала буду выкладывать там, а обсуждать предалагаю тут.
З.Ы.
Надеюсь проблем с навигацией по сайту у вас не будет, сам проверял все работает, только гостевую книгу яндекса не включил. А в основном постараюсь выложить, как можно больше обработанного материала к 4 июню.
Неактивен
Им просто жаль Ваших усилий... ведь каждый из разработчиков начинает фактически с нуля... и доводит свой проект до определенного вида, уже ПОЧТИ пригодного для работы... эти "самолёты" ПОЧТИ летают. На них можно писать квесты... но почему-то квесты не пишут!
Возможно, сочувствуют, но до эттого еще рано. Основоной фиг (возможно психлогический) для авторов платформ в том, что они пишут ожидая положительной реакции на их разработки и забывают, что писать имеет смысл не ради славы и т.д., а ради самой платформы. Разумеется с трезвым взглядом (типа без опьянености эмоциями и летаниями в облаках). А так даже в случае не удачи, матреиал этой темы будет полезен для других. Но даже в случае не удачи, я не стану останавливаться и буду пробовать другие варианты. Почему решил начать с менюшной, да потому что с ней можно отладить все остальное ( не секрет, что меню будет проще реализовать). С другой стороны в СТК меню и ввод будут применять, как раздельно так и совместно (сами прикиньте, зачем все месить под одну воду, когда можно выбирать разные вариации). Применениие XML технологий с другими облегчает задачу реализацию, тем что XML - выполняют некую роль траснпорта, а код это люди в странспорте. Естественно среди людей есть и пассажиры и водитель. К тому же при таком раскладе, в редакторе (илли в среде разработке), вам не надо будет особо помнить все теги (пусть это будет для тех кому IDE не нужна или для тех кто хочет читать квест из текстового редактора), редактор убирает их от вашего взгляда и дает возможность сконцентрировать внимание на квест ( как C#, но своим способом).
Что насчет сетки, то применение веба, зависит от поддержки серверов технлогии .Net FrameWork. Но выбор мой мой пал на нее потому, что на ней писать проще и проблем с реализацией тоже меньше, чем на C++. Такая технология мало-мальски использутеся в России, но когда она станет использовать также, как и Windows младших версий, для меня не известно.
Пока сказать нечего, т.к. активность темы такая, что я не успеваю обхватить все вопросы, а работаю щас над первой версией СТК, как и указал его реализацию так и сделаю, ну а после пробы будет видно, что и как добавить, для анализатора пока еще надо собрать инфу больше, ясно же то это не просто обработка введенных слов, а целый ряд вещей, которые нужно реализовать.
Во всем остальном прошу резко не судить будущую первую версию СТК, т.к. появятся и другие, а релазовать все и сразу с первого шага в СТК - это самый верный шаг к краху всей платформы.
Неактивен
Скажу только, одно проявите немного терпения. Скоро, на моем сайте будет выложенна концепция, синтаксис, возможности и прочие для СТК 1.0. Написать полное разграничение от выше приведенных прог (т.е. все "+" и "-"), трудно, да и, как мне кажется (хотя могу ошибаться), определить можно будет только после первой СТК. Точнее по ее тенднциям развития. С другой стороны, у меня тоже бывают мысли, а нужно ли это, но как практика показывает, это только так кажется. При любых раскладах труд никогда не бывает в пустую. Согласен, сделаешь ошибко - хреново, будешь дальше двигаться, будет получаться лучше и в конце концов станет не хуже.
З.Ы.
Не согласны, тогда гляньте, каково легко создавать тем ( и ошибаться естсвенно), кто первыми пишет платформы и каково трудно тем писать, кто учитывает ошибки других и двигает понятие платформ дальше.
Так что, первое отличие от всех будет трезвое разделение, когда, где и как должен быть квест. Естственно при проектировании первой версии будут некоторые ограничения, некоторые вещи, будут добавленыы в последующих. Зато создам хороший костяк, даже если придется самому сидеть и издеваться над собственным проектом в плане бэта-тестов ( а такие вещи, уже не рз делал и причем очень зверски, зато вылезиет больше ошибок, чем при мягком варианте). Если, кто не понял, то один раз у редактора во время процесса сбросил нужный файл в корзину, ничего программа выдержала не слетела.
Что насчет разработки движка, то пока проектирование не закончиться, то нет смысла приступать к более конкретной обработке. Вот цитата:"Если вы не можете продумать все ваши действия, значит алгоритм плохо составлен."
Первая проба написания простенького транслитератора не увенчалась успехом, зато понял, как происходит сам процес на деле, а не в теории.
Пока у меня не будет точных ответов на различие, пока не закончу проектировку до конца (уже мало осталось). А когда выложу на сайт, то сообщу здесь и тогда отвечу побольше.
Неактивен
Unreal :
Я являюсь резким противником самодельных платформ, поэтому сразу начну "гнобить" твою идею, чем, искренне надеюсь, спасу тебе от траты месяцев на бесцельное занятие.
1. Представься, вожалуйста. Сколько тебе лет и каким боком ты связан с программированием?
2. Напиши бизнес-план проекта. Как ты представляешь себе процесс и сроки работы? Каков объем человеко-месяцев будет потрачен на каждый элемент проекта (редактор, интерпретатор, стандартные библиотеки и пр.)?
3. Ты хорошо читал все темы разделов https://forum.ifiction.ru/viewforum.php?id=9 (Техническая часть) и https://forum.ifiction.ru/viewforum.php?id=11 (Разработка русской IF платформы)? Сколько незавершеннных грандиозных начинаний ты там насчитал?..
Я не шучу. Обо мне ты можешь почитать здесь: https://forum.ifiction.ru/viewtopic.php?id=819
Ну что ж, щас могу ответить на твои вопросы, но своем порядке. Мне 20 лет и программированием занимаюсь с 5 класса - это мое хобби, языки изученные мное, это: QBasic, Turbo Pascal 7.0, Delphi 5,6,7, C, C++, Visual C++6.5, Visual C# 2003, 2005. Как видишь список приличный и состоит из основных трех языков Basic, Pascal, C. Так, что будь мне хоть 15 лет, а это значение вовсе не имеет, главное это уметь писать алгоритмы и знать язык. Остальное уже не проблема. Конечно знаю и многое другое, но приводить не стану. Так что, перед тобой не начинающий программист самоучка, а человек, который понимает из чего должен состоять язык и т.д., благо примеры были. Бизнес-планов, стараюсь не придерживаться - это глупо, зачем все заранее определять, когда можешь нащупать нужную ветвь напрвления и идти, к тому же путь никогда не бывает прямым. Так что у бизнес-плана больше шансов уйти в мусорку, чем проекта, который доплыв до точки будет, выбирать следующий путь. А сам план есть, выражать его еще ранно. К тому же, трата времени определится сама, т.к. это не бизнес проект и приоритеты разработки (чем движется сам проект), другие. Да, читал многие ошибки, мне помогли увидеть основные ошибки всех энтузиастов. Главное отлчие от всех платформ - это ассимиляция сущевствующих понятий в ИФ, именно асимиляция, а не попытка создать еще один универсальный проигрыватель квестов. Мной, проблема платформ понимается, как проблема восприятия вещей между программистом (автором платформы) и пользователем (автором). И именно поэтому СТК - это другое восприятие квеста и все, что мной добавляется, проиходит ассимиляцию. Т.е. в СТК будет ООП (поглядел на его возможности уйти от мудрежа с кодом), но там не будет таких понятий, как классы, в место них будут шаблоны. Шаблоны не смогут иметь множественного наследования, как В ТАДС, но будут интерфейсы, которые смогут этим обладать. Здесь не будет методов, но будут действия и отношения между объектами, также эти понятия будут иметь свою струкутуру построения иерархии. Причина всей этой затеи, что писать на СТК будет автор, а не программист и его не могут интересовать замудренности Си++ (не всем легко их понять), а так будет иметь другой язык, который больше подходит для ИФ. И не забывайте, что все используемые нами языки, в том числе и программирования - это всего лишь языки восприятия окружающих нас с вами вещей и способы манипуляции ими. Именно поэтому, роль абстракции выолняет XML, даже чайник, увидев пример сможет запросто написать на нем скелет квеста, а уж разобрать команды СТК не так уж и сложно (несмотря на то что они будут только на русском), это сродни тому же, что изучить Бэйсик (он тоже простой), достижение быстродействия и кросплатформенности, через XML тоже реально. К тому же, у меня проект сам разворачивается по себе и определяет свое направление, мне лишь остается сделать не оегкий выбор на то, что оставить, а чего лишним будет (а это проверятеся путем практики). Так, что проект будет развиваться столько времени, сколько понадобтся создать безупречную (а это все, что в твоих силах создать, ты же компания) и трезвую платформу, даже если в ней не будет реализованно всего, что можно напридумывать.
С XML, уже успел разобраться, т.к. на Си#, есть поддержка XML причем простая и у меня получилось прочитать и записать "ручным" способом квест, кодировку использует UTF-8 (для тех кто не понял - Unicode). Так, что верхний пласт не так уж сложен, а заодно проще плеер писать будет. Понятия объектов притерпели определенные изменения, теперь будет не просто инвератарь с объектами и окружение квеста, а будет мир квеста и инвератарь, они будут взаимосвязанны между собой. Объекты, пока, будут трех типов ( но они точно будут): стацио (от слова большой) - нельзя положить в инвертарь, но можно использовать, абстракт (абстрактный, т.е. руками не нащупаешь) - сам может оказать воздествие напрямую, на него только косвенно ( к примеру время, воздух, свет и т.д.), предмет (можно положить в инвертарь, кстати, здесь взять в руки и положить в рюкзак - это одно и тоже) - можно взять, бросить, использовать. Полной реализации отношений между объектами не полчится в СТК 1.0, поэтому будет похоже, как в Урке, но по другому (наверное это непонятное, слово всегда сбивает с только, но понять, что это значит вообще по другому, тоже не малых трудов стоит ) ). Концепция у меня уже тоже становится яснее, но выкладывать еще рано. Одним словом в СТК 1.0 будет похлеще стандартной урки, но как урка ( в плане ее первого развития).
И еще СТК обязательно нужно сделать .
З.Ы.
Действуй не переставая и добьешся своего, а говорить об действительном отличии, да чего там, говорить. Когда создам СТК 1.0 в релизе, тогда и будет ясно сразу.
Неактивен
Снова привет, всем!
Сегодня мною создано две страницы "Введение в СТК" и "Концепция СТК", вторая получилась лучше. Обо всем остальном узнавайте здесь:
http://www.stk-engine.narod.ru/newproject.html.
Неактивен
Unreal:
Э-э-э... Почитал. Впредь, советую тебе писать в Word-е, и после написания перечитывать, править написанное. Пока ощущение от того текста с позиции элементарной грамотности и логичности крайне негативное. Все-же, ты разрабатываешь продукт для ИЛ сообщества, а не для обычных интернетчиков.
Второе. Ты, очевидно, не знакомился с концепциями построения других ИЛ систем. Зря.
Третье. Ладно, подождем годик-другой.... :-)
Спасибо за замечания, но меня удивило, что орфографические ошибки, т.к. сам прочитывал в Opere, прежде чем отсылать на сервер. Хорошо исправлю на днях свое грамотейство и обновлю сайт. с концепциями знаком, хоть и мало. Понимаю, что могут буть совпадения, но концепция складывается по своему, если я тебя не понял или ты видишь не дочеты в моей концепции, то скажи развернутым текстом, чтоб видно было.
Насчет логичности, согласен стоит доработать, но на то там и стоит дата обновления, чтоб можно было уследить за изменениями, думаю намек понял.
Так, что щас дорабатываю синтаксис, дабы поконкретнее подойти к СТК. как сделаю, обязательно подправлю свое грамотейство, так что не обесудьте, трудно выложить свои мысли с первого раза (первый блин комом), так что остается только доработать. Насчет объектов в конце темы, согласен сказать немного размыто, но сам счел нужным позволять не только создавать объект заранее, но и входе квеста, т.е. динамически. Хотя свпомнил, как делают другие и заметил неясности, ничего разберусь. Главное, что вовремя замечаю!
Неактивен
Сегодня закатал обновление темы "Введение в СТК", так что логичностью и связностью она теперь обладает, остальное узнаете в новостях сайта (смотри тему новостей "Проект"). Скоро переделаю тему "Концепция СТК", над темой "Синтаксис СТК" еще работаю. Работа над этими темами помогает определиться, как конкретно реализовать СТК. Вот ссылка для быстрого перехода: http://www.stk-engine.narod.ru/newproject.html.
З.Ы.
Не удивляйтесь медлительности - это нормально.
Неактивен
Gremour:
Человек хочет написать платформу для того, чтобы на ней другие люди писали игры, а не только для себя лично. Начинания похвальные, но где те все люди, которые пишут квесты? Неужели дожидаются завершения СТК?
Оригинально выразился , но по мне лучше будет, если в этой теме обсудят вопрос о парсере (как я понимаю - это синтаксический анализатор и даже больше). Чем он в ТАДС отличен от наших? Чего же таково сильного в нем (сильные и слабые стороны) для русского языка?
З.Ы.
Овет со смыслом, что можно почитать доку не пдходит, т.к. здесь есть люди, которые ТАДС знают очень хорошо и понимают его, как свои пять пальцев.
Неактивен
Всем привет! Глядя по статистике моего сайта вы все-таки еще не потеряли интерес к проекту и могу сказать со своей стороны - я еще не потерял интереса к данной теме и веду свой поект уже не в проектировании, а в программном коде 2-ой день. Должен признать, что проектирование - это самое сложное в разработке и иногда отбивает у разработчиков платформ всякий интерес к подобным вещам, но мне удалось проврвать эту крепость. И теперь для меня наступил приятный период - это программирование (уже слюнки потекли )! К тому же, есть некоторые обновления и изменения в сайте, все нужное узнаете в новостях (они тоже подправленны, кроме квестовых).
А теперь конкретно в тему. Реклама.... тут сказать можно одно это тоже самое, что играть в "Курскую Дугу", также для настоящих ценителей, поэтому скольку не рекламируй, а тольку не очень. Могу дерзко заявить одно - нам нужно создать квесты довольно с большими сюжетами, интересными, захватывающими, по возможности использовать графику и мультимедиа, дабы создать атмосферу ( в качестве примера вспомните о квесте на тему Фаллоута, точно название уже не вспомню, но тематика была с Первого фалоута, мне понравилось создание атмосферы и хороший сюжет), а то все время пишем только маленькие квесты. Даже если заглянуть на зарубежные сайты, то серъезных квестов там больше! Я бы к примеру не пожалел бы трафика на скачивания хорошего квеста (пусть даже и большого в размерах, в разумных пределах разумеется). Вот вам и хорошая реклама, ценителей ИФ мало, т.к. многим лень читать, в этом плане нужно заинтересовать очественных писателей современных жанров, все таки в ИФ больше для тех кто любит читать игру, как книгу и при этом принимать в ней участие!
З.Ы.
Спасибо за приведение парсера и помните все зависит от ваших трудов, а рыбку, как известно всем, из пруда не выловишь без труда.
Неактивен
Дамы и господа, считаю это сообщение не лишним.
На данный момент реализация СТК движется своим не потопляемым ходом и реализована на 50%. К тому же, кто-то из писавших в этой теме говорил, что концепция не очень, так вот на днях мною была в корне пересмотрена вся концепция мира объектов в СТК. Пришел к выводу, что моя концепци ничуть не хуже и реализует мир по своему и при этом не вызывает осложнений (че ни пробовал расписать через эту концепцию, все получалось понятно и хорошо разложена). Крнечно в концепцию внесены поправки. Одно сразу скажу, в СТК 1.х объекты бцдут объектами без наслдования и отношений, а в СТК 2.х - это все появится вместе с парсером (без него никак). А когда СТК устаканится в определенной мере появится возможность добавлять к квесту картинки, музыку, звук и видео.
И еще, народ не говорите, что ТАДС производит компиляцию, там это понятие условно от настоящего смысла, т.к. клиент берется один и тот же, в дополнение к нему лепится квест, так чтобы он запускался. Так любой может сделать! И даже не смотря на то, что я не знаю хорошо ТАДС, я умею создавать программы и уж смогу отличить копирование проигрывателя от создания программы-квеста.
Неактивен
AlsoKorwin:
1. Искренне рад. Но, как известно, первые 80% работы отнимают 20% времени, а последние 20% работы - 80% времени.
2. TADS компилирует именно игру. А клиент может быть любым. В том числе, написанным другим разработчиком.
Насчет процентного соотношения работы согласен, потому что 20% - это сам движок, самая сложная часть. Сегодня доделываю обработку объектов мира из отдельных кирпичеков. У меня вот тоже свои мысли были, как компилировать СТК. Так вот вопрос: под любым клиентом игры на ТАДС, нужно понимать клиент поддерживающий ТАДС?
У меня лично на первых порах СТК будет два клиента: пользовательский и для бэтатестеров. Говорить об отличительных особенностях не буду, но они и так ясны.
Неактивен
Unreal:
Как только будет готово демонстрация, которая позволит создать что-то такое: http://www.firthworks.com/roger/cloak/ сразу пиши. Исходники для РТАДС можно взять отсюда: http://rtads.org/games.php (игра "Плащ тьмы").
Спасибо за предложение, конечно реализую, но будет это уже на СТК 2.х, по понятным причинам (читай мой предыдущий пост).
Неактивен
В добавок ко всему сказаному вчера, насчет объектов добавлю следующие, в моих планах в СТК 1.х выпустить ограниченный вариант с прошитыми базовыми отношениями: Субъект (раньше был стацио), Вещь (раньше был предметом) и Абстракт. В данной версии будет ставиться упор на развитие возможностей СТК команд и объекты будут, как указано в концепции с поправками. После того, как СТК набирет достаточно команд, мною будет создана СТК 2.х, но уже с парсером, всеми прелестями ООП (при этом без усложнения комнад СТК). Под конец СТК 2.х, сможет выполнять и реализовывать квесты не хуже ТАДСа. Конечной версией будет СТК 3.х, которая будет реализовывать мультимедиа возможности, дабы приблизиться к современным стандаратам. После СТК 3.х, может появиться 4.х, но она не будет добавлять нового (радикально нового), а пойдет по пути эволюции и оптимизации. К тому же начиная с СТК 2.х, появится редактор квестов (названия пока нет) версии 1.х и будет расти в среду разработки. Так, что ждите!
Неактивен
Тема, конечно очень старая, но стоит отметиться. На данный момент прогресс составляет 50% (реально) реализованного кода движка-платформы и теперь шаблон квестов перестал носить только декларативный характер.
Одним словом предстоит осилить весьма нехилый кусок из 30%, а это: проверка синтаксиса команд, их разбор и построение модели квеста. Остальные 20% будут работать с моделью квеста, в принципе они и составляют основной механизм движка.
З.Ы.
Я бы мог выложить компилированный файл альфа-версии, но максимум, что можно на нем увидеть, так это чтение конкретного файла и список тэгов лексем с их подноготной, а также вывод ошибки с ее позицией, если такую создать в читаемом файле, правда объяснения по русски этой ошибки нет. Так, что выкладывать смысла нет.
Неактивен
ASBer написал:
а 2 + 2 * 2 будет равно 6 или 8 ?
Конечно же 6. Пока до разбора самого синтаксиса не дошел, не до конца разработан весь синтаксис СТК, но все приготовления к этому почти закончены. Дальше дело за малым.
ASBer, ты читал статьи моего проекта, если да, то должен логически догадаться, что будут, если нет, то прочти сначала статьи.
На твой вопрос, в статьях явного ответа нет, но он подразумевается само собой, т.к. применение математики, без ее приоритетностей операций - это серъезный баласт, об остальном и говорить нечего и так понятно.
Отредактировано Eten (09.02.2008 13:02)
Неактивен
Поддержка .NET имеется и в Linux - в лице Mono. Думаю, заработает и в нем, нужно только проверить.
Смотря в каких. На сайте MS есть список доступных систем линейки Windows и по шире (Потом и на своем сайте внесу тоже) . А с другой стороны не плохо, значит у других будет возможность использовать мой код (учитывая определенные соглашения).
З.Ы.
Скоро закачаю многотомный архив и обновлю содержимое сайта, в проекте работаю над конкретными правилами синтаксиса.
Неактивен
Eten, не пиши о том, о чём имеешь смутное представление. Звиняй, но абсолютное большинство твоих сообщений воспринимаются крайне смешно. 2all: это только у меня такое впечатление?
Может, ты подошел к зеркалу, прежде чем это сказать, но меня в нем не было. Так, что делай выводы.
З.Ы.
Сначала пиши цитату, а потом так говори. Тогда может быть у тебя не будет смутного представления.
но абсолютное большинство твоих сообщений воспринимаются крайне смешно. 2all: это только у меня такое впечатление?
Сходи психологу, а еще лучше к психиатру, может поможет. (ничего личного, дружище)
Неактивен
Hind, может я тебя и не понял. Но когда учил C# начитался уйму книг и в каждой этот .Net Framework был прекрасно описан во всех мельчайших деталях.
...Hind, тогда тебя действительно не понять. Читая твой пост еще раз, складывается мнение, что понятия путаю не я, а ты - в этом и весь сыр бор. Потому, что .Net - это сеть, а .Net Framework - это совершенно новый подход на программирование. А с другой стороны не глядя на разлчие между двумя фразами, я тебя точно понял и понял это, как то, что Mono поддерживает технологию .Net Framework. FREEBSD, к примеру поддерживает данную технологию и создана она на основе Linux-а. Так, что в моих постах логика мысли не нарушена.
З.Ы.
Во всем остальном, мне без разницы, на какой ОС, кроме Windows можно применять данную технологию, в ней главное преимущество - это межязыковая не зависимость. А в производительности она (технология) уступает не в, а на чуть-чуть, что неощутимо.
Так, что не вижу смысла обсуждать этот вопрос и тыкать в друг друга пальцем.
Отредактировано Eten (27.02.2008 15:35)
Неактивен