FC2ブログ
    07 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    ポケガ瀕死、でもがんばるんば。今作ってるアプリはPhoton使ってるんだけど、モノビットエンジンってどうなの? 

    おはようございます。坂内っす

    もう8月も終わりですね。
    年末が近くに寄ってきました。
    ガクガク(((n;‘Д‘))ηナンダカコワイワァ U>ω<)ノ シッ!!U>ω<)ノ シッ!!

    先週はすた子ちゃんでおなじみの(?)スターガレージ様主催のASOセミナーに行ってきました。
    基礎編ということで、基礎を知らない俺はためになったんじゃないかと思ってます。
    まぁ アプリ業界にいれば色々話は聞きますので、基礎編くらいはなんとなく知ってるような、知らないような話でした。

    ポケガ2こと魔王を狩るモノは風前の灯ですが、これからなんとか立ち直るようASOをちゃんとしたりして行こうと思います!
    まぁポケガ1も、もうリリースして1年半経ち、だいぶ落ちてますが・・・こっちも何とかしたいところ!

    さて、最近Photonを使用しているんですが、1点わからないことがあります。

    ルームを作成した後、LeaveRoomをせずにアプリを落とした場合など、ルームが残ることがあります。
    これの対応はどうすればいいんだろう。

    これの対応できないと、中に人のいないルームがどんどんできていく・・・・

    OnPhotonPlayerDisconnected
    をうまく使えばいいのかな?

    でも、アプリを落とした方はその辺は使用できませんもんねー

    困ったものだ。

    それと、今現在ネットワークエンジンとしてPhotonを使用していますが、モノビットエンジンというのもあるようで、こちらの利便性など分かる方いましたら教えて下さい。
    ネットワーク使うゲームなんて作るとは思っていなかったので、さっぱりわかりませぬ。
    ただ、モノビットの方は100ユーザまで無料!だそうです。
    Photonの方は20ユーザまで無料なんですよねー…モノビット使ってみようかなぁ

    ということで、技術ネタは全然ありませんでしたっと。

    では、あでゅ~ノシ

    Category: その他日記

    tb 0 : cm 2   

    アプリ開発者のおまつり「あぷまがないと」いってきたYO!(技術的なお話しは今回ありませんorz 

    どしゃあああああああああ って朝から雨がすごいです。
    台風9号が暴れております。
    関東の皆さんご注意ください。

    先週金曜日(8/19)に「あぷまがないとふぁいなる」行ってきました!
    アプリ開発者のお祭りです。
    やば面白かったです!

    17:00~19:00 0次会 8名くらい
    19:00~22:30 1次会 126名
    23:00~05:00 2次会 60人くらい?

    12時間ほど飲んできたよ!

    あぷまがないとは”ファイナル”ってことで、今年で終わりのようです。
    普段聞けない話が色々聞けて面白かった!

    今回4回目(4年目)のあぷまがないとですが、2回目から通算3回の出席をしました。
    思い返せば2年前のあぷまがないとで、初めてアプリ開発者のお祭りに参加をしましたが、あの時のアウェー感は半端なかったです。
    思い返すと((((;゚Д゚))))ガクガクブルブルしちゃいます。

    あれから2年経ち、色々なアプリ開発者さんとも懇意にして頂いてます。


    あぷまがないとファイナル については、主催の和尚さんこと、くまんぼうさんがブログに挙げてますね。
    http://ninebonz.net/appmaganight4after


    さて、Unityのお話し。
    あ、特にないっす。

    強いて言うなれば、現在PhotonNetworkを利用した対戦ゲームを制作中です。

    Photonの使い方は探せばいくつか見つかるので、そちらを参照してください!

    Photonの公式Blogにも色々と作り方が書かれてますね。
    http://blog.photoncloud.jp/
    ・・・・といっても、2015年で更新終わってるので、あれですが…
    あれ?Photonって今使っても大丈夫なのかな?更新止まってるけどさ…

    ってことで、本日は内容のないものとなりました。

    あでゅ~ノシ

    Category: その他日記

    tb 0 : cm 0   

    【Unity】Transform.SetParentでやってたことがUnity5.4だとInstantiateで指定できるようになったんですね。 

    こんにちは。
    大坂です。

    オリンピックで日本頑張ってますね!
    いつの間にか金メダルが10個になってました!!

    さてさて・・・今週は(も?)小ネタですよっと。
    ネタのためだけにUnity5.4触ってる気がします…orz
    まぁそれはいいとして、タイトルの通りですが、
    今までオブジェクトを作ってから他のオブジェクトの子供にするときはこんな感じでやってたんですが、
        public Transform parent;
    public GameObject test;

    void Start () {
    GameObject obj = Instantiate(test) as GameObject;
    obj.transform.SetParent(parent, false);
    }

    Unity5.4だとInstantiateで一気に指定できるってだけのお話し。
    書き方はこんな感じです。
        public Transform parent;
    public GameObject test;

    void Start () {
    Instantiate(test, parent, false);
    }

    便利になりましたね!

    短いですけど今週もこんなところでっす。
    ではまた来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】リリーさんバトる↑次回アップデートのお話しと、CNContolsのお話し第二回目。CNControlsすげー使いやすいよぉぉぉぉぉ 

    こんつわ。坂内っす。

    リリーさんバトる↑のiOS版は今週リリースするかもしれません。

    Android版:https://play.google.com/store/apps/details?id=net.room6.lilybattle

    そして、リリーさんバトるの次回アップデート内容は!
    雑魚ラッシュ!ボスラッシュ&ランキング!
    こちらはストーリーモードクリア後にでるコンテンツになっております。
    そして最高LVが300→9999になる予定。

    雑魚ラッシュでひたすらLVを上げてボスラッシュでトップランカー目指してください!
    こちらのアップデートはまだ予定なので未定です。未定なので予定です。


    さてさて、先週は新しくなった CNControlsのアセット(コントローラを配置するアセット)の簡単な紹介をしました。
    今日はそれを実際にコードで使う方法を書いてみようと思います。

    先週の記事

    まずはこんな感じで、簡単にCNControlsのJoystickを置いてー


    こんな感じのことをしようとすると。



    こんな感じの簡単コードでできちゃいます。


    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;
    using CnControls;

    public class TestScript : MonoBehaviour {

    public Text text1;
    public Text text2;

    void Update () {
    text1.text = CnInputManager.GetAxis("Horizontal").ToString();
    text2.text = CnInputManager.GetAxis("Vertical").ToString();
    }
    }


    こんな簡単にできちゃいます。

    まずは、using CnControls;を付けてあげてください。
    ジョイスティックの縦の動きは CnInputManager.GetAxis("Vertical")
    横の動きは CnInputManager.GetAxis("Horizontal")
    だけで取れますね。

    ちょー簡単!

    ビバCN Contols!!

    是非使ってみてね!

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】Unity5.4で正式リリースされたUnityWebRequestをちょっと触ったよ。 

    こんにちは。
    大坂です。

    山の日らしいです。
    山の天気が急変しやすいらしいので山に行く人は気を付けて下さい!
    僕はもちろん家にこもってます!

    さて、Unity5.4からUnityWebRequestが正式リリースされたみたいです。
    WWWに比べてAPIが使いやすくなってるみたいですね。
    ということで簡単な使い方です。

    using UnityEngine;
    using System.Collections;
    // 追加
    using UnityEngine.Networking;

    public class BlogTest : MonoBehaviour {

    // Use this for initialization
    void Start () {
    StartCoroutine(GetFile());
    }

    IEnumerator GetFile() {
    UnityWebRequest request = UnityWebRequest.Get("http://example.com/test.txt");
    yield return request.Send();

    // 何らかのエラーがあったら
    if(request.isError) {
    // エラー処理
    Debug.Log("エラー");
    } else {
    // レスポンスコードを見る
    if(request.responseCode == 200) {
    string test = request.downloadHandler.text;
    }
    }
    }
    }

    まぁこんな感じですかね?
    ほとんどWWWと変わりませんね。
    WWWに比べるとエラーチェックやレスポンスコード見るところがシンプルに書けるようになってますかね。
    WWWだとこんな感じですもんね。
        //何らかのエラーがあったら
    if(!string.IsNullOrEmpty(www.error)) {
    }

    //レスポンスコードを見る
    responseHeaders["STATUS"]に「HTTP/1.1 200 OK」とか入ってるので切り分けるか文字列探すか。
    if(www.responseHeaders.Count > 0 && www.responseHeaders["STATUS"].Contains("200")) {
    }


    あとは「DownloadHandlerScript」を使うとデータ受信してるときとかした後とかの処理が便利みたいです。
    Unity公式にあるサンプルだとログ出すようなのがあったのでとりあえずそれを使ってみる。
    一応コードも貼っておきます。細かい説明は公式に。
    using UnityEngine;
    using System.Collections;
    using UnityEngine.Networking;

    public class LoggingDownloadHandler : DownloadHandlerScript {

    // Standard scripted download handler - will allocate memory on each ReceiveData callback
    public LoggingDownloadHandler() : base() {
    }

    // Pre-allocated scripted download handler
    // Will reuse the supplied byte array to deliver data.
    // Eliminates memory allocation.
    public LoggingDownloadHandler(byte[] buffer) : base(buffer) {
    }

    // Required by DownloadHandler base class. Called when you address the 'bytes' property.
    protected override byte[] GetData() { return null; }

    // Called once per frame when data has been received from the network.
    protected override bool ReceiveData(byte[] data, int dataLength) {
    if(data == null || data.Length < 1) {
    Debug.Log("LoggingDownloadHandler :: ReceiveData - received a null/empty buffer");
    return false;
    }

    Debug.Log(string.Format("LoggingDownloadHandler :: ReceiveData - received {0} bytes", dataLength));
    return true;
    }

    // Called when all data has been received from the server and delivered via ReceiveData
    protected override void CompleteContent() {
    Debug.Log("LoggingDownloadHandler :: CompleteContent - DOWNLOAD COMPLETE!");
    }

    // Called when a Content-Length header is received from the server.
    protected override void ReceiveContentLength(int contentLength) {
    Debug.Log(string.Format("LoggingDownloadHandler :: ReceiveContentLength - length {0}", contentLength));
    }
    }

    各コールバックはこんな感じで呼ばれます。
    ReceiveData:データを読み取った時
    CompleteContent:読み取り完了した時
    ReceiveContentLength:ヘッダーからデータの長さを受け取った時

    で、用意したクラスはこんな感じでUnityWebRequestに渡してあげれば使えます。
        UnityWebRequest request = UnityWebRequest.Get("http://example.com/test.txt");
    LoggingDownloadHandler handler = new LoggingDownloadHandler();
    request.downloadHandler = handler;

    ということで、さらっと簡単な使い方でした!

    では今週もこれにて!
    また来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】リリーさんバトルリリース間近!?そしてUnityの無料ジョイスティックアセットのCN ControlsがuGUIに対応して使いやすいぞー!!うおおお!暑い。 

    おはようございます!バンナイっす。

    ポケガ2にて水着を実装しました!
    大人気です!

    そして、本日Room6さんと共同制作していた「リリーさんバトる!」のAndroid版リリースです!(たぶん

    わらわら出てくる敵を殺しまくるぷちぷちアクションです!

    企画から1年と1か月!ようやく日の目をみることができるのか!?

    是非落としてみてね!!
    https://yoyaku-top10.jp/u/a/MTczMjE


    んではUnityのお話し。

    以前ブログでも紹介した(http://halcyonsystemblog.blog.fc2.com/blog-entry-197.html)バーチャルジョイスティックのAssetである「CN Controls」が結構変わっていたので、再度ご紹介。

    [CN Controls]
    https://www.assetstore.unity3d.com/jp/#!/content/15233

    こちらのAssetになります。

    以前使ってみたとき(2015年4月時点)と変わったところといえば、やはりuGUIに対応したということでしょうか。

    使い方はわー簡単!

    CN Controlsをインポートし、使いたいオブジェクトをCanvasの下においてあげるだけ!
    今回は基本になりそうなジョイスティックを置いてみました。

    オブジェクトは色々あるようですね。
    ・2 Ways DPad Horizontal
    ・2 Ways DPad Vertical
    ・4 Ways DPad
    ・Button
    ・Joystick
    ・SensitiveJoystick
    ・Touchpad

    こんな感じのオブジェクトが用意されています。

    ではジョイスティックの簡単な説明を

    Hide On Release、Move Base、Snap To Fingerのすべてにチェックが入っているとこんな動きになります。


    Hide On Releaseのチェックを外してみます。

    タップをやめてもジョイスティックが画面上に残るようになりました。

    では、次にMove Baseのチェックを外してみます。

    こちらのチェックはドラッグした際にジョイスティックのベースが指についてこなくなりますね。

    それでは最後にSnap To Fingerのチェックを外してみましょう。


    今まではドラッグ(タップ)を始めたところにジョイスティックが移動していましたが、こちらのチェックを外すことで完全にジョイスティックが固定されました。

    という感じで、色々な動きのジョイスティックが簡単に設置できます。


    ということで、来週はジョイスティックの動きをコードで取る方法を書いていきます!

    それではあでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】ポケガ2の水着がそろそろ導入されます!ネタはネタともなりませんが、アプリケーションのバージョン取得とかね。 

    こんにちは。
    大坂です。

    ポケガ2の水着が近日(今日か明日?)導入されます!
    楽しみにしていた方々お待たせました!
    夏(8月9月)の間だけ一応セール価格に設定します!
    元が高いので他よりも高いですがお得なんです!!

    さて、小ネタです。
    開発していてアプリのバージョン使って何かとかって時があります。
    GoogleAnalyticsとか画面に小さく出しておいたりとかだとか。

    そんな時にわざわざコードに持たせるといろんなところを変更しないといけなくて、修正忘れなんかもあります。
    ということで、PlayerSettingsで設定したやつを取ってくるAPIですね。


    Application.version;


    でとれますね!
    でもこれ、EditorとAndroidはよかったのですが、
    Unity5.3.4f1でiOSの実機で確認するとUnityのバージョンが返ってきました…。
    Unity5.4とかでやるとどうなってるのかは試してませんが、注意が必要です!
    MacにまだUnity5.3.4f1より新しいのをインストールしていないので、そのうち試してみます!

    今週も特に役に立ちそうにない!
    ではまた来週ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【Unity】ポケガのデータは基本ExcelImporter使ってるので、ローカライズもさっくさく・・・・ただ量が多いのよね・・・ExcelImporter使ってる場合のローカライズについて。 

    こんにちは!バンナイです。
    暑いっすね。
    ずっと家にいるから僕は暑くないですが。



    こんなコメント頂きました。
    すいませんすいません ほんとごめんなさい

    すべてアドフリくんのおかげです。
    僕のせいじゃないけど、ごめんなさい。

    といってるうちに、

    こちら。
    7月26日にアップデートが入ってますね。
    Unityで動画広告にアドフリくん使ってる方は素早いアップデートをどうぞ!!
    ポケガ2も今週早目にアップデートします!orz

    それではUnityのお話し。

    以前uGUIのTextとImageのローカライズの話をしたと思いますが、本日はExcelImporterを使ったローカライズについて。
    まぁ大体想像はつきますよね。
    ポケガでは、アイテムデータやストーリー、イベントなどあらゆるところでExcelImporterを使用しています。

    こんな感じで。

    んで、ローカライズをした場合はどうするか。

    簡単です。



    ローカライズ用のシートを追加しちゃいましょう。

    で、コードのほうをこんな感じにしちゃいます。

    ItemData.Param itemDetail = itemData.sheets[0].list[i]



    ItemData.Param itemDetail = itemData.sheets[gameData.localizeLang].list[i]

    前回と同じく、gameData.localizeLangには0:日本語 1:英語とかってなってれば、これでOK!

    ローカライズかんたーん!

    皆さんもローカライズライフ楽しんでね!

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0