Начну сначала с того, что я хочу спросить разрешения на использование языков URQ и QSP у самих сообществ, а также у владельцев этих языков. (точнее у их создателей). Мне нужно согласие создателей языков QSP и Досурки в своем проекте "Неоргек". Т.е. я использую их сигнатуру, семантику и прочие мелочи, чтобы обеспечить поддержку базовых (текстовых без мультимедиа) возможностей. И заодно проверить работу своей программы в момент ее реализации. Не только языком LASOFTGAME, но и выше описанными.
Пару слов о первоначальном ПО проекта "Неоргек". Изначально я хотел, сначала полностью обеспечить создание языков, через IDE, но со временем пришел к выводу, что на эту уйдет уйму времени. Поэтому решил пойти простым путем. Первоначально будет создана три программы, а это: траснлитератор (перегоняет псевдоассемблерный код из API команд проигрывателя в в фиксированный формат байт кода), редактор для создания квеста на API коде (полезна для тех кто хочет добавить свой язык и пока знает, в какой код преобразовывать команды/операторы своего языка) и сам проигрыватель. Плюс, еще три программы, которые обеспечивают траснлитерацию (перевод с одного языка на API команды) вышеописанных языков.
Т.е. квестописателю нужно будет скомпилировать свой квест на соответствующем языке, а потом скомпилировать его в байтовый формат api команд. После чего его можно запускать на проигрывателе. Для разработчиков языков будут выложены примеры в виде документации о том, каким образом образом обеспечить поддержку языка на этой платформе и полный список спецификации API команд и чего он вообще может. А также будут выложена информация о том, какие API команды и как, использовались для реализации команд/операторов вышеописанных языков.
На чем это я все буду и под лицензией выпускать?
Создавать все ПО проекта "Неоргек" я буду только на Qt не ниже 4 версии, направления в разработке буду придерживаться, как кроссплатформенности по ОС , так и интренационализованного интерфейса по языкам. Лицензия однозначно будет6 или LGPL, или GPL. И распостраняться бесплатно.
Чем будет являться платформа в отличие от ныне сущевствующих?
1) Наличие API команд позволяющее реализовывать, как простые квесты, так и очень сложные. При этом на них можно будет переводить различные языки, возможности и требования которых платформа сможет выполнить или хотя часть (например до мультимедиа возможностей тут пока далеко).
2) Построение интерфейса ввода/вывода данных квеста будет прописываться API командами, что позволяет построить традиционный интерфейс для определенного языка.
3) С появление большого перечня языков, авторы (или команды) будут выбирать языки под свои нужды или создавать свои на/без основы уже существующих.
4) Учитывая закладываемые возможности в эту платформу, она будет позиционироваться, как стартовая точка для создания квестов с уже обработанным и опробованным опытом в создании языков и их реализации в платформах в рамках ИЛ, так и часть инфраструктуры ИЛ, облегчающая создание новых вариантов языка (меньше велосипедизма, больше возможности пробовать без излишней запарки в программировании, а следовательно больше возможностей для развития языков).
5) Платформа устраняет коллизию между возможностями платформы и их задействованием в языках текстовых игр (т.е. ни один язык в любом варианте не сможет сбалансировано реализовать все возможности платформы, а лишь только большую часть ее возможностей)
Примечание: К пункту 5 стоит добавить, что такое наоборот возможно, но тогда язык, реализующий все эти возможности, будет очень сложным для автора. Т.е. он не будет сбалансированным, хотя в нем будет буквально все. Но для такого есть язык API команд, на который и нужно переводить языки текстовых игр, вместо попытки создать велосипед.
Неактивен
Попрошу форумчан воздержать о излишних дебатов и вопросов, т.к. пост выше приведен для информации по проекту. Чтобы те к кому я обратился смогли точно определиться со своим ответом. Но, напомню что все ПО выпускаемое мной к проекту будет выпускаться под лицензией GPL или LGPL. Я пока однозначно не определился с конкретной лицензией из этих двух, но какие возможности и последствия они дают, а полагаю будет понятно всем.
И в дополнение, если кто знает как связаться с создателем Досурки, то я буду очень благодарен.
В заключение, реализация всего этого займет определенное время (разработка API уже стала детальней и больше подхожу к реализации и проверки различных возможностей), поэтому публикация может произойти, либо в к концу этого года, либо в следующем году.
А, чуть не забыл. Парсерщикам могу сказать пока только одно, разработка и реализация API для парсера будет начинаться со второй ветки (версии 2), т.к. мои изыскания показали, что на это уйдет большую часть времени разработки и реализации первой ветки. Это имеет смысл учитывая то, что я хочу сделать интернационализацию проекта и всех его возможностей. Возможно потребуется ваша помощь, т.к. я в этой пока не сильно подкован технически, но куда держать направление я знаю.
Неактивен
Eten, вы бы хоть чего-нибудь почитали и хотя бы с терминологией разобрались. Вы API от байткода отличаете?
В общем, мнение:
а) Проект не нужен, так как все это уже есть (см. Glulxe тот же).
б) Все равно не взлетит.
Неактивен
Retran написал:
Eten, вы бы хоть чего-нибудь почитали и хотя бы с терминологией разобрались. Вы API от байткода отличаете?
В общем, мнение:
а) Проект не нужен, так как все это уже есть (см. Glulxe тот же).
б) Все равно не взлетит.
Retran, вы хотя бы проявили уважение к теме и прочитали ее до конца? По моему, так нет. Раз так, то читайте:
Попрошу форумчан воздержать о излишних дебатов и вопросов, т.к. пост выше приведен для информации по проекту. Чтобы те к кому я обратился смогли точно определиться со своим ответом.
Я понимаю, что вам очень хочется по советовать мне не заниматься этим, но это продолжается уже четвертый год. И я прекрасно знаю, почему и зачем нужен этот проект. Поэтому любые дебаты и мнения до релиза, а также их обсуждения не являются целесообразными вообще.
И на будущее, Retran. Есть сущевственная разница между виртуальным проигрывателем в рамках ИЛ и виртуальной машиной общего назначения. Раз вы пытаетесь сравнивать Gluxe (огромное и большое по возможностям ПО с т.з. вирт. машины) с вирт. проигрывателем (что значительно меньше по возможностям вирт. машины и специализированнее), то вы явно не разбираетесь в данном вопросе. И в данном случае, Glulxe , как раз наоборот не подходит для этих задач (уж проще на QSP с URQ писать). Да и у меня большие сомнения, что ваши доводы имеют смысл, хотя не стану оспаривать правоту вашего мнения, основанного на тенденции большинства "печальных" результатов. Однако, не все крутится вокруг них.
Насчет API и байткода. Смысл и суть самого API реализуется в моем проекте, при этом разработчики внешних языков (QSP, URQ и т.д.) абстрагируются от реализации уже всем известных функций, методов и прочее касаемое особенностей ИЛ, к тому же интерфейс и возможности проигрывателя определяются только на момент проигрывания квеста (отсюда и идет виртуализация). А для простоты хранения и обработки команд API, они реализованы на уровне низкоуровневого псевдоасемблерного кода (т.е. проигрыватель воспринимает готовые команды). Так что, на мой взгляд, я учел все факторы (хотя не все здесь упомянул), чтобы упоминать заявленные вами термины и полагать их уместными в своем проекте "Неоргек".
З.Ы.
Ответил вам лишь потому, что вы хотя бы высказались полнее других. Но, не имею желания обсуждать это с вами дальше, т.к. тему создавал не для этого.
Отредактировано Eten (27.08.2010 22:11)
Неактивен
Непонятно, зачем вообще создавать тему, если ты в ней не собираешься ничего обсуждать.
Получить одобрение Байта и Корянова(кстати, почему именно создателя досурки, а не первой рипурки? а может акурки или фурки?) можно и по e-mail.
Получить "одобрение" сообщества - вообще непонятно, как это сделать, да и к чему? Сообщество не одобряет велосипеды, и тебе это прекрасно известно. В особенности безнадежные "универсальные проигрыватели".
Если желаешь узнать мнение "сообщества", той его части, которая посещает форум, давай голосование запустим.
Неактивен
Предполагаю что этот проект станет проекцией подхода .NET на плоскость РИЛ и его ждет успех Windows .NET.
P.S. добавил слово Windows.
Отредактировано Ntropy (28.08.2010 04:28)
Неактивен
Nex написал:
Непонятно, зачем вообще создавать тему, если ты в ней не собираешься ничего обсуждать.
Получить одобрение Байта и Корянова(кстати, почему именно создателя досурки, а не первой рипурки? а может акурки или фурки?) можно и по e-mail.
Получить "одобрение" сообщества - вообще непонятно, как это сделать, да и к чему? Сообщество не одобряет велосипеды, и тебе это прекрасно известно. В особенности безнадежные "универсальные проигрыватели".
Если желаешь узнать мнение "сообщества", той его части, которая посещает форум, давай голосование запустим.
Давай голосование отложим до релиза. И, Nex, может быть я не так сформировал тему, но хотел получить связь с людьми. Ибо, зачем мне создавать велосипед в языках?! Ну ты сам прекрасно понимаешь, что лучше будет если я буду вести поддержку, как минимум популярных языков РИЛ-а (пока менюшек), чтобы народ смог сравнить. Ну и мне тоже уже хочется что-то да выпустить в проекте и начать шагать релизами.
И Nex, е-мое, ну где ты видел универсальность то! Виртуализация - не значит, универсальность! И к слову, я не смогу охватить весь объем возможностей, а уж тем более сразу, чтобы называть свою платформу универсальной. Ты уж извини Nex, но фишку ты не рубишь в теме.
И обсуждение я стараюсь не вести, т.к. среди вас найдется ну, разве что один человек, с которым можно поговорить на эту тему серьезно и ему не надо давать корректирующих заметок, чтобы он не путался в понятиях и определениях. Увы, но я тут пока таких не нашел. Кроме разве, что узнал, чего хотят люди от платформы.
К слову, я еще хочу попробовать сделать возможность по игре в сингловый квест по сети (или квест заточен под сеть, или можно играть персонажами из сингла). На мой взгляд, это будет интерестнее, чем играть в онлайн квесты. Как тебе такая фишка, Nex?
Вот тему возможностей платформы, на первом этапе ее развития я могу обсудить, но при условии, что вам ничего разжевывать не придется, иначе вы будете путаться, а мне будет уже тогда не интересно говорить об этом.
Неактивен
хХм, я кажется догадываюсь о чем мне надо будет написать в первом релизе, чтобы не приходилось разжевывать понятные вещи. Т.к. я прекрасно понимаю, что запутаться тут легко, но я то в этой теме работаю уже долго и научился различать одного от другого, а также их пересечения, слиния и прочие вариации их сочетаний.
Неактивен
И к слову, что тут можно обсуждать?
Можете высказаться о том, чтобы вы реально хотели видеть в первой ветви развития. Но напоминаю, что в первой не будет мультимедиа возможностей, преимущественно работа с текстом, менюшное управление, сеть для мультиплеерной игры по квесту. Все остальное будет проработано основательно и в тех пределах возможностей, в которых я буду в силах реализовать. По части ПО, на первое время будет только "компилятор" и проигрыватель, плюс проги для поддержки языков с переводом на язык низкоуровневых (элементарных) команд. Для начала этого достаточно, позже можно выпустить целую IDE для разработки языков на платформе (тема громоздкая, но игра стоит свеч). Ну, буду начинать выпуск платформы, также и все до меня, разве что объемы и масштабы у меня больше.
Ну давайте, говорите, по обсуждаем.
Неактивен
Nex написал:
Получить одобрение Байта и Корянова(кстати, почему именно создателя досурки, а не первой рипурки? а может акурки или фурки?) можно и по e-mail.
Без получения нужной информации, я не смогу обеспечить поддержку указанных тобою языков. Плюс поддержка будет обсепечиваться в пределах возможностей самой платформы и по мере ее развития будут дополняться языки до их пределов возможностей, заложенных ихними создателями.
И я что-то не заметил, что fireton согласился бы на выдачу исходников по своей фурке, из которой можно взять код исполненения языка URQL и перенести его на платформу в ее понятиях, соблюдаю принципы действия и прочее языка. И к тому же я хочу получить это согласие офиально, чтобы потом не выкореживались с тем, что я типа не давал такого согласия. Т.е. все по честному, мне дают исходники по языку, чтобы я знал как это должно работать и смог это повторить на языке платформы. Вот поэтому я эту тему и написал.
Неактивен
Eten, получить согласие на то, чтоб ты писал своё творилово- это одно. делай что хошь, никто не против.
получить исходники и постоянную поддержку авторов- совсем другое. шевелиться ради тебя они вряд ли будут. исходники URQ проще самому написать, чем выпросить- язык не сложный.
и, да- разрешения мог бы и не спрашивать. те, у кого ты спрашиваешь разрешения, сами его ни у кого не спросили)) ещё насчёт куспа- у них там какое-то лицензионное соглашение есть. почитай.
Неактивен
Сомневаюсь, Этен, что ты разберёшься в исходниках фурки. А "как оно должно работать" можно легко узнать, посмотрев описание URQL + фуркин readme.
Неактивен
fireton написал:
Сомневаюсь, Этен, что ты разберёшься в исходниках фурки. А "как оно должно работать" можно легко узнать, посмотрев описание URQL + фуркин readme.
Это значит OpenURQ (FreeURQ) не быть! Если есть комментарии в коде - разобраться не проблема
Неактивен
Сомневаюсь в полезности выкладывания исходников фурки. Плюс, со всеми этими декораторами движок у меня слегка сросся с интерфейсом, а выкладывать исходники интерфейсной части я не готов.
И я не очень понимаю, что Этен хочет там смотреть. "Как должно работать" можно почитать в описании URQL, а мои решения ему, боюсь, не упёрлись никаким боком.
Неактивен
fireton написал:
Сомневаюсь в полезности выкладывания исходников фурки. Плюс, со всеми этими декораторами движок у меня слегка сросся с интерфейсом, а выкладывать исходники интерфейсной части я не готов.
И я не очень понимаю, что Этен хочет там смотреть. "Как должно работать" можно почитать в описании URQL, а мои решения ему, боюсь, не упёрлись никаким боком.
Если ты свою фурки, пардон за выражение, не на коленке писал, то разобраться будет не очень сложно. А вот насчет изучить урку обратныи инжирингом, то как я смогу проверить ее надежность? Перепроверить на ней все квесты?
Ах да, не забудьте напомнить Oreolek, чтобы он острожнее писал про открытость кода насчет URQ. Я что-то не припомню подобного. А насчет куспа все ясно, byte выдал мне исходники. Как и положено по лицензии GPL.
Ну, полагаю, что больше тут высказать уже никому неохота, поэтому откланяюсь на месяц.
Неактивен
"...это продолжается уже четвертый год"
"...поэтому откланяюсь на месяц"
Да, до новых встреч))
Неактивен
Eten, на ваши доводы отвечать не буду, ибо даже не знаю, что мне на это ответить.
Поделитесь, пожалуйста, списком литературы, который вы собираетесь использовать при разработке вашего "проигрывателя".
Неактивен
Retran написал:
Eten, на ваши доводы отвечать не буду, ибо даже не знаю, что мне на это ответить.
Поделитесь, пожалуйста, списком литературы, который вы собираетесь использовать при разработке вашего "проигрывателя".
Так, вот литература, которой я пользуюсь (ссылки увы дать не могу, т.к. давно их растерял и не помню где нашел):
1) В.А. Серебряков "Лекции по конструированиё компиляторов", Москва, 1993. (у меня только распечатка, электронку посеял)
2) А. Е. Пентус, М. Р. Пентус, "Теория формальных языков", учебное пособие, МГУ имени М. В. Ломоносова, Москва 2004.
Это единственные книги, которые у меня есть и к которым я обращаюсь по сложным вопросам. Также могу по рекомендовать все, что находится в яндексе по ключевым словам "+компилятор +транслитератор". Т.к. на текущий момент, в рунете уже есть сайты с хорошим материалом, хотя бы для чтобы въехать в тему (см. по ключевым словам). Были и другие материалы на начальном этапе в 2007 году, но со временем я их освоил и перестал хранить у себя, а щас уже не помню где их находил, но полагаю, что весь этот материал можно найти на любом сайте по данной тематике. К слову, сам начинал изучение с разбирания на практике лексического анализатора, синтаксический и семантический анализаторы строятся проще, но там свои фишки. Создание конечного результата не составляет проблемы, т.к. этот процесс всего лишь получение объектной модели из входящего кода (банальное сравнение - это постройка древовидного интерфейса). В последствии эту модель можно интерпретировать или компилировать. В таком порядке я могу, на собственном опыте, рекомендовать освоение этой темы.
В довесок, все же открою доступ к чтению, уже сформировавшейся информации по проекту "Неоргек", по этому адресу. Там можно найти описание проекта (см. раздел Документация) и некоторые статьи, почти доработанные по основам проекта, на которых будет строиться вся реализация языков на нем (см. раздел Разработка). В разделе Руководство, пока будет пусто до первого релиза. Делаю примечание, что раздел Разработка создан для готовящихся страниц вики и информация поставляется "как есть", но по крайней мере у вас есть возможность ознакомиться с некоторыми моментами в моем проекте. И кстати, я пока открыл только возможность чтения для гостей.
Полагаю, что данный пост дает вам настолько исчерпывающий ответ, насколько я его способен дать на данный период.
Отредактировано Eten (29.08.2010 09:13)
Неактивен
Также хочу сообщить, в описании проекта предоставляется вся необходимая информация для понимания о целях, возможностях, стратегии развития, введение, целесообразность реализации подобного проекта. Думаю это будет интересная информация для всех. Тем более, что она уже полностью сформировалась и мелкие поправки могут быть в статье "Цели и задачи проекта".
Неактивен
Ах да, не забудьте напомнить Oreolek, чтобы он острожнее писал про открытость кода насчет URQ.
Список платформ с открытым кодом я писал в вики, он проверен. Но по сабжу у меня есть три вопроса.
Есть такая штука, как ScummVM. Её ставят и ей пользуются, потому что она позволяет легко и удобно играть в старые игры под DOS и древние винды. В ней есть менеджер игр, и запускать без него игры - это тяжело и трудно, и не факт что вообще заработает. Есть ли смысл делать эмулятор FireURQ, если мы можем поставить сам FireURQ и не заморачиваться?
Я думаю, что, если вовремя задать себе верные вопросы, можно избежать больших разочарований.
Отредактировано Oreolek (29.08.2010 10:05)
Неактивен