FreelyApps

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


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

      このエントリーをはてなブックマークに追加 Clip to Evernote
    • Bounce
    • 時を感じろ!
    • 走れユニティちゃん!
    • Pick Up A Diamond
    の4つのアプリを公開停止にしました。初期に作ったものであり、アプリの作りが今のものと違うのと、あまりダウンロードされないためです。アップデートを続けていないと作りが古いままで、後になって分かったよくない点が残っています。
    そういったものを取り除くのがアップデートとも言えますが、そこにかける労力が必要なのかということを考えます。頻繁にダウンロードされ需要があるのなら、直してより良いものにするというのが普通でしょう。逆にほぼダウンロードされないものに労力をかけ続けるのは無駄でしょう。
    かけられる力に限度がありますから、なるべく完成したものには手をかけたくないのです。とくにそれが労力に見合わなければ……

    公開停止にしましたが、すでにダウンロードされた場合は引き続き使うことができます。これらのアプリをダウンロードされた方はありがとうございました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    MacBook Proの購入予定」でMacBook Proを買うつもりだったのですが、新型がでるかもという噂だけがあり本当に今年に新しいものがでるのかわからない感じです。MacBook Proを買うことが目的ではないので、MacBookという機種を買うことにしました。MacBookは小さくてとても軽いようです。

     macbook
    本体の性能は2つ選べることがあって、モデルとCPUがそれぞれ2つから選べます。全部で4種類です。モデルというのはCPUとSSDの違いです。
    macbook-storage

    下はCPUをCore m7にするオプションで高い方のモデルを選んだ場合の選択肢です。148800円のモデルの場合はCore m7にするには30000円追加で必要です。
    macbook-cpu
    Core m7にするオプションの差額からモデルの金額の差の内訳を計算してみると、CPUの差の分が12000円だと思われます。よって、SSDの差の分は24000円となります。

    高いけれど性能が低いと嫌なので、最高の性能で注文することにしました。202800円でした。ノートパソコンの値段としてはかなり高いと思いますが、ブランドなのでそういうものでしょう。かっこいいパソコンだと思います。


    iOSアプリの開発が目的なので、ついでにiPod touchも買っておきました。Appleのページの上のタブにiPodがなくなっていてページ下部のリンクから行くようです。iPod touchには、あまり力を入れてないのかもしれませんね。
    ipod-link

    iPod touchはストレージの量だけ違い、4種類あります。(性能に関係ありませんが、色もいくつか選べます。)
    ipod

    MacBookとiPod touchで合計232600円でした。 
    MacBookはCPUの変更オプションがあるため1週間ほど後に来るようです。iPod touchは翌日に来るそうで早いですね。 

    Macを買うのは初めてなので、わくわくしています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity Analyticsのカスタムイベントにはパラメータをつけることができます。Custom Eventについてでも書きましたが、Analytics.CustomEventの第2引数にパラメータをIDictionary<string,object>として渡します。パラメータの名前と値をセットにした配列を渡すだけなので、使い方を覚えれば簡単です。

    こんな感じに使います。実際のアプリで使っているコードを撮ったので、VariableManagerだのrefResultDataだのがありますが、気にしないで良いです。名前と値がセットになって並んでいるということが重要です。
    ts-old-analytics

    このカスタムイベントの情報を集めると、管理サイトでは以下のようにパラメータの一覧が見れます。上の2つはデフォルトで存在するもので、timeから下がスクリプトで書いたパラメータになります。(大文字小文字の区別はなくなるので、アンダーバーを使って名前を見やすくするのがコツらしいです。)
    ts-params

    levelパラメータは数字を区別したいため、文字列化(数字が頭につくと数字と解釈されているらしい。)して送っています。ゲームの難易度ごとでユーザーがどれくらい遊んでいるかを知ることができます。
    ts-level

    resultパラメータはユーザーの勝敗です。どれくらい勝ったり負けたりしているかわかれば、強すぎたり弱すぎたりするのを改善できます。
    ts-result

    これらの情報は非常に有用なのですが、実は失敗したことがあります。
    ある難易度を選んだユーザーの結果がどうなったのかということを知ることができないのです。Level1を遊んだ人がどれくらい勝ったのか負けたのかはわかりません。

    あるカスタムイベントに付属するパラメータのそれぞれは独立して記録されているため、組み合わせた分析ができないのです。上で言うと、levelがいくつでresultが何々のユーザーのグラフを表示することができないです。(いずれできて欲しいところです。)

    現状ではいくつかのパラメータを組み合わせた分析は以下のようにstringに情報を含めることになるでしょう。組み合わせにより、stringの種類が莫大になりやすいのでそこに注意する必要があります。
    ts-new-analytics

    Summaryという新しい項目に難易度とレベルと結果をすべて含めました。難易度の数、レベルの数、結果の種類の掛け合わせ分でも100いかない位だったので、とりあえずこのようにしました。Summaryという新しいパラメータ名にしたのは、過去のデータと区別するためです。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    『トランプ・アメリカンページワン』を作るのにかかった時間は約78時間でした。前回作った『ゆにてく』と偶然にも同じ時間かかりました。

    トランプゲームのアプリはこれで4作目でして、作るのに慣れてきたかと思っていたのですが、今回は時間がかかりました。途中での複数枚出しへの方向転換やUIの大幅な変更が原因でした。
    5人だと自分の番が回ってくるのが長く待つのがつまらなかったのとバランスを調整するのが難しいことが分かりました。そのため4人で遊ぶように改善したのですが、これが非常に大変でした。結果としては面白くできたと思いますが、UIの変更はきつかったです。

    アメリカンページワンはストップ系と言われるゲームです。手札をなくすというのが目的なので、全員の現在の手札の枚数が分からなければなりません。文字で「残りX枚」と出していたのですが、一目で多い少ないが分かりにくいという欠点がありました。
    fan-layout
    今回は上のように手札を見せるようにして、あとどれくらいの手札があるかわかるようにしました。ILayoutControllerを継承してUnity UIで使いやすいようにしてみました。円周上に並べているだけですが、個々のカードもz方向に回転させています。そうしないとカードの向きがそろってしまい、きれいになりません。z方向に回転させて配置していることでカードのひっくり返しアニメ(y方向)と干渉せず次のようなアニメーションが可能です。
    fan-turn-animation

      このエントリーをはてなブックマークに追加 Clip to Evernote
    ネイティブ クラッシュ(/system/lib/libhoudini.so.4.0.5.44806)というクラッシュが報告されていました。これまでに4回発生していたようです。発生頻度は高くないようですが、特定の端末達(ASUS MeMO Pad)で発生していたので気になりました。
    の4種類で発生しました。いずれも/system/lib/libhoudini.soでクラッシュしていました。これだけ見てもよくわからないので、これらの端末の共通点がないかを調べてみました。 
    端末のホームページにあるスペックを見ると、CPUは次の通りでした。
    •  インテル® Atom™ Z3745 クアッドコア
    • Intel® Atom™ Z2520 Dual-Core, 1.2 GHz
    • インテル® Atom™ Z3580 クアッドコア, 2.3 GHz
    • インテル® Atom™ Z3745 クアッドコア
    インテルのAtomが並んでいます。アプリに「CPUの相性があるのかな?」と思いつつ、原因はこれ以外には思いつかないというものがありました。
    ずいぶん前に「Unityでビルドしたapkのサイズ」 という記事を書いたとき、アプリの容量がx86系端末のためのライブラリが含まれて大きくなるということを知りました。このx86系の端末とは、インテルのCPUを使ったAndroidのことです。x86用のライブラリを含むとアプリサイズが大きくなるので、これを除外することができます。
    予想ですがx86用のライブラリがないとクラッシュするx86系の端末があるのではないかと思います。

    Android4.0以上向けにAPKを出せば100MBのAPKでも良いので、次回からはDevice FilterをFATの設定で出してみようと思います。
    とりあえず現時点ではMemo Padをダウンロードの対象外とすることで対処しました。(どれがインテルのCPUを使っているか調べるのが面倒だったので、MeMO Padという名前のものをすべて選択しました。)
    memopad


    『トランプ・スピード』以外のアプリでは発生報告がありません。おそらくは5000以上DLされていて、クラッシュが発生する端末で遊んでいる人がいるということだと思います。

    このページのトップヘ