Начну сначала с того, что я хочу спросить разрешения на использование языков 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 команд, на который и нужно переводить языки текстовых игр, вместо попытки создать велосипед.
Неактивен
fireton написал:
Сомневаюсь, Этен, что ты разберёшься в исходниках фурки. А "как оно должно работать" можно легко узнать, посмотрев описание URQL + фуркин readme.
Это значит OpenURQ (FreeURQ) не быть!
Если есть комментарии в коде - разобраться не проблема ![]()
Неактивен
INSTEAD - ограничен двумя библиотеками, QSP не имеет ровной кроссплатформенности, кроме разве что для ОС на ПК.
URQ - развивается только в линейке Windows (DOS это основа всех Windows до Vista и выше), на другие ОС они ее врядли реализуют.
Милена - тоже самое, что и выше, также ограничен библиотекой LUA.
QuestBox - слабый проигрыватель, пока что, также ограничен библиотекой LUA.
Не хотелось бы кидать камнем в велосипедистов (я за них горой, потому что сам таким и являюсь
), но есть один нюанс (кто пробовал - поймет), частично опровергающий данную цитату об ущербной кроссплатформенности относительно Linux: в Linux вся эта беда легко идет в Wine, так что проблем не возникает
Я себя в Linux уж никак не чувствовал ущербленным, запустить интерпретаторы и поиграть в квесты можно многими путями ![]()
Об идее универсальности: более живой выглядит моя идея сделать Менеджер Квестов, из которого можно было бы запускать квесты, следить за их обновлением, скачивать новые и прочее
А платформы? Платформы пускай себе развиваются, как того хотят их автора и фаны ![]()
Неактивен
Eten написал:
И еще вопрос, настолько ли LUA сложен в своих возможностях, чтобы не было возможности реализовать его поддержку у себя!
Ничего говорить заранее не берусь, но мысль интересная.
Не так сложен как интересен
Да и не лучше ли просто поддержать готовый Lua в проекте?
Неактивен
Об исходниках - я спрошу Kariot'а, и если он согласится, вышлю.
Eten написал:
К тому же, если я не ошибаюсь, Lua очень похож на JavaScript во всем (но это только первое впечатление).
Далеко не похож
Не скажу, что Lua похож на Pascal, но я, "паскалист" до глубины души, разобрался в нем за несколько часов. Ну а Java, пускай и скриптовый, - он же C как не верти ![]()
Лучше я скажу, что из себя представляет QuestBox, как задум (реализацию все видели
). А это не что инное, как движок для книг-игр, к которому цепляется модуль скриптов (в данном случае это Lua), который позволяет не просто переходить из главы в главу, а программировать логику квеста, что-то там делать:). Меняем модуль на паскаль - скрипты на пасе, на C++, на Basic, на URQ и т.д. Но пока это только задум, как и твоя идея ![]()
Отредактировано APROMIX (01.09.2010 12:23)
Неактивен
А может дать ему красивое имя, например, Милена
Звучит красиво и всем все сразу понятно.
Неактивен