프로젝트 소개
Luban은 게임 구성 솔루션으로, 소형부터 초대형 게임 프로젝트까지의 구성 워크플로 요구를 포괄하는 것을 설계 목표로 합니다. 프로젝트는 MIT 라이선스를 채택했으며, 주로 게임 기획자와 프로그래머를 대상으로 구성 데이터의 정의, 검증, 코드/데이터 생성을 표준화하는 데 사용됩니다.
핵심 기능:
- 소스 데이터 형식: Excel 계열(csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua 등을 지원합니다.
- 내보내기 형식: binary, json, bson, xml, lua, yaml 등의 데이터 형식을 생성할 수 있습니다.
- 타입 시스템: 일반적인 행-열 테이블 구조를 지원하며, 행동 트리, 스킬, 스토리, 던전 등 복잡한 GamePlay 데이터를 표현하기 위한 OOP 타입 상속을 지원합니다.
- 코드 생성: 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, 위챗 미니게임 등을 지원하며, Windows, Linux, Mac에서 실행할 수 있습니다.
- 핫 업데이트 방식: hybridclr, ilruntime, {x,t,s}lua, puerts 등을 지원합니다.
- 생성된 코드는 리플렉션 인터페이스를 호출하지 않아 Obfuz, Obfuscator, Confuser, .Net Refactor 등 난독화·하드닝 도구와 호환됩니다.
- 생성 파이프라인은 모듈화·플러그인화되어 있어 2차 개발과 커스터마이징이 용이합니다.
AI Native(5.0.0부터): AI Agent/IDE를 위한 공식 Skills, 기계 판독 가능한 schema와 오류 보고, `Luban.Agent` CLI(검증/테이블 조회/describe), `Luban.Mcp` MCP Server, 그리고 `-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.