オフラインゲームのオンライン化(前準備)

目次

  概要
  【Resourcesフォルダがない場合】Resourcesフォルダを作成する
  サンプルのダウンロード
  サンプルのインポート
  Unityエディタを再起動する
  サンプルを実行する
  アセットをプレイしてみる
  「Mecanim GDC2013 Sample Project」はどんなゲームか?


概要

オンライン実装において、最も確率が高そうな開発ケースについてチャレンジしてみる

  実戦的な開発を想定した場合、「マルチプレイのオンラインゲームを作成する」段階とは、どんな時でしょうか?

  開発現場によりけり、とは思いますが、Unityでの開発を考えた場合、以下のようなケースは少なくないと思います。

    ・ まずプロトタイプとして、オフラインで動作する、1人プレイ用のオフラインゲームを作成する。
    ・ プロトタイプを作った結果、「多人数で遊ばせた方が楽しそう!」という案が浮かぶ。
    ・ オフラインで動作しているものを、オンライン&マルチプレイで動作させるために、ひたすら苦慮する。

  MUNはそういったケースにも十分対応できます。

  本章では、既存のオフラインゲームとして動いているものについて、
  「オンラインでマルチプレイさせるためにはどうするか?」を、実際のサンプルを触りながら説明していきます。


【Resourcesフォルダがない場合】Resourcesフォルダを作成する

前々章を済ませていない人、新規にプロジェクトを構築している人は、ここでResourcesフォルダを作成しておいてください

  さて、前々章のプロジェクトから継続的に行っている人との帳尻合わせです。
  Project ビューにある、現在のAssetフォルダ直下に「Resources フォルダ」が存在するでしょうか?
  Resources フォルダが存在しない場合には、以下の手順で作成していきましょう。 
  (すでに Resources フォルダが存在している場合には、この手順を飛ばして、次の アセットのダウンロード に進んでください。)

   1) Project ビューの Assets を右クリックして、ポップアップメニューから Create > Folder を選択します。
   2) ここで新しいフォルダに名前を指定しますが、必ずフォルダ名は Resources にしてください(超重要事項です!)
MUN ではプレハブを読み込む際、内部処理で Unity API である Resources.Load() を使用していますが、
このAPIはマルチプラットフォーム(特にiOSデバイス)の読み込みにおいて、
Resources フォルダに含まれていなければならない鉄則があります。

MUN ではこの観点から、Resources フォルダに含まれていないプレハブは読み込みません。


サンプルのダウンロード

「Mecanim GDC2013 Sample Project」をダウンロードする

  さて、話を戻します。
  上記の「概要」に触れたケースに対応できることを明確に示すために、
  今回は敢えて、「既製かつ他社製の、オフラインで動くゲームサンプルアセット」を使用します。
今回サンプルとして使用する「Mecanim GDC2013 Sample Project」は、Unity Technologies 社の製品です。

  Mecanim GDC2013 Sample Project のunitypackageを、以下のリンクからダウンロードしてください。
    Mecanim GDC2013 Sample Project.unitypackage

  ダウンロードしたら、UnityEditor のメニューから、 Asset > Import Package > Custom Package... を選択してインポートします
  「Import package...」ダイアログが開いたら、上記リンクでダウンロードした
  Mecanim GDC2013 Sample Project.unitypackage を選択してインポートしてください。

  さらにしばらく待つと、以下のような警告が出る場合がありますが(出ない場合もあります)、
  その場合、[Install/Upgrade]ボタンを押します。
  しばらく待つと、Importing package ウィンドウが表示されますが、
  既存プロジェクトとの相性問題がありますので、以下のインポート設定のチェックを外してください。
    ※ インポートリストの一番最後にありますので、下のほうまでスクロールしてチェックボックスをOFFにしてください、
・ProjectSettings/EditorBuildSettings.asset
・ProjectSettings/EditorSettings.asset
  上記の除外設定を行なった後で、右下の [Import] ボタンを押してください。
  インポート中、以下のようなダイアログボックスが表示される場合があります。
  この場合、[I Made a Backup, Go Ahead!] ボタンを押してください。
  更にしばらく待つと、インポートが完了します。
  Project ビューにて、Asset フォルダ直下に、以下に示す MecanimGDC2013 関連 フォルダが出来ていることを確認して下さい。
・Animation
・Character
・Environment
・Icons
・Props
・Scripts


Unityエディタを再起動する

ProjectSettingsの変更を適用するために、一旦終了して再起動する

  「Mecanim GDC2013 Sample Project」のインポートの結果、プロジェクト設定(ProjectSettings)の一部が変更されました。
  ここで一旦 Unity を再起動させ、プロジェクト設定の変更を適用させます。

  Unityのメニューから File > Exit を選んでください。

  その後 UnityEditor を再度立ち上げ、プロジェクトを開いてください。


サンプルをプレイしてみる

「Mecanim GDC2013 Sample Project」のシーンファイルを開く

  「Mecanim GDC2013 Sample Project」のシーンファイルが、 Assets/MecaminGDC2013/Scenes フォルダ、
  または Assets/Scenes フォルダの中に、「Bearpocalypse.unity」として格納されています。

  このファイルをダブルクリックして開いてみましょう。

ゲームをプレイしてみる

  Bearpocalypse.unity を開いたら、Unityエディタ上の再生ボタンでゲームプレイができます。


「Mecanim GDC2013 Sample Project」はどんなゲームか?

サンプルゲームの説明

  AssetStoreでは
This is a technical sample and should not be considered a playable game.
  と書かれていますが、一応ゲームとしてプレイすることができます。

  ゲームスタートすると、フィールド上にプレイヤーが現れます。カーソルキーで移動します。
  スライディングやジャンプは自動で行なってくれます。

  画面奥には大きなアイスキャンディーがあります。
  これを取った瞬間、大量のテディベアが現れ、プレイヤーにボールを投げつけてきます。

  プレイすると分かりますが、ステージの外れにある「バズーカ砲らしき武器」を取得すると、左CTRLキーで攻撃できます。
  やはり大量のテディベアから、大量のボールを投げつけられますので、プレイヤーはすぐにやられてしまいます。

  ゲームバランス的には破綻しているように見えますが、マルチプレイにするとゲームバランスが保てそうです。