FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    アプリ『トランプ・ジン・ラミー』を公開しました。
    Android/iOS https://goo.gl/PYKFYG

      このエントリーをはてなブックマークに追加 Clip to Evernote
    ジン・ラミーを知らない人が多いでしょうから、簡単な説明動画を作成しました。これを見れば全部わかるというわけではないですが、ゲームの目的や基本的な遊び方はわかるようになっていると思います。

    YouTubeとニコニコ動画にアップした紹介動画を載せておきます。内容は同じですので、お好きな方をどうぞ。
     
     

      このエントリーをはてなブックマークに追加 Clip to Evernote
    3/25に『トランプ・ジン・ラミー』をリリースしました。
     title

    「ジン・ラミー」というトランプゲームがあってそれが遊べるアプリです。
    ジン・ラミーを知っているという人は少ないと思うので軽く説明すると、世界三大トランプゲームの一つでアメリカで発祥したゲームです。日本ではあまり有名ではないですが、世界的には有名なゲームです。
    2人で対戦するゲームで手札の点数を相手よりも低くすることを競います。カードの数字がそのまま点数(絵札は10点)であり、メルドと呼ぶ組に入っている場合は0点になります。メルドを作っていくことでゲームが進行していきます。メルドは同じ数字3枚以上か同じスートで連番の3枚以上の組です。
    10点以下になったら勝負をかけれます。点数の差が得点となるので、なるべく早くに勝負をかけると良いです。
    相手の点が自分よりも低いと負けになりボーナス点も払わなくてはなりません。そんなわけで勝負をかけるタイミングが重要です。
    点数を下げて、ここだという時に勝負をかけるゲームです。

    言葉で説明すると長くなるので、見てもらうか遊んでもらったほうがわかると思います。一回の勝負の動画を載せておきます。
    0_0325
    合計得点が100点(アプリでは初心者向けに50点もあります)超えると勝ちになるので、逆転が多くなります。

    説明のための動画とか作ったほうがわかりやすそうですね。これだけでわかったらすごい。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    次のようなログが出続けるバグがUnity 5.5.1.f1 Personalで発生しました。
    many-log

    調べてみると原因は5.5.0f3の時からあるバグのようでした。
    issue


    私の環境だと、以下の条件を満たすと発生するようです。
    1. シーンビューが2Dモードになっている
    2. Transform ToolsがRectTransform用になっている
    3. CanvasにRectTransformのwidthかheightが0のゲームオブジェクトがあり、それに子がある
    4. 上記の子のゲームオブジェクトを選択している
    非常にまれな条件で発生するように見えますが、UIを作っていると発生する可能性があります。

    問題としてはログが大量に出ることによりFPSが極端に低下しゲームが動かなくなってしまいます。
    暫定的対処として、とりあえずTransform Tools(Editorの左上にある手とか移動とか回転のツールのこと)をRectTransform用のものにしなければ良いと思います。もしくは選択しているものを変えると良いです。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    5.5になり、UnityEngine.Typesが使えなくなりました

    `UnityEngine.Types.GetType(string, string)' is obsolete: `This was an internal method which is no longer used'
    というエラーログが出ます。 

    エディター拡張(スクリプトからそれがアタッチされたゲームオブジェクトを作成する拡張)でこれをつかっていたものがあったので対応する必要がありました。 

    対応方法は別のメソッドを使うだけです。Unityで有名なこちらのブログ
    【Unity】クラス名からTypeを取得する(テラシュールブログより)
    の記事がわかりやすいと思います。

    私の場合は、
    UnityEngine.Types.GetType(className,"Assembly-CSharp");
    と書いていたところを 
    System.Reflection.Assembly.Load("Assembly-CSharp").GetType(className);
    と直して問題なく動きました。 


    少し調べてみたところ上記の方法でなくても行う方法がありました。
    System.Type.GetTypeというメソッドでもTypeを取得できるようでした。型の名前を引数にとり、型を返すメソッドです。実行中のアセンブリ(dllと考えていい)かMscorlib.dllに含まれる型であれば名前空間で修飾した型名で型が取れるようです。
    Unityで作ったスクリプトはAssembly-CSharp.dllにあり、エディタースクリプト実行時には当然実行中のアセンブリではないです。System.Type.GetTypeはアセンブリ名を修飾した名前で呼べば型を取得できるようになっているので、
    System.Type.GetType(className+ ",Assembly-CSharp");
    というようにしてどのアセンブリにいるかを指定すれば型が取れます。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    昨年末の12/20に『トランプ・ミリオネア』をリリースしました。
    title

    トランプ・ミリオネアというのは大富豪の意味を持つ英単語milionaireからつけました。
    大富豪というトランプゲームは日本で非常に有名なゲームだと思います。大勢の人が知っていて遊んだことがある人も多いでしょう。ローカルルールが多いことでも有名です。

    今回トランプ・大富豪というように名付けなかったのはトランプ・ミリオネアが大富豪の変種だからです。普通はあがった順番に役をつけますが、ミリオネアでは一人あがった時点でその回は終わりです。あがった人には得点があり、特権を得ます。
    残ったカードの枚数が得点になるため、カードを減らすことと早くあがることを目指してプレイすることが必要です。
    0_1228

    いろいろあって告知が遅れましたが、今年もアプリを作っていけたらと思っています。 

    このページのトップヘ