Об этом проекте
Luban — это решение для конфигурации игр, цель которого — охватить рабочие процессы конфигурации от небольших до сверхкрупных игровых проектов. Проект распространяется под лицензией MIT и в первую очередь ориентирован на гейм-дизайнеров и программистов для стандартизации определения, проверки и генерации кода/данных конфигурации.
Основные возможности:
- Форматы исходных данных: поддержка семейства Excel (csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua и других.
- Форматы экспорта: генерация данных в форматах binary, json, bson, xml, lua, yaml и других.
- Система типов: поддержка распространенных структур строк и списков, а также наследования типов в стиле ООП для выражения сложных данных GamePlay, таких как деревья поведения, навыки, сюжеты, подземелья и т. д.
- Генерация кода: встроенная поддержка C#, Java, Go, C++, Lua, Python, JavaScript, TypeScript, Rust, PHP, Erlang, Godot и других языков, а также возможность расширения на другие языки через схемы сообщений, такие как protobuf.
- Схемы сообщений: поддержка protobuf (schema + binary + json), flatbuffers (schema + json), msgpack (binary).
- Проверка данных: проверка ссылок ref, проверка путей ресурсов path, проверка диапазонов range и другие.
- Поддержка локализации.
- Движки и платформы: поддержка Unity, Unreal, Cocos2x, Godot, WeChat Mini Games и других; работа на Windows, Linux, Mac.
- Решения для горячего обновления: поддержка hybridclr, ilruntime, {x,t,s}lua, puerts и других.
- Сгенерированный код не вызывает рефлексивные интерфейсы, совместим с инструментами обфускации и защиты, такими как Obfuz, Obfuscator, Confuser, .Net Refactor.
- Модульность и плагинность конвейера генерации для удобства вторичной разработки и настройки.
AI Native (начиная с версии 5.0.0): официальные Skills для AI Agent / IDE, машиночитаемая схема и сообщения об ошибках, CLI `Luban.Agent` (проверка / поиск по таблицам / describe), MCP-сервер `Luban.Mcp`, а также опции `-c schema-json`, `--errorFormat json` и другие. Ресурсы AI в репозитории находятся в каталоге `ai/`.
Разработка и тестирование: основной репозиторий включает интеграционные тесты xUnit, не зависящие от внешнего luban_examples; их можно запустить через `dotnet test src/Luban.Tests/Luban.Tests.csproj`; фикстуры и ожидаемые результаты находятся в `tests/fixtures/` и `tests/golden/`, обновить их можно с помощью `tests/scripts/update-goldens.ps1` или `.sh`, либо установив переменную окружения `LUBAN_UPDATE_GOLDEN=1` для обновления на месте.
Документация и примеры: официальная документация и краткое руководство доступны на datable.cn, примеры проектов — в репозитории luban_examples.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.