ネットゲームつくろうぜ on unity

35
ネットゲーム作ろうぜ on Unity @shinriyo 2011123() 今日UnityGamesでリリース Saturday, December 3, 11

Upload: shinsuke-sugita

Post on 28-Jan-2015

118 views

Category:

Technology


2 download

DESCRIPTION

Unity でネットゲ

TRANSCRIPT

Page 1: ネットゲームつくろうぜ on Unity

ネットゲーム作ろうぜ on Unity@shinriyo

2011年12月3日(土)

今日UnityGamesでリリースSaturday, December 3, 11

Page 2: ネットゲームつくろうぜ on Unity

最初に

作り方と言うより、サンプルを動かすまでのHowToです。ハマりポイントなくせると思います。

XmasGameJam に参加して、さくらクラウドでも借りて、くにおくん的なネットゲを作りたいので調査で行いました。

Saturday, December 3, 11

Page 3: ネットゲームつくろうぜ on Unity

XmasGameJamある専門学生から発足したXmasにゲームを作るゲームジャム(金~日の3日間?)

Twitterハッシュタグ#XmasGJ (本家) #XmasGameJam(こちらも一応ある)

Wiki http://www38.atwiki.jp/at10310/

Facebook http://www.facebook.com/groups/xmas.gj/Facebook

Saturday, December 3, 11

Page 4: ネットゲームつくろうぜ on Unity

どんなサーバがある?photon・・クラウドサービス  Unity公式サイトでも紹介されサンプルもある  Hello Worldのやり方もあるし公式でもUnityロゴ

uLink・・・公式サイトさえどこか不明

SmartFox・・クラウド、公式にUnityロゴ

Node.js・・・関西の勉強会の資料を見たり「JavaScriptで MMOG をつくってみよう」で試したが挫折

ES5・・・http://www.electrotank.com/resources/

Saturday, December 3, 11

Page 5: ネットゲームつくろうぜ on Unity

photon

Saturday, December 3, 11

Page 6: ネットゲームつくろうぜ on Unity

How to use photonhttp://www.exitgames.com/

①まずはサインアップ“Sign Up”“Sign In”

②E-mailを入力

Saturday, December 3, 11

Page 7: ネットゲームつくろうぜ on Unity

Application IDをゲット

これをメモしておく。クリップボードにコピー可

Saturday, December 3, 11

Page 8: ネットゲームつくろうぜ on Unity

ダウンロードとインポート

⑤前ページのIDを入力

command + 9(Mac)、Ctrl + 9(Windows)

②photonで検索

④これはWeb登録と同じ手順なので無視

①Asset Store起動

③プラグインをダウンロードしてUnityへインポート

Saturday, December 3, 11

Page 9: ネットゲームつくろうぜ on Unity

確認&テストシーンを開く

Host Type:PhotonCloudServer Address:app.exitgamescloud.com

ポート番号:50555

※localhostになってる場合がある

①設定ファイルの確認

②インスペクタの確認

③設定の確認

Saturday, December 3, 11

Page 10: ネットゲームつくろうぜ on Unity

再生ボタン→部屋に入る

←(1)自分の名前部屋名、今回いじらない→

←(3)最後にGO(2)入力→

Saturday, December 3, 11

Page 11: ネットゲームつくろうぜ on Unity

ファイル構成

◯Code_enabler・・ Code_gameと Code_menu切替◯Code_game・・ゲーム用GUI、チャットやゲームのスクリプトがアタッチ

◯Directional light・・ライト(平行光)◯Code_menu・・ログイン用GUI(MainMenu.cs)

◯Main Camera・・カメラ◯Plane・・地面

Chat.cs GameManager.cs

Playerプレハブを使用している↓

おなじみのキャラ

Saturday, December 3, 11

Page 12: ネットゲームつくろうぜ on Unity

プレイヤーとの衝突・・

void OnControllerColliderHit (ControllerColliderHit hit) {

if (hit.gameObject.tag == "Player") {

Debug.Log("player hello");

}

ThirdPersonController.csにキャラクター操作を行う部分が記載されている

←このログが出ない!

教えてください!!

この太字のコードを追記したができない!

Saturday, December 3, 11

Page 13: ネットゲームつくろうぜ on Unity

ES5(Electron Server)

Saturday, December 3, 11

Page 14: ネットゲームつくろうぜ on Unity

ES5

http://www.electrotank.com/resources/downloads.html

まずはサーバーをDL。Mac版もあるよ。右側がオフラインインストール

ES5は、クラウドではなくJavaで動くインストールするサーバです。

Saturday, December 3, 11

Page 15: ネットゲームつくろうぜ on Unity

サンプルは?

http://www.electrotank.com/docs/es5/manual/

ファイル名:RTSGame.zip

AvatarChat (ファイル名:AvatarChat.zip)も下の方にあるよ

Saturday, December 3, 11

Page 16: ネットゲームつくろうぜ on Unity

RTSゲームのサンプル使用RTSGame.zipを解凍↓

※このディレクトリをProjectとしてUnityから開くのではない!

説明がある。これからスライドで説明する内容が書かれてる

・リアルタイムストラテジー(WIkipediaより)

リアルタイムストラテジー(Real-time Strategy、RTS)とはコンピュータゲーム(主にパソコン向け)のジャンルの一つ。命令および行動の順番が明確に決まっているターン制ストラテジー(Turn-Based Strategy、TBS)ゲームとは違い、プレイヤーはリアルタイムに進行する時間に対応しつつ、プランを立てながら敵と戦う。

サンプル内

on Mac

Saturday, December 3, 11

Page 17: ネットゲームつくろうぜ on Unity

Unityのファイルはどれ?

このディレクトリをProjectとしてUnityからひらく

csharpをRTGameにリネームした

サンプル内

Saturday, December 3, 11

Page 18: ネットゲームつくろうぜ on Unity

サーバーは?

先ほど説明したサーバをダウンロードしてインストールすると「/Applications」の中にES5がインストールされています(Mac)

このextensionsへサーバ用データをいれる(次スライドで説明)

/Applications

先ほどの「ElectroServer_5_3_1_64bit_OSX_Offline.dmg」をインストールした前提

Saturday, December 3, 11

Page 19: ネットゲームつくろうぜ on Unity

サーバ用データはどこ?

extentionの略語と思われるextフォルダの中に入ってる

先ほどのES5の中にあったextentionsの中へフォルダごと入

れるextentionの略語と思われるextフォ

ルダの中に入ってる

ES5

サンプル

Saturday, December 3, 11

Page 20: ネットゲームつくろうぜ on Unity

ES5を起動する!

$ cd /Applications/ElectroServer_5_3_1/server/

$ java -jar lib/ElectroServer5-bootstrap.jar -config config/Configuration.xml

詳しい設定方法やオプションはこのhtmlかpdfを参考にして下さい。

Saturday, December 3, 11

Page 21: ネットゲームつくろうぜ on Unity

Unityサンプルでの設定

Server URLにはelectrotank社が提供している84.73.228.85のIPアドレスが書かれてるのでifconfigとかで自分のIPを調べて変更する。

(一応そのままのIPでも動く)

loginシーン

Saturday, December 3, 11

Page 22: ネットゲームつくろうぜ on Unity

実行

※注意

IPアドレスをミスっても・・・何も警告メッセージ出ません、遷移しないだけ

重複するユーザ名がいても・・・何も警告メッセージ出ません、遷移しないだけ

入力を促す” | “の点滅が始まるのみ。

Saturday, December 3, 11

Page 23: ネットゲームつくろうぜ on Unity

ゲーム開始

Web Playerに吐き出して、Unity EditorとWeb Playerで対戦やWeb Player同士でもOKです。ゲームの遊び方はわかりません

待受画面

WebPlayer用に吐き出すとなぜかjsが??

WebPlayerで吐き出した

Saturday, December 3, 11

Page 24: ネットゲームつくろうぜ on Unity

日本語やハングルも入る

Saturday, December 3, 11

Page 25: ネットゲームつくろうぜ on Unity

AvatarChaton Windows

[Start]メニューからリンクをたどる

ElectroServer_5_3_1_32bit_Windows_Offline.exeをインストールしてる前提、

Windows版はサーバアプリケーションにはGUIツールがある!

Saturday, December 3, 11

Page 26: ネットゲームつくろうぜ on Unity

AvatarChat

実は、ここにサンプルっぽいのがある

今回は使わないし、未検証

Saturday, December 3, 11

Page 27: ネットゲームつくろうぜ on Unity

AvatarChatのzipを展開

サンプルのzipフォルダの、server->java->dist->extの中

サンプルzip内

Saturday, December 3, 11

Page 28: ネットゲームつくろうぜ on Unity

サーバ側へデータ格納

Macと同様、先ほどのextの中にあったAvatarChatをディレクトリごとextensionsフォルダへ格納する

[続行]ボタンを押す

Saturday, December 3, 11

Page 29: ネットゲームつくろうぜ on Unity

サーバを起動しておくこいつを起動

Saturday, December 3, 11

Page 30: ネットゲームつくろうぜ on Unity

サービスなど

Saturday, December 3, 11

Page 31: ネットゲームつくろうぜ on Unity

一方、クライアントはclient->unity->csharpディレクトリをUnityでプロジェク

トとしてひらく

↑今回もcsharpをAvatarChatへリネームした

Saturday, December 3, 11

Page 32: ネットゲームつくろうぜ on Unity

シーンを開く

ex5_loginシーンを開く、今回のサンプルはインスペクタでの設定はない

Saturday, December 3, 11

Page 33: ネットゲームつくろうぜ on Unity

実行

・ログイン名

・IPアドレス

・ポート番号

ログイン時に以下を問われます

ipconfigコマンドで自分のIPを取得して書き換える

Saturday, December 3, 11

Page 34: ネットゲームつくろうぜ on Unity

ゲーム画面

スクリーンショット撮り忘れました

Saturday, December 3, 11

Page 35: ネットゲームつくろうぜ on Unity

以上

何かわかれば教えてください

Saturday, December 3, 11