FC2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
unityでソケット通信
ご無沙汰です。
フッチーです。

ここのブログもしばらく誰も書いてませんでした。
決してクリエイトウェーブが停止したりなくなったりした訳ではなくて逆で忙しくなりすぎてブログ更新を怠けていたというだけです・・(笑

さてスマフォゲームで、ソケット通信ゲーム(いわゆるリアルタイム同時接続のネット対戦ゲームでスマフォゲームではマルチと言われたりしてます)は、電池や接続安定さとかで未だ先だろうなんて思っていたのですが、時代の流れは早いもの・・・・

ふと気づくとマルチモードが搭載されているゲームの多いこと多いこと・・・
ってな訳でunity上でソケット通信組んでみました・・・・ あっさりつながりました。

ソケットサーバー側は、.NET(こちらもC#)で組んでみました。
unity側も、unity用の命令という訳ではなくて、こちらも.NET(厳密にはMonoですが)の書き方です。 
この辺は.NET命令がそのまま動くのでありがたいですね。

ただSocket通信は、別スレッドをたてないといけないので、うまくやらないとunityが見かけ上フリーズします。
感触ではデバッグで再生とめても、別にたてたスレッドは動き続けてるっぽいです。
組んでる途中に開発ツールのunity自体が何度も落ちました・・・><

これでマルチゲームも問題なく作れそうです。
ただ未だモバイルで試してません・・・ 早く試さねば・・・

今回は、.NETでソケットサーバー組んだのですが、unityのSocket通信をググってみるとソケットはソケットでもWebSocketばっかりヒットします。
まあブラウザ用のソケットなのでWebSocketが流行りといえば流行りだと思うのですが、WebSocketでもいいのかな・・・

WebSocketだとソケットサーバーだけじゃなくて、Apachやnginxとかも絡んでくる気がするので、ゲーム用途だと面倒な上にパフォーマンスとかも影響でるのでは・・・・と未だ詳しく調べてないのですがモヤモヤしてます。

それにWebSocketだとNode.jsで組んでる人が多いようなので、開発敷居が低いという面もあると思うのですが、node.js自体がシングルスレッドなのと、本格的なゲーム用途に耐えられるのかが気になっています。 
時間みつけて調べねば・・・・

.NETで組むのであれば、サーバー側はAzureでやるのが一番効率がいい気がしてますが、Linux上でMono走らせるのがいいのか、.NETじゃなくてJAVAで組んだ方が良いのか・・・

Cでやってるとこも多そうなので、調べる事たくさんです。
という事でマルチゲームも作っていく方向になりそうです。

モバイルだと、業者のアクセスポイントとか普通につなぐ訳だし、UPnPでルータのポート開けるとか出来ないでよね・・・ ってことはサーバー担う端末は作れない訳で基本全部サーバー側で処理しないといけなさそうです。

カテゴリー:Unity | TM(0) | CM(0)
前のページ