FreelyApps

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


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

    2015年04月

      このエントリーをはてなブックマークに追加 Clip to Evernote
    以前の記事でUnity5でアプリを作ると、immersiveモードがデフォルトで有効になっていると書きました。immersiveモードを解除して画面下部のボタン(ナビゲーションバー)を表示する方法が判明したので、備忘録として残しておきます。

    Unity 日本語へルプデスクというUnityによる公式のサポートページに解決策がそのまま載っていました。このサイトは最近できたものでUnityの質問を日本語でできるとのことです。

    そのサイトのこのページに私の知りたかった解決策が載っています。

    アプリの起動時にでも
    Screen.fullScreen = false;
    を呼んでおけばimmersiveモードが解除されます。

    とりあえずNexus 7 (2013)では作ったアプリが問題なく動作していました。
    Android 4.3以前の端末でこのコードの悪影響がないのだろうかという心配はありますが、実機がないので調べられませんでした。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    以前この記事でリファラースパムというものが発生したと書きました。
    Google Analyticsの統計データが不正確になってしまうため、設置しているサイト管理者にとっては困りものなのです。
    統計データが正しくなくなっていくと、データをもとに判断していたことが当てにならなくなります。

    良く参照されている記事はおそらく求められているものだと思います。そういった記事の共通点を調べれば、どのような内容が良いのかわかってくるはずです。分析することにより、より良い内容になっていくことも期待されます。もちろん、書くためのモチベーションにも大きく影響します。

    しばらくリファラースパムはなかったと思っていたのですが、実は少なかっただけで存在していたみたいです。
    気づいたのは、ある特定の場所から大量のアクセスが残っていたからです。
    例によってフィルタに追加してやれば良いのですが、リファラースパムが登場するたびに同じ作業をするのは面倒です。
    相手にするのは時間の無駄でしかないので、フィルタには追加しなければなりませんが、そのための時間はもったいないです。
    いっぺんに除外する方法はないものかと調べて見つけたのが、このサイトの記事です。

    リファラースパムはFreelyAppsのブログ自体には直接訪れることはありません。
    Google Analyticsに直接情報を送りつけ、アクセス履歴を残すようになっているからです。
    このしくみ利用すると、Google Analyticsを設置しているサイトにアクセスしていない記録を除外すればリファラースパムを取り除いたことになるということです。
    別の言い方だと、Google Analyticsを設置しているサイトにアクセスしている記録だけとれば、リファラースパムが除かれています。
    言われてみればその通りですが、何とも効果的な除外方法です。

    すでにこの設定を反映してあります。
    しばらく様子を見て問題なさそうなら、これで問題解決です。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    安いスマートフォンがないかと調べていて見つけたのがAscend G6です。
    現在Amazonにて14000円(私が買った時は18000円)ほどで買えます。


    SIMフリーの端末なので、適当なSIMカードを入れればスマートフォンとしても使えます。
    Wifi専用ではなく、各事業者の通信網を利用できます。


    <個人的にに気になったスペックについて>

    • LTE/3G対応――低価格の端末ではLTEに対応していないことが多いので、対応していることはとても良いです。

    • 内蔵容量が8GB――実際に使えるのは5GBほど。少ないので、データを大量に追加ダウンロードしてくるゲームは厳しいです。

    • microSDカードに最大32GB分対応――SDカードにアプリが移せるものは移すことで内蔵容量が少ない問題が軽減されます。アプリによってはSDカードに移動できてもデータが内蔵の方に記録されるものもあるため、これで問題が解決するわけではないです。

    • サイズ(131.2mm × 65.3mm × 7.85mm)――片手で持てるサイズなので、良いと思います。



    値段を考えると、相当高性能ではないでしょうか。
    当然この端末は開発に使用します。
    性能が低いからこそ、問題が発見しやすくなるのではないかと期待しています。

    開発用の端末として使うにはいくつかの設定があります。
    それについては今度まとめておこうと思います。

    Ascend G6のドライバが公式のページで見つからなかったので、検索して見つかったページからダウンロードしました。
    ルート化するための方法をまとめたサイトのようです。便利ですが、公式にあったらその方が良いと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unityのプロジェクトを作ると、
    Assets、Library、ProjectSettingsの3つのフォルダができます。

    Assetsには、スクリプト、テクスチャ、サウンドなどのUnityにインポートしたすべてのファイルが置いてあります。
    プロジェクトブラウザーに出ているものと一致します。

    ProjectSettingsには、メニューのProject Settingsで設定する項目を保存したデータが置いてあります。

    Libraryにあるのは、Unityがビルドしたスクリプトやアセットのバイナリデータなどの管理用のデータのようです。
    プロジェクトブラウザーでファイルを追加したり、消したりする場合はここにあるデータがおかしくなることはないようです。
    Unityを開かずにファイルを消したり、更新したりしてUnityを実行すると、Libraryのデータが壊れてしまいプロジェクトが開けなくなるということが起きました。

    解決策としてはLibraryフォルダの作り直しが必要です。
    Libraryの作り直しにはmetaファイルに保存されているデータが必要です。
    Unityはmetaファイルのデータを読み込んでLibraryを作っているからです。
    すべてのファイルのmetaファイルがある場合は、Libraryフォルダを削除してプロジェクトを立ち上げると直ります。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    UnityのメニューEditにPreferences...というものがあります。
    これはUnityのいくつかの動作を設定するものです。

    Generalという項目があります。
    私の場合は、画像のように2つの項目を変更しています。
    prefs.png

    Load Previous Project on Startup
    これはUnityの起動時に以前開いていたプロジェクトを自動で開くという設定です。
    どのバージョンからかわかりませんが、デフォルトではUnityのプロジェクトの一覧が画面に表示されるはずです。
    複数のプロジェクトを切り替えながら作業する人には便利ですが、あるプロジェクトの作業を連続して行うにはいちいち選択するのが面倒です。この設定を行うと、選択せずにプロジェクトが開かれるので慣れると楽です。
    Load Previous Project on StartupをONにした状態でプロジェクトの一覧画面を開く方法もあります。Altキーを押しっぱなしにしたままUnityを起動するとプロジェクトの一覧画面が開けます。


    Enable Aplpha Numeric Sorting
    ヒエラルキーに表示されるゲームオブジェクトの並び順をアルファベット順にすることができるようになります。
    (デフォルトでONになってないのは、なぜなのかと思うほど便利な機能です)
    ONにした状態だと、ヒエラルキーの上部に表示順切り替えのボタンが出現します。
    hier-sort.png

    座標軸のようなアイコンをクリックして、Alphabetical Sortを選べば、アルファベット順にゲームオブジェクトが並びます。
    この並び順が名前で探しやすいので、便利だと思います。

    UIを作るときは、Transform Sortに戻して作業してください。
    そうしないと同じ階層のゲームオブジェクトのUIの描画順を入れ替えることができません。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    以前書いた『UnityでVisual Studioを使う』よりも進んだ内容です。
    具体的にはVisual Studioでデバッグできます。ブレークポイントをVisual Studioで設定して、Unityでゲームを実行するとブレークポイントにひっかけることができます。

    MicrosoftのこのページにVisual Studio Tools for Unity(VSTU)というものがあります。
    これがUnityとVisual Studioを連携させるためのツールです。

    Visual Studioのバージョンによりダウンロードするべきファイルが違います。
    対応しているバージョンは以下の4つです。
    • Visual Studio 2015 Preview

    • Visual Studio 2013

    • Visual Studio 2012

    • Visual Studio 2010

    ただし、Visual Studio Expressという無償版は対応していないそうです。
    私は2010 Expressを使用していたので、今までこのツールを使えなかったのです。

    しかしながら、Visual Studio Community 2013 において個人開発者であれば、これを無償で使えるということになりました。Visual Studio Community 2013は機能の拡張ができます。つまり、個人開発者であれば、Visual Studio Tools for Unityが無償で利用できるということです。

    まずVisual Studio Community 2013をここからダウンロードします。
    ダイアログに従ってインストールを行います。(かなりの時間がかかります。30分~1時間程)

    2013用のVSTUをここからダウンロードします。
    これもインストールします。

    Visual Studio Community 2013とVisual Studio Tools for Unityのインストールが終われば、もう少しでUnityとVisual Studioを連携させることができるようになります。
    UnityのメニューのAssets->Import Packase->Visual Studio 2013 Toolsを選んでください。(どうもUnity5になってからはメニューの表示がなされないようです。C:\Program Files (x86)\Microsoft Visual Studio Tools for Unity\2013にVisual Studio 2013 Tools.unitypackageがあるのでダブルクリックしてインポートするかメニューからインポートするファイルを指定してインポートしてください。)
    インポートができると、プロジェクトビューにUnityVSというフォルダができます。
    ここで一度Unityを終了させます。再起動しないとEditorスクリプトが反映されません。

    メニューにVisual Studio Toolsというものができます。
    Open in Visual Studioを押せば、Visual Studioでスクリプトの編集が可能です。

    Visual StudioにAttach to Unityというボタンが出ているので、それを押すとUnityの実行時にブレークポイントを利用できます。このあたりの使い方はMonoDevelopと似てます。

    最後に重要なこととして、VSTUをインストールするとUnityのPreferenceを設定されてしまいます。
    デフォルトのエディターとしてVisual Studioが設定されるので、プロジェクトにVSTU用のパッケージのインストールが必須になります。Visual Studioを使ってみようかなという程度の人は、まずはVSTUではなく『UnityでVisual Studioを使う』で紹介したVS用のプロジェクトファイルを生成するのを試した方が良いと思います。その上でVisual Studioを使い、MonoDevelopはもう使わないというのならVSTUをインストールしてください。



    Preference->External ToolsのExternal Script EditorをMonoDevelopに設定するとエディターをMonoDevelopに戻すこともできました。

    その後、エディターにVisual Studioを設定するには、画像のようにすると再度戻りました。
    External Script EditorをUnityVS.OpenFileにし、External Script Editor Argsをに"$(File)" $(Line)します。
    VSpreference.png



    (Visual Studio 2013 Language Packをインストールして日本語の表示にしたかったのですが、インストールが終わらなくなってしまいあきらめました。Language PackがなくてもVSTUは動いたので、良しとしました。)

      このエントリーをはてなブックマークに追加 Clip to Evernote
    apkファイルというのはAndroidのアプリを作ったとき、最終的に出来上がるファイルのことです。
    このファイルをDeveloper Consoleで登録することでアプリを配信することができます。

    中身はアプリのプログラム、画像、音、AndroidManifestなどが含まれています。
    AndroidManifestというのはAndroidのアプリでは重要なファイルです。
    xml形式で書かれたアプリの設定をまとめたものです。
    このAndroidManifestの設定で起動する画面を決めたり、権限を割り当てることができます。

    アプリをビルドしてapkファイルができたとき、AndroidManifestが正しく設定されているか確認したい時があります。
    Unityを使っている場合は、AndroidManifestをプラグインのために使用すると最終的に出来上がるマニフェストファイルがどうなるか分かりにくいです。Project Settingsで指定したAndroidManifestのための設定とファイルとして存在するAndroidManifestがマージされるのです。
    AndroidManifestが正しくないとアプリが動かないこともあるので、どうなっているか確認したいわけです。



    apkの中にあるAndroidManifest.xmlの確認方法は以下の通りです。

    apkファイルを用意します。XXXXX.apkのような名前だとします。
    apkという拡張子をzipに変えます。
    そうすると解凍することができるので解凍します。(Windowsならダブルクリックするだけ)

    解凍したフォルダにAndroidManifest.xmlというファイルがあるはずです。
    これが見たいファイルなのですが、バイナリになっています。
    このままだとわかりづらいので、xmlのバイナリ形式をテキスト形式にしてくれるツールを使います。

    AXMLPrinter2.jarというツールをまずDLします。
    置き場所はどこでも良いので、自由においてください。

    java -jar (AXMLPrinter2.jarのパス) (バイナリ形式のxmlのパス)
    というようにしてツールを実行すると、テキスト形式になったxmlが表示されます。



    コマンドを実行するのが良く分からない場合は、
    AXMLPrinter2.jarをデスクトップに置き、見たいAndroidManifest.xmlもデスクトップに置きます。

    アクセサリ->コマンドプロンプトを選択し、cdコマンドでデスクトップに移動します。
    その場所でjava -jar AXMLPrinter2.jar AndroidManifest.xml > output.xml
    を実行すればoutput.xmlがテキスト形式のマニフェストファイルになっています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    『走れユニティちゃん!』のアップデートを行いました。
    ver.1.1.0になります。

    更新したことは前回の記事で挙げたように敵にぶつかっても操作不能にならない条件を追加したことです。

    unitychan-KR-ver1.1.0

    上の画像の左上のところにハートの絵が出ています。
    これがHPのようなものです。HPが0でもゲームオーバーにならないですが、敵に当たると操作不能になります。
    HPがあるときは敵に当たってもそのまま走り続けられます。



    今回、アップデートについて一番大変だったのが画像の用意です。
    ハートの画像なのですが、自分で描いています。
    『走れユニティちゃん!』の絵は、基本的にユニティちゃんの公式ページからDLできるパッケージから持ってきています。
    その中にはハートの画像が含まれてなく、自前で何かを用意する必要がありました。
    フリー素材で使いやすそうなものがなかったため、自分で描くということを選びました。

    heart.png

    これを作るときに使ったエディターがあります。
    EDGEというツールです。
    ドット絵を描くためのツールでフリーソフトです。
    インストールがファイルの解凍だけですし、直感的に使えるので良いと思います。
    また解説動画などが多いので、困ったことがあっても調べられます。

    なんとかハートっぽい絵が描け、そんなに違和感なく馴染んでいると思います。
    このハートの絵を描くのに2時間くらいかかってます。
    時間がかかりすぎなのにそこそこの出来です。

    絵を描いて用意するというのはやはりハードルが高いです。
    納得いく絵やゲームに合ったものを使いたいということは当然あるのですが、それを行うには自分で描くしかありません。
    ただ見た目にこだわりすぎてもゲームができるわけではないので、ほどほどにしておくことが必要です。

    自分で絵を描いてみることで難しいということを実感しました。
    体験することで次回以降どうしようかと考えさせられるのだと思いました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity5が4/1に更新されたので、アプリ『走れユニティちゃん!』を出し直そうと思っています。
    そのまま出しただけだと、ゲームとしては変わりがないので告知するのも微妙です。
    ゲーム自体に少しは手を入れて出し直すことで、アップデートに対する多少の理由になるはずです。

    具体的にはゲームを少し簡単にするつもりです。
    現在だと敵に当たると操作不能になります。その間に障害物が来ることでゲームオーバーになりやすいということになっています。これ自体は意図したことなのですが、どうやら理不尽と感じられてしまうようです。

    これを解消するために操作不能にならない条件をつける予定です。
    HPのようなものを新たに作り、それが0でない場合は操作不能ではなくHPを減らすという処理に変えるのです。
    これにより、操作不能になるのはHPが0で敵に当たる場合だけになります。
    もちろんHPは回復できるようアイテムを追加します。

    処理を作るのは大丈夫ですが、素材を用意するのに時間がかかっています。
    『走れユニティちゃん!』のイラストはユニティちゃんの公式ページのものを使用しています。
    プレイヤーや敵もその中に含まれるものなので、私がイラストを描いてるわけではありません。
    新しくアイテムを追加しようとすると、そのアイテムの絵が必要になります。
    これを描くには自分で描かなければいけません。ドット絵を描いたことはありませんし、普通のイラストも描いたことはありません。
    現在、調べながらドット絵を描くことをしています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    最初のブログの開設が2/8なので、約2カ月経ったことになります。
    リリースしたアプリは3つ。20日で1つくらいのペースです。

    インストールされた総数は約30というところです。全く駄目といったところでしょうか。儲けについては約20円です。ほぼないです。

    結果だけ見ると非常によろしくないという感じですが、今後も開発は続けていきます。
    インストール数が少ないというのが一番の問題なのですが、これを増やすには楽しめるアプリを作るということと知名度の向上というのが大事なのだと思います。

    作っている私自身は、作っているとき「このアプリは面白い」と思っているのですが、リリースしてみるとそれほどでもなかったりするわけです。作り手の甘さと求められることのずれが原因のように感じます。
    こんなアプリが遊びたいということがありましたら、ぜひコメント等で教えていただければ幸いです。

    知名度の向上は時間がかかると思っています。
    アプリを遊んでもらうという以前に存在を知ってもらわなければいけません。
    これについてはニコニコ動画に投稿するというのが、今のところ一番良い解決策です。
    視聴者が積極的ですから、動画の再生数が多いです。
    視聴者が増えることでそれが宣伝になり、さらに視聴者が増えます。それが連鎖的に広がっていくと凄い速さで再生数が増えていくと思います。どれくらいの数でそれが起こるのかわかりませんが、私はそれを体験したと思っています。

    Androidゲームアプリ『走れユニティちゃん!』の動画は2つアップされています。
    完成時の動画
    開発中の動画
    これらの再生数は現時点で1857回、209回です。約10倍くらいの差が出ています。
    再生数の増加傾向も約10倍くらいなのではないかと感じています。
    また、コメントの有無も重要な違いです。
    コメントがあると、再生したくなるものではないかと思います。

    アプリだけで多くのインストールがされ、それによってさらに多くの人に遊ばれていくという流れができるのが理想です。
    いつかはそれに辿りつけるよう頑張っていきたいです。

    このページのトップヘ