WienerWiener
  • はじめに
  • 競合比較
  • 価格・入手
  • FAQ
  • 向いているケース
  • ライセンス
  • Unity Asset版とStandalone版の違い
  • 簡易難読化・改ざん検知
  • 整合性検知・デバッグ
  • ローカライズ
  • バージョン管理
  • Google Sheets入力
  • Excel
  • YAML
  • 設定ファイル
  • データフォーマット
  • マスターデータコンバート
  • ValueOnlyフォーマット
  • スタートアップ
  • サンプル
  • Converter
  • YAML Editor
  • Setting Editor
  • 日本語
  • English
  • はじめに
  • 競合比較
  • 価格・入手
  • FAQ
  • 向いているケース
  • ライセンス
  • Unity Asset版とStandalone版の違い
  • 簡易難読化・改ざん検知
  • 整合性検知・デバッグ
  • ローカライズ
  • バージョン管理
  • Google Sheets入力
  • Excel
  • YAML
  • 設定ファイル
  • データフォーマット
  • マスターデータコンバート
  • ValueOnlyフォーマット
  • スタートアップ
  • サンプル
  • Converter
  • YAML Editor
  • Setting Editor
  • 日本語
  • English
  • 向いているケース・向いていないケース

    • 向いているケース・向いていないケース
    • サーバーサイド出力

サーバーサイド出力のユースケース

WienerはUnity/UE5だけでなく、サーバーサイドのマスターデータ管理にも活用できます。 1つのExcelからバイナリ(Unity/UE5共用)・UE5 C++・サーバー用JSON・PHP・SQLを同時生成し、クライアントとサーバーで常に同一データを保証します。


1. JSON出力 — REST API / BFF向け

ユースケース: ゲームAPIサーバーがマスターデータをJSONで配信する場合

[
  {
    "id": 1,
    "name": "ハートの薬",
    "type": "Consume",
    "heal_point": 100,
    "price": 50
  }
]

設定例(YAML):

output_format:
- format: Json

活用例: フロントエンドがAPIからマスターデータを取得するBFF構成。UnityのStreamingAssetsと同一データをAPIでも提供。


2. PHP出力 — PHPサーバー向け

ユースケース: PHPで動くゲームAPIサーバーでマスターデータを参照する場合

<?php
class ItemMaster {
    const DATA = [
        ['id' => 1, 'name' => 'ハートの薬', 'type' => 'Consume', 'heal_point' => 100, 'price' => 50],
        ['id' => 2, 'name' => '魔法の盾', 'type' => 'Equipment', 'heal_point' => 0, 'price' => 200],
    ];
}

設定例:

output_format:
- format: PHP

活用例: PHPサーバーのゲームロジックでアイテム効果・価格を参照。DBを使わずファイルで完結させたい場合に有効。


3. SQL出力 — DB初期データ投入

ユースケース: RDBにマスターデータを投入してサーバーから参照する場合

SQL出力は、YAMLで指定した項目だけを抜き出したDB投入用のCSVを出力します。LOAD DATA INFILE や各DBのインポート機能でそのまま取り込めます。

id,name,type,heal_point,price
1,ハートの薬,Consume,100,50
2,魔法の盾,Equipment,0,200

設定例:

output_format:
- format: SQL

活用例: バージョンアップ時の差分データのDB適用。マスターデータのシード投入の自動化。


クライアント・サーバー同期の実現

Excel(1ファイル)
  |
  +-- バイナリ (.bytes)              → UnityおよびUE5に組み込み
  +-- C#クラス (.cs)                → Unity型安全アクセス
  +-- C++ヘッダー/ソース (.h/.cpp)  → UE5に組み込み
  +-- JSON (.json)                  → APIサーバーで配信
  +-- PHP (.php)                    → PHPサーバーで参照
  +-- SQL (.csv)                    → DBに投入

メリット:

  • クライアントとサーバーのデータが常に一致(同一ソースから生成)
  • マスターデータの更新時は1回の変換コマンドで全プラットフォームに反映
  • バリデーションも1回のコンバートで全形式をまとめてチェック

→ データフォーマット詳細 → マスターデータコンバート

最終更新:: 2026/06/12 2:44
Contributors: artisan-sawasaka
Prev
向いているケース・向いていないケース