このプロジェクトについて

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リポジトリにあります。