モノビット MO エンジン for Unity セットアップガイド

モノビット MO エンジン for Unity
セットアップガイド
2015 月 6 月 19 日
株式会社モノビット
セットアップガイド
更新履歴
版数
日付
0.1
2015 年 5 月 29 日
改定履歴
初版。
備考
2015 年 5 月 1 日版オフィシャルド
キュメントから分冊化。
0.2
2015 年 6 月 9 日
クライアントのインストールで
[Master]フォルダを追加する項目を追
記。
0.3
2015 年 6 月 12 日
誤記を修正。
1.0
2015 年 6 月 19 日
アセットインポート時のビルドセッテ
ィングの操作を追記。
Linux のサーバセットアップ方法を追
記。
2
セットアップガイド
目次
1.
はじめに ...................................................................................................................... 4
1.1.
概要 ...................................................................................................................... 4
1.2.
提供パッケージ ........................................................................................................ 4
2.
環境設定 ...................................................................................................................... 5
2.1.
サーバ ................................................................................................................... 5
2.1.1.
Mono の導入 (Mac、Linux) .................................................................................. 5
2.1.2.
Redis 及び Web サーバの導入 ................................................................................ 7
2.2.
3.
クライアント ........................................................................................................... 7
MO エンジンのインストール ........................................................................................... 10
3.1.
3.1.1.
3.2.
サーバのインストール ............................................................................................. 10
MO エンジンサーバ ........................................................................................... 10
クライアントのインストール ..................................................................................... 11
3
セットアップガイド
1. はじめに
本資料で MO エンジンの開発を行うために必要な環境及びその設定方法を説明します。
1.1. 概要
MO エンジンは MO エンジンサーバと MO エンジンクライアントから成り立ちます。
サーバ、及びクライアントはマルチプラットフォーム対応しています。
各プラットフォームの導入手順を説明します。
1.2. 提供パッケージ
MO エンジン Ver.1.0 のパッケージ構成は以下の通りです。
moe_for_unity
├─client ..................................... クライアントパッケージ(Unity アセット)
│
└─Master .............................. マスタデータ一式
├─document ............................... マニュアル類
├─server .................................... サーバプログラム
│
├─BattleInformationServer ...... BattleInformationServer のプログラム及びソース一式
│
├─MatchingServer.................. MachingServer のプログラム及びソース一式
│
├─moweb ............................. KSV にデータを読み込む PHP のサンプル
│
└─sync ................................. SyncServer のプログラム
└─tool ....................................... Unity 上以外で提供されるツール
├─MOScriptConverter ............. バイナリコンバータのプログラム及びスクリプト(Windows)
└─MOScriptConverterForMac ... バイナリコンバータのプログラム及びスクリプト(Mac, Linux)
4
セットアップガイド
2. 環境設定
以下に MO エンジンが動作する環境設定を説明します。
2.1. サーバ
BattleServer(MO エンジンサーバプログラム本体)は、Windows、Mac、及び Linux 上で動作します。
※ 最小構成で MO エンジンを動作させる際は WindowsPC 1 台で稼働させることができます。
【必要環境】
Windows


Windows 7以上

.NET Framework 4.0 以降
※ .NET Framework は、Windows に標準でインストールされています。
Mac, Linux


OS X 以上

コンパイラ gcc4.4.7-4 推奨

Mono 2.12 以降
全プラットフォーム共通


Apache HTTP Server

Redis 1.0 以上
2.1.1. Mono の導入 (Mac、Linux)
※ Windows を使用する際は、.NET Framework の環境を使用するため Mono の導入は不要です。
本項をスキップして次項に進んでください。
Mono は、.NET Framework 互換の環境を実現するためのオープンソースのソフトウェア群です。
MO エンジンでは.NET Framework を使用しているため、Mac 及び Linux には Mono を実装する必要
があります。
① Mac に導入
Mac への Mono 導入の手順です。
Mac 用 Mono インストーラを以下の URL よりダウンロードしてください。
[Download | Mono]
http://www.mono-project.com/download/
② Linux に導入
Linux への Mono の導入手順です。
管理者権限で操作します。
5
セットアップガイド
monoinstall.sh
#!/bin/bash
#TAG="タグ名"
TAG=mono-3.12.0.77
DIR=`dirname "${0}"`
cd ${DIR}
mkdir monotemp
cd monotemp
yum install autoconf libtool automake gcc gcc-c++ gettext wget git -y
git clone https://github.com/mono/mono.git
cd mono/
sh autogen.sh
git checkout ${TAG}
make get-monolite-latest
make
make install
mono –V
インストールの確認
インストール終了でバージョンを表示します。
Mono JIT compiler version 3.12.0 ((no/de2f33f 2015 年 2 月 27 日 金曜日 21:20:59 JST)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.monoproject.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
コンパイルと実行
mcs qiita.cs
mono qiita.exe
6
セットアップガイド
2.1.2. Redis 及び Web サーバの導入
※ Redis、及び Web サーバは Linux 環境で導入します。
※ 最小構成で MO エンジンを動作させる場合は Redis 及び Web サーバを導入する必要はありません。
『クイックスタートガイド』で設定している方は本項と次項をスキップして[2.2. クライアント]の
設定に進んでください。
BattleServer(MO エンジンサーバ)でゲーム固有の外部データベースとデータをやり取りする際は KVS
(Key-Value ストア)を介して行います。この KVS の構築のために Redis を導入します。
また、BattleServer から Redis に対して KVS の読み書きを行うために php ファイルを使います。
そのため Web サーバを導入します。
適宜環境に応じて Redis と Web サーバを導入してください。
Linux(CentOS 6.x)でのインストール例を紹介します。管理者権限で操作します。
(1) EPEL を追加
※ Redis を導入するために必要な操作です。CentOS 6.x の場合のインストール方法となります。
管理者権限で以下のコマンドを入力します。
# yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-68.noarch.rpm -y
(2) Redis、Web サーバの導入
# yum install -y httpd redis
2.2. クライアント
クライアント側の MO エンジン本体、また併せて提供される各種ツール類は、Windows 上で動作します。
【必要環境】
Windows 7 以降
① .NET Framework 4.0 以降
② Unity5 以降
③ Cygwin
① .NET Framework 4.0
Windows 7 以降では、.NET Framework 4.0 は標準でインストールされています。
② Unity5
以下のサイトの「Unity を手に入れる」項を参照の上インストールしてください。
7
セットアップガイド
[Unity - Developer - はじめての Unity - 第 1 回 世界の「骨格」をつくろう]
http://japan.unity3d.com/developer/document/tutorial/my-first-unity/01
※ MO エンジンのツール類は、無料版 Unity で動作します。
③ Cygwin
MO エンジンでは、スクリプトを高速に処理するため、MO-Script をバイナリファイルへコンバートし
てゲームに実装します。
Windows 環境で MO-Script をバイナリファイルへコンバートするために Cygwin をインストールし、
環境設定を行う必要があります。
インストール、及び環境設定の方法は、以下の通りです。
(1) Cygwin のインストール
以下の URL からセットアッププログラムをダウンロードする
https://www.cygwin.com/
トップーページにある左側のメニューより
[Cygwin] → [Install Cygwin]
とリンクを辿り、ページの指示に従いインストールを行います。

32bit OS の場合
https://cygwin.com/setup-x86.exe
をインストールします。

64bit OS の場合
http://cygwin.com/setup-x86_64.exe
をインストールします。
上記リンクよりダウンロードしたファイルをダブルクリックします。
Cygwin のインストールについては下記ページをご参照くださ。
[How to install Cygwin -Cygwin インストールの方法-]
(外部サイト)
http://www.sw.it.aoyama.ac.jp/2011/CP1/cygwin/
8
セットアップガイド
(2) Cygwin のパッケージ選択
インストールで選択するパッケージは以下の通りです。
※ 正しく選択されていない場合、コンバータが正常に動作しない
のでご注意ください。
A) [Perl] 項目全て
B) [Devel] 項目で[gcc]と名前が付くもの全てと [make]
devel
├─binutils
├─colorgcc
├─cygwin-devel
├─delta
├─gcc-ada
├─gcc-core
├─gcc-fortran
├─gcc-g++
├─gcc-bbjc
├─gcc-objc++
├─gcc-tools-epoch1-autoconf
├─gcc-tools-epoch1-automake
├─gcc-tools-epoch2-autoconf
├─gcc-tools-epoch2-automake
├─gccmakedep
├─libargp
├─libcolorg-isl4
├─libltdl7
├─make
├─pkg-config
├─texinfo
├─w32api-headers
├─w32api-runtime
└─windows-default-manifest
以上を[Install]に変更します。
インストールが完了したら環境変数にパスを通します。
(3) 環境変数を設定
※ Windows 8.1 の場合
① デスクトップの PC アイコンを右クリックし、プロパティを選択、「システムの詳細設定」をクリ
9
セットアップガイド
ックします。
(または画面右下にマウスカーソルを移動して表示されるチャームの「検索」から「システムの
詳細設定の表示」を検索してクリックします)
② 環境変数をクリックし、システム環境変数の項目から Path を選択し、編集をクリックします。
③ 一番右の部分に下記を追加します。
;c:\cygwin64\bin
※
先頭のセミコロンは必須です。
3. MO エンジンのインストール
MO エンジンのインストール方法を説明します。
3.1. サーバのインストール
サーバには MO エンジン本体、KSV をとモノビット開発のリアルタイム通信ミドルウェアをインストール
します。
【サーバのパッケージ内容】
moe_for_unity
└─server
├─BattleServer .................................... BattleServer のソース、実行ファイル一式
├─MatchingServer ................................ MatchingServer のソース、実行ファイル一式
├─BattleInformationServer .................... BattleInformationServer のソース、実行ファイル一式
├─moweb ........................................... KSV にデータをセットするサンプル PHP ファイル
└─sync ............................................... SyncServer の実行ファイル
3.1.1. MO エンジンサーバ
MO エンジンで使用するサーバは、
[server]フォルダ以下にすべて配置してあります。
[server]フォルダ以下のファイルをサーバの任意のフォルダに配置します。
配置場所に制限はありません。
なお、
[server] 以下のフォルダ構成は変更しないでください。
(1) BattleServer
MO エンジン本体です。
マッチングされたプレイヤーに対してバトルルームのインスタンスを作成します。
最小構成でゲームのバトルパートのみを試す場合は、BattleServer のみを起動してプレイすることが
できます。
10
セットアップガイド
(2) MatchingServer
MatchingServer は、モノビット開発のリアルタイム通信を用いたゲームに特化した通信ミドルウェア
リアルタイム通信エンジンの一機能です。
設定された条件でネットワークにつながっているプレイヤーのマッチング処理を行います。
※ ゲームのバトルパートのみを試す場合は、本機能を使用せずゲームにログインできるバトルモード
がご利用いただけます。
(3) BattleInformationServer
BattleInformationServer は、モノビット開発のリアルタイム通信を用いたゲームに特化した通信ミド
ルウェア リアルタイム通信エンジンの一機能です。
複数ある BattleServer の空き状況を管理し、MachingServer から要求を受けた際に空き状況を通知し
ます。
※ ゲームのバトルパートのみを試す場合は、本機能を使用せずゲームにログインできるバトルモード
がご利用いただけます。
(4) SyncServer
MachingServer と BattleInformationServer に対して相手を識別するための情報を管理します。
※ ゲームのバトルパートのみを試す場合は、本機能を使用せずゲームにログインできるバトルモード
がご利用いただけます。
3.2. クライアントのインストール
クライアントは Unity パッケージとして提供されます。
(1) プロジェクトを作成する
Unity パッケージをインポートするために空のプロジェクトを作成します。
① Unity の起動画面から、
[New Project]をクリックします。
② 「Project name」欄に任意のプロジェクト名を入力します。
例)
MOengine
※ プロジェクト名は半角英数文字を使用してください。
③ 「Location」欄にパッケージを展開するパスを指定します。
例)
c:\Unity\MOengine
※ パスに含まれるフォルダ名に日本語 (マルチバイト文字) が含まれているとインポー
ト時にエラーが発生する場合があります。フォルダ名には半角英数文字を使用してくだ
11
セットアップガイド
さい。
④ 上記操作完了後、 [Create project] をクリックします。
⑤ Unity エディタ上に空のプロジェクトが開きます。
(2) パッケージのインポート
前項で作成した空のプロジェクト MO エンジンクライアント本体とサンプルアセットをインポートし
ます。
① MO エンジンクライアントのインストール
MO エンジンクライアント本体をインストールします。
各種エディタ、MO-Script・マスタ出力の機能のみをインポートします。
Unity メニューから
[Assets] → [Import Packaeg] → [Custom Package]
を選択し、開いたウィンドウ上で、提供されたパッケージの中で以下のファイルを選択して [開く]
ボタンをクリックします。
パス:
ファイル名:
moe_for_unity\client
MOengineForUnity.unitypackage .............. MO エンジンクライント本体
[Inporting package]のウィンドウが開きます。
インポート元が[MOEngineForUnity]となっており、すべての項目が選ばれていることを確認して、
[Import] ボタンをクリックします。
12
セットアップガイド
インポートが終了した後、[Project]タブの[Assets]の下に[MOengine]が表示されていれば、
MO エンジンクライアントのインストールは終了です。
インストールの終了後、メニューをクリックすると[MoEngine]の項目が表示されます。
13
セットアップガイド
※ MO エンジンインストール後は、Unity の起動画面に作成したプロジェクト名が表示されます。
このプロジェクト名をクリックすることで、MOengine クライアント用パッケージが開きます。
② サンプルアセットのインポート
サンプル用のプレイヤー/エネミーユニットのアセットをインポートします。
項番➀と同様に Unity メニューから
[Assets] → [Import Packaeg] → [Custom Package]
を選択し、開いたウィンドウ上で、以下のファイルを選択して [開く] ボタンをクリックします。
パス:
ファイル名:
moe_for_unity\client
MOengineForUnitySample.unitypackage ... サンプル用アセット
14
セットアップガイド
[Inporting package]のウィンドウが開きます。
インポート元が[MOengineForUnitySample]となっており、すべての項目が選ばれていることを確
認して、
[Import] ボタンをクリックします。
インポートが終了した後、
[Project]タブの[Assets]の下に[Design]が、[MOengine]の下に
15
セットアップガイド
[Sample]が表示されていれば、サンプルデータのインポートは終了です。
Unity のメニューから
[File]→[Open Scene]
と選択し、ファイル選択ダイアログが表示されるので、以下のフォルダに移動してください。
C:\Unity\MoEngine\MoEngine\Sample\Assets\MOengine\Sample\Scenes
開いたフォルダ内から
“Title.unity”
を選択し、
[開く]をクリックします。
[Scene]タブの画面にサンプルゲームのタイトル画面が表示されていればインポートは成功してい
ます。
16
セットアップガイド
(3) [Master]フォルダのコピー
MO エンジン専用の各種エディタで作成したゲームデータを保存する[Master]フォルダを Unity のプ
ロジェクト内にコピーします。
Unity のデータではないため、このフォルダ内のデータは Unity のインポート操作でインポートするこ
とができません。
そのため、インポートとは別[Master]に Unity のプロジェクトフォルダ内にコピーします。
コピー元:
moe_for_unity\client\Master
コピー先:
C:\Unity\MOengine\Master
C:\UnityMOengine\Master 内に以下のファイルが存在することを確認しましょう。
BulletMaster.json
EnemyMaster.json
EventMaster.json
MasterDragonAI.xml
MasterDragon_root.xml
PlayerMaster.json
simple_player_root.xml
simple_spider_ai.xml
simple_spider_root.xml
spider_ai.xml
spider_root.xml
17
セットアップガイド
StageEditData.xml
StageMaster.json
UnitMaster.json
(4) ゲーム画面サイズの設定
MOengine クライアント用サンプルパッケージの画面サイズはスマートフォン用に調整しています。
Unity のデフォルトの設定の場合 PC 用(PC, Mac & Linux Standalone)の画面表示設定になってい
るため、画面サイズの設定を行います。
メニューの [File] → [Build Setting] を選択するとビルド設定ウィンドウが開きます。
[Platform] で [Android] を選択し、 [Switch Platform] をクリックします。
設定が終了した後、ウィンドウ右上の [×] ボタンをクリックし、ウィンドウを閉じます。
18
セットアップガイド
画面上部のタブを [Scene] から [Game] に切り替えます。
ゲーム画面サイズのプルダウンリストから[16:10 Portrait (10:16)] を選択します。
画面のアスペクト比がスマートフォンの比率になり、ゲームの全画面が表示されます。
以上で、MO エンジンクライアント、及びサンプルゲームのアセットの導入は完了です。
19