UE4プロジェクトの種類

わんちゃん
複雑なので、概要と要約のみ読んでいただければ問題ありません!

概要

LabyrinthのUE4プロジェクトは3種類存在します。

これは、素材データであるアセットのライセンスが「誰でも共有できるもの」「チーム内ならば共有できるもの」「チーム内でも共有できないもの」というように区別されるため、複雑な構成になっています。

この文書ではそれらの運用ルールを解説します。

要約

  • プロジェクトに含まれるアセットはLabyrinth以外に持ち出すのは禁止。
  • メンバーではない人はCore版というプロジェクトをダウンロードすることができる。
    >>LabyrinthのUE4プロジェクト公開に関するお知らせ
  • メンバーの人はTeam版というプロジェクトのをダウンロードすることができる。
  • そらまめゲームス開発者はMaster版というプロジェクトを管理している。

以下、興味ある方のみお読みください。

ライセンスの種類

UE4でチーム開発をする場合、アセットのライセンスは以下の3通りに分かれます。

  1. 再配布可能なアセット
    再配布可能もしくは完全自作アセットなどを総称してこのように呼称します。
  2. Labyrinth開発目的でのみチーム共有可能なアセット
    Labyrinthを開発する目的においてのみ、チーム内で共有可能なアセットです。
    主にマーケットプレイスのアセットが含まれます。
  3. チーム共有不可能なアセット
    Labyrinthを開発する目的において、アセット購入者のみ使用可能なアセットです。
    主にUnityAssetStoreのアセットやフォントデータなどが含まれます。

これらを考慮した上で、3種類のプロジェクトを解説します。

プロジェクトの種類

1. Team版Labyrinth

Team版はLabyrinthのゲームを開発するメインのUE4プロジェクトです。

Labyrinth
├── Contents
│ ├── Labyrinth ... 解説①
│ │ ├── Blueprints
│ │ ├── Characters
│ │ ├── Maps
│ │ ...
│ ├── LabyrinthMaster ... 解説②
│ │ ├── Blueprints
│ │ ├── Characters
│ │ ├── Maps
│ │ ...
│ └── Contents直下の他のフォルダ ... 解説③
└── Plugins
      ├──LabyrinthCore ... 解説④
      │ ├── Blueprints
      │ ├── Characters
      │ ├── Maps
      │ ...
      └── Plugins直下の他のフォルダ ... 解説⑤

プロジェクトはSubversion(SVN)で管理され、チームメンバーのみチェックアウトすることが可能です。

主要なフォルダについて解説します。

解説①:Labyrinthフォルダ

ゲーム本編の実装はLabyrinthフォルダ以下で制作します。
このフォルダ以下に配置されるアセットは、Labyrinth開発目的でのみチーム共有可能なアセットです。

解説②:LabyrinthMasterフォルダ

ゲーム本編で使用するアセットのうち、チーム共有不可能なアセットはこのフォルダに配置します。

チーム共有不可能なアセットは、Team版で共有することができないため、ダミーデータに差し替えられたものを配置します。本物のデータは後述のMaster版Labyrinthに存在します。

解説③:Contents直下の他のフォルダ

主にマーケットプレイスで購入した、Labyrinth開発目的でのみチーム共有可能なアセットがインポート時にContents直下に配置されます。

これらのフォルダも持ち出し不可となります。

解説④:LabyrinthCoreフォルダ

Labyrinthのシステムのコア部分は、Plugins/LabyrinthCoreというフォルダにて実装します。
これは後述のCore版Labyrinthに流用すること想定しているためです。

LabyrinthCoreの開発自体はTeam版で行います。

LabyrinthCoreはPlugins扱いのため、基本的に有料アセットを使用せず、LabyrinthCore内の実装とMITライセンスの他プラグインによって開発されます。これによってLabyrinthCoreは単体で一般向けに公開できるように設計されています。

解説⑤:Plugins直下の他のフォルダ

LabyrinthCore実装のために必要なMITライセンスのプラグインが含まれます。

マーケットプレイスで購入したアセットの中でも、エディタ拡張系のプラグインはチーム共有することができないため、AllrightRigなどのMaster版で使用しているプラグインはTeam版には含まれません。

2. Core版Labyrinth

Core版はLabyrinthのコアシステム部分のみで構成されたUE4プロジェクトです。

Labyrinth
├── Contents
└── Plugins
      ├──LabyrinthCore
      │ ├── Blueprints
      │ ├── Characters
      │ ├── Maps
      │ ...
      └── Plugins直下の他のフォルダ

プロジェクトはGitHubで管理され、一般に公開されています。

キャラクター操作や謎解きの基本操作などの実装を一般公開してノウハウを提供することを目的とします。

開発自体はTeam版で行い、Plugins/LabyrinthCoreに関する部分を抜き出したのがこのプロジェクトです。

3. Master版Labyrinth

Master版はLabyrinthのゲームをビルドするための最終版UE4プロジェクトです。

Labyrinth
├── Contents
│ ├── Labyrinth
│ │ ├── Blueprints
│ │ ├── Characters
│ │ ├── Maps
│ │ ...
│ ├── LabyrinthMaster ... (すべて本物のアセット)
│ │ ├── Blueprints
│ │ ├── Characters
│ │ ├── Maps
│ │ ...
│ └── Contents直下の他のフォルダ
└── Plugins
      ├──LabyrinthCore
      │ ├── Blueprints
      │ ├── Characters
      │ ├── Maps
      │ ...
      └── Plugins直下の他のフォルダ(Master版でのみ使用するプラグインも含む)

プロジェクトはそらまめゲームス開発者の自宅サーバで管理され、開発者のみアクセスすることが可能です。

このプロジェクトはTeam版と構成はほとんど同じですが、以下の点で異なります。

  • LabyrinthMasterフォルダ以下に、チームで共有できないアセットの本データが含まれます。
  • Pluginsフォルダ以下に、チームで共有できないエディタ拡張系のアセットが含まれます。

ゲームのビルドはMaster版を使用しますが、チームメンバーはTeam版しか触ることができないため、Master版とTeam版の差異が極力少なくなるように注意しながら制作します。