Sobre o projeto
Luban é uma solução de configuração para jogos, projetada para atender às necessidades de fluxo de trabalho de configuração em projetos que vão de pequenos a grandes portes. O projeto é licenciado sob MIT e é voltado principalmente para designers de jogos e programadores, padronizando a definição, validação e geração de código/dados de configuração.
Capacidades principais:
- Formatos de origem: suporta a família Excel (csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua, entre outros.
- Formatos de exportação: gera dados em binary, json, bson, xml, lua, yaml, etc.
- Sistema de tipos: suporta estruturas comuns de listas de linhas e herança de tipos OOP, para expressar dados complexos de GamePlay, como árvores de comportamento, habilidades, narrativas e masmorras.
- Geração de código: suporte integrado para C#, Java, Go, C++, Lua, Python, JavaScript, TypeScript, Rust, PHP, Erlang, Godot, entre outros; também é possível estender para outras linguagens via esquemas de mensagens como protobuf.
- Esquemas de mensagens: suporta protobuf (schema + binary + json), flatbuffers (schema + json) e msgpack (binary).
- Validação de dados: oferece verificação de referência (ref), verificação de caminho de recursos (path), verificação de faixa (range), etc.
- Suporte a localização.
- Motores e plataformas: suporta Unity, Unreal, Cocos2x, Godot, WeChat Mini Games, e roda em Windows, Linux e Mac.
- Soluções de atualização hotfix: suporta hybridclr, ilruntime, {x,t,s}lua, puerts, etc.
- O código gerado não chama interfaces de reflexão, sendo compatível com ferramentas de ofuscação e reforço como Obfuz, Obfuscator, Confuser e .Net Refactor.
- O pipeline de geração é modular e plugável, facilitando desenvolvimento secundário e personalização.
AI Native (desde 5.0.0): oferece Skills oficiais para Agentes de IA / IDEs, schema legível por máquina e relatórios de erro, CLI `Luban.Agent` (validação / consulta de tabelas / describe), servidor MCP `Luban.Mcp`, além de opções como `-c schema-json` e `--errorFormat json`. Os recursos de IA no repositório estão no diretório `ai/`.
Desenvolvimento e testes: o repositório principal inclui testes de integração xUnit, sem depender de luban_examples externos; podem ser executados com `dotnet test src/Luban.Tests/Luban.Tests.csproj`. Os fixtures e saídas esperadas estão em `tests/fixtures/` e `tests/golden/`, podendo ser atualizados com `tests/scripts/update-goldens.ps1` ou `.sh`, ou definindo a variável de ambiente `LUBAN_UPDATE_GOLDEN=1` para atualização in-place.
Documentação e exemplos: documentação oficial e guia de início rápido em datable.cn; projetos de exemplo no repositório luban_examples.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.