このプロジェクトについて
Lubanは、小規模から超大型ゲームプロジェクトまでの設定ワークフロー要件をカバーすることを設計目標とするゲーム設定ソリューションです。プロジェクトはMITライセンスで提供され、主にゲームプランナーとプログラマーを対象とし、設定データの定義、検証、コード/データ生成を標準化します。
中核機能:
- ソースデータ形式:Excel系(csv、tsv、xls、xlsx、xlsm)、json、xml、yaml、luaなどをサポート。
- 出力形式:binary、json、bson、xml、lua、yamlなどのデータ形式を生成可能。
- 型システム:一般的な行リスト構造をサポートし、OOP型継承に対応。行動ツリー、スキル、ストーリー、ダンジョンなどの複雑な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ミニゲームなどをサポートし、Windows、Linux、Macで動作可能。
- ホットアップデートスキーム:hybridclr、ilruntime、{x,t,s}lua、puertsなどをサポート。
- 生成コードはリフレクションインターフェースを呼び出さず、Obfuz、Obfuscator、Confuser、.Net Refactorなどの難読化・強化ツールと互換性があります。
- 生成パイプラインはモジュール化・プラグイン化されており、二次開発とカスタマイズが容易。
AIネイティブ(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.