FreelyApps

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


    ブログを
    https://freelyapps.net/
    に移転する予定です。
    リンク切れがある記事はこちらに移動した可能性もあります。

      このエントリーをはてなブックマークに追加 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されていて、クラッシュが発生する端末で遊んでいる人がいるということだと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    7/9に『トランプ・アメリカンページワン』をリリースしました。
    tap_title

    トランプゲームの「アメリカンページワン」を遊ぶことのできるアプリです。台札にカードをつけて行って手札をなくしたらあがりというゲームです。UNOによく似たゲームです。(UNOもアメリカンページワンもクレイジーエイトというゲームから派生したようです。)

    ディール(カードを配って点数をつけるまでのこと)ごとに点数をつけていき、決められた回数行った後で集計します。合計点が多いほど勝ちとなります。このアプリでは1、5、10回のディールで1ゲームです。

    A(スキップ)、2(ツー)、3(スリー)、8(エイト)、9(リバース)のカードが特殊カードをうまく使うことが重要です。特に2、3は相手にカードを引かせるカードなので、攻撃のために使うか防御のために温存しておくかが考えどころです。

    トランプ・アメリカンページワンでは、手札が11枚以上になったらバーストするというルールがあります。これは持てるカードを増やし続けるとゲームが面白くなくなってしまうので、それを禁止した措置です。ゲームに緊張感を与えるためにあるのですが、バーストさせるという戦略もかなり使えます。開始時には5枚のカードがあるので、開始直後に3を2枚以上出されるとバーストが発生します。
    バーストするとバーストした人は全ての失点を負い、他プレイヤーに得点させてしまうという大きな損害を得ます。

    tap_0709

      このエントリーをはてなブックマークに追加 Clip to Evernote
    開発中の『トランプ・アメリカンページワン』の紹介動画を作りました。いつものようにYouTubeとニコニコ動画にアップしました。アプリの予約もこちらのページで受け付け中です。 




    この動画をアップした時には自分の番ではカードを出すか引くかを決めれませんでした。 これは意図したものであるのですが、プレイヤーの選択肢が少なく自動で進んでいっている感じが強かったと思います。現在はこれを修正し、常にカードを引くことを選べるようにしました。出せるカードがあったとしても、あえてカードを引くということができます。(8とか3とかを温存するといった戦略がとれます。)
    真ん中の順番とスート表示のUIも修正を行いました。動画では動いてないのですが、今はアニメーションするようになっています。これでかなりわかりやすくなっています。
    tap0702

    元々の出せるカードがあるときは出さなければいけない、出せないときはカードを引くというルールはプレイヤーの行動を見て持っているカードを推測するためのものでした。カードが出せないということは現在のスート、数字、8のカードを持っていないということがわかります。特にスートがないというのは、相手を攻めやすくなるので重要な情報です。

    カードをいつでも引けるということで格段に選択肢が増えるわけです。出せるカードがある状態で1枚引くと、引いた後に必ず出すことができるわけなので、出せるカードを温存しようか迷うときは使える戦法です。
    このアプリ独自のルールとしてバーストがあります。手札が11枚以上になると負けるというルールです。自分の番の終了時に10枚以下になっていればよいというものではないので、11枚以上になるときがあると負けてしまいます。10枚の手札があるときにカードを引くと自動的に負けてしまいます。(出せるカードがない場合はどうしようもないですし、わざと11枚目を引くことも可能です。)
    バーストはある程度の緊張感を入れるためと、手札が増えすぎてUIが使いにくくなる問題を解決するために導入しています。このルールがあるため、開始直後にスリーでバーストさせるというのも効果的な戦い方になります。5枚の手札がはじめに配られるので、すぐに2枚のスリーが連続で出されると確実にバーストします。
    3枚のスリーが
    連続で出されると、残り1枚(つまりページワン)でないと防げません。4枚のスリー連続で出されると、必ずバーストになります。4枚のスリー連続で出されるときは、まずないと思いますがスリーをはじめに出した人がバーストするので相当おもしろい展開です。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    トランプ・アメリカンページワンのゲーム画面が大分完成に近づいています。
    変遷を見てみると、かなり変わっていったという印象です。

    最新のが以下のものです。(左上のFPS表示はいずれ消します。)
    tap0626

    数日前がこれです。
    tap0625

    1週間前くらいにはこんな風に5人対戦であり、表示も文字が中心のものでした。
    tap0619

    一番下に表示されている自分のカードを選ぶところは使いやすいと思っているので、これについては変更していません。トランプでカードを出すとき間違ってしまうというのが最も嫌なことですから、間違いにくく手間がかからないUIということで二度同じカードをタップしたら、出すというのが気に入っています。押しやすく手札を見やすいというのも利点です。
    ただこのUIの欠点としてはカードを重ならないように表示しているため、場所をとることと並べただけの表示のため洗練された表示にならないということです。(カードを持ったとき扇状に持っているのが、最も見栄えがするはずです。)

    5人から4人へ変わったのは、アメリカンページワンの1ディール(カードを配ってからあがりが出るなど一回の区切りまでのこと)は思いのほか長かったためです。自分の番が回ってくるのが遅いと面白くないので、人数を減らしてバランスを調整しています。

    UIにかなり手を入れたため、現時点で50時間ほどかかっています。また残りの作業時間を予想すると10~20時間ほどはかかりそうな感じです。7月中に出せればというところです。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    正確なことはわかりませんが、おそらくは4月中旬くらいにUnityAnalyticsの管理サイトが更新されました。(UNITEの後で変わったのではないかと思います。UNITEで新機能など発表→いろいろ更新という流れ。)

    EVENT MANAGERという項目が以前と大分変わりました。それ以外は見た目が少し変わっていますが、機能的には大きくは変わってないと思います。以前の記事のスクリーンショットを見たら、EVENT WATCHERというものだったようです。名前も変わっているようです。

    EVENT MANAGERはこんな感じです。
     analytics-em-ts

    カスタムイベントのポイントの上限が1000から5000へと増えました。多くなったことでよりたくさんのカスタムイベントを作っても記録されるようになり、色々解析できるようになります。普通に使う分では1000でも多いので、増やす必要があるのかと思います。
    しかし、今後ヒートマップという新機能が作られるのでそのためなのかもしれません。これがどれくらいポイントを消費するの不明であり多くのポイントを消費しそうなのです。(位置情報を文字列にして、これをパラメータとして持つカスタムイベントを作れば現時点でもヒートマップに似たようなものを実装できます。位置情報の空間分解能によりますが、1mの立方体で10mの立方体の空間を覆うなら1000個の区別がされます。これだとポイントの消費が大きすぎて実用的ではないです。)

    カスタムイベントの消費ポイントが以前と異なるようです。
    以前は0か1個のパラメータを持つ場合の消費ポイントは1でした。今回からはカスタムイベント1つにつきまず1消費します。そしてパラメータごとに1ずつ消費ポイントが増えていくようです。文字列の場合は送る取りうる値の数だけポイントを消費することは以前と変わらないようです。
    消費するポイントは、カスタムイベントの分1と取りうる値の数分(数値のみパラメータの個数分)です。

    analytics-em-ts-custom
    EVENT MANAGERではカスタムイベントごとにどのようにポイントを消費しているか見れます。これで簡単に内訳が分かるようになりました。(やったね!超便利。) 
    またカスタムイベントの有効、無効が選択できるようになります。新しい実行ファイルでは使わなくなったカスタムイベントがある場合などはDisabledにするとよいでしょう。無効化してあるとポイントの消費が0になりますが、データの参照などそのカスタムイベントはアナリティクスでは全く使えなくなります。
    Disabledにしても後でEnabledにして復活することはできます。無効にしていた間のデータは存在しませんが、Enabledにしたときから集計が行われます。

     

    このページのトップヘ