Войти
ПроектыФорумУтилиты

mlc-tools. Генератор + транслятор кода. C++, Python, PHP, Java Script (2 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2
#15
11:23, 19 мая 2018

Выпустили первую игру в которой активно используется утилита

War Alert: Red Lords. Online RTS
    Android: https://play.google.com/store/apps/details?id=com.gdcompany.heroesarenasonline
    iOS: - (в скором времени)

+ Красивая_картинка

Использование:
- Генерация с++ классов данных, протокола общения между сервером. Используется как xml, так и json форматы
- Удобное хранение конфигов и данных игры.
- Сервер написан на PHP. Использует много генерируемого кода
- автоматические тесты сервера. Написаны на Python, используется генерация кода
- Unit тестирование С++ кода игры. Используется генерация тестов.
- Удобная конвертация Google-sheets в xml для данных игры.


#16
13:19, 19 мая 2018

Добавь простые примеры всего этого

#17
13:22, 19 мая 2018

animert
Так есть же пример - https://github.com/mlc-tools/simple_dungeon_game
+ в самом репозитории есть тесты, которые показывают всю работу утилиты - https://github.com/mlc-tools/mlc-tools/tree/master/tests

Прошло более 1 года
#18
12:22, 15 июня 2019

Продолжаю развивать утилиту. И накоплено не много не мало 607 коммита :)
Переписал практически весь проект, добавил поддержку JavaScript

—————————————————————————————————

В данный момент разрабатывается активно игра Dungeon RPG с большей частью кода, транслирующегося в CPP, Python, JavaScript

Игра разрабатывается на плюсах (cocos2d-x-3.x)ю Планируется выпуск как на мобильные девайсы, так и web-версия.
В связи с web клиентом и добавил поддержку JavaScript.

- Вся core механика игры написана на mlc
- Вся meta игра написана на mlc
- От движка (cocos2d-x) используется только вывод графики и работа с интерфейсом.

Плюсы подобной разработки:
1. Из-за ограничений транслятор, приходится писать более простой код. А это хорошо складывается на скорости разработки, допиливания и изменения
2. На Python написано много статических анализаторов для ресурсов игры (xml, уровни, параметры юнитов и прочее).
3. Также не Python написано много тестов для проверки геймплей-механик. Редко встречаю unit-тесты в геймдеве из-за сложного кода. Тут же все просто организуется
4. Удобная работа для генерации ECS классов. Нет необходимости описывать какой-либо служебный код - все генерируется дополнительным генератором.
5. Прогон тестов на нескольких языках, что является большим плюсом. Ведь если один код работает корректно на нескольких языках, то вероятность ошибки в нем стремится к нулю.
6. Учитывая, что вся логика написана на mlc, происходит четкое разделение логики и представления.

Страницы: 1 2
ПроектыФорумУтилиты