forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   game markup language r&d (http://forum.boolean.name/showthread.php?t=18600)

jimon 07.10.2013 01:32

game markup language r&d
 
обсуждали здесь общие концепции, много воды утекло с тех времён

gml - язык декларативного описания игровых данных, он нужен чтобы возможно было производить разные операции над данными такие как сборка атласов, конвертация ресурсов на лету, лайтмапы и тд, сам gml строится вокруг pipeline модели : из доступных модулей пользователь строит pipeline под свой проект

ходив вокруг да около недели три, написав кучу кода на цпп оказалось что я изобретаю луа :crazy: потому решил всё переделать на lua и оно внезапно взлетело

результат текущего R&D :
https://bitbucket.org/jimon/gml-research-pub/src

сам язык разметки теперь надмножество lua (любой lua файл является gml файлом), что позволяет code-driven способом генерировать декларативные структуры

одной из основных фишек языка разметки является форвардинг полей, те
sprite { transform = transform { x = 10 } } аналогично sprite { x = 10 }

пример примитивного платформера : https://bitbucket.org/jimon/gml-rese....gml?at=master

я работаю над экспортом в love2d, но в принципе уже сейчас есть возможность экспортить даже в blitzmax

пока нету одного из главных модулей - оптимизатора который будет смотреть чтобы исключать одинаковые объекты и создавать только уникальные

сейчас все скрипты пишутся в нативном коде, для love2d это lua, но для других движков совсем другое, потому стоит вопрос о необходимости стандартной библиотеки, но она дело очень тонкое, может получится как в monkey : куча ограничений чтобы сделать игру работающую на всех платформах

ABTOMAT 07.10.2013 01:41

Ответ: game markup language r&d
 
Ты вроде раньше был против избыточности?

jimon 07.10.2013 01:48

Ответ: game markup language r&d
 
Цитата:

Сообщение от ABTOMAT (Сообщение 268306)
Ты вроде раньше был против избыточности?

да, но основная цель данного проекта - создать инструмент с помощью которого можно удобно в письменном виде задавать игро-ориентированные декларативные структуры данных

потому lua очень хорошо подошла, изначальная концепция взятая из QML прекрасно ложится на lua после небольших правок в грамматике языка, для этого используется модифицированный парсер lua на lua ( :crazy: ) который превращает gml файл в lua файл и он уже исполняется


Часовой пояс GMT +4, время: 17:15.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot