Начну сначала с того, что я хочу спросить разрешения на использование языков 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 команд, на который и нужно переводить языки текстовых игр, вместо попытки создать велосипед.
Неактивен
Eten, вы бы хоть чего-нибудь почитали и хотя бы с терминологией разобрались. Вы API от байткода отличаете?
В общем, мнение:
а) Проект не нужен, так как все это уже есть (см. Glulxe тот же).
б) Все равно не взлетит.
Неактивен
Eten, на ваши доводы отвечать не буду, ибо даже не знаю, что мне на это ответить.
Поделитесь, пожалуйста, списком литературы, который вы собираетесь использовать при разработке вашего "проигрывателя".
Неактивен