FreelyApps

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


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

    カテゴリ: 自作アプリ

      このエントリーをはてなブックマークに追加 Clip to Evernote
    トランプ・スピードを作るのにかかった時間は約54時間でした。予想よりも大分かかったというのが感想です。

    時間がかかった理由は、リアルタイムにカードを出していく処理をどのようにして作るかという試行錯誤とスピードっぽさを出すことに苦しみました。
    スピードでは次々にカードを出して相手を圧倒するものなので、カードを選んだタイミングにより出せたり出せなかったりします。この処理が厄介なのは出す順番が決まらず、しかも出し終えるのを待たずに次のカードが出されるという点です。これをどう実現するかは作る人によるので、ここがスピードのアプリの特徴にもなります。
    私が思うスピードっぽさは、相手と同じ台札にカードをつけようとするときにどちらかが失敗するところ(カードがぶつかるとでも言いましょうか)とカードが出せなかったときに自分の場札に戻すところです。どちらもミスについてです。このプレイ中の失敗を相手に起こさせ、自分が起こさないように注意するということがスピードっぽさにつながると思います。


    苦労したこともあって、結構よくできたと思います。
    現時点のカテゴリ別の新着ランキングは6位です。これはなかなか良いスタートだと思います。上にスピードのアプリがあるので、題材が被ってしまっています。 被らない方が良いでしょうけど、スピードはそれだけ需要があるということだと思います。
    トランプのアプリを作る上で人気のゲームを作るというのは重要だと思います。やはり遊んでもらわないと意味がないですから。
    簡単に遊べますので、知らない人も是非遊んでみてください。シェアとかして頂けると喜びます。
    ranking-ss-ts

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

    トランプゲームの「スピード」を遊ぶことのできるアプリです。名前の通り相手より素早くカードを出すことが重要なゲームです。一般的なトランプゲームと違い、スポーツ的な要素がある点が特徴的です。

    自分の場札をタップすると自動で出せるところにカードを出します。出せないカードをタップした場合は移動が時間的なペナルティとなります。
    下の動画を見ると、結構素早く出していかないと相手に負けてしまうのがわかります。いくつか難易度があるので、徐々に難しくしていくのが良いと思います。
    ts-demo

    トランプ・スピードでは以下のルールを採用しています。
    • 同じ数(ランク)のカードがあっても場札は重ねない
    • AとKはつなげることができる
    • 同じ数のカードを出すことはできない
    • Jokerはない

      このエントリーをはてなブックマークに追加 Clip to Evernote
    開発中の『トランプ・スピード』の紹介動画を作ってみました。
    スピードというトランプゲームは有名なゲームなので、どのようなものかは改めて説明しなくても良いでしょう。どんな感じのアプリなのかというのは実際に遊んでみているところを見るのが一番良いので、動画を作成してみました。

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




    難易度をいくつか用意する予定です。この動画の難易度は通常レベルです。これより弱いのと強いAIも用意します。
    スピードは出す速さを変えるだけでAIを強くしたり、弱くすることが可能です。ゲームのルールがカードを素早くだすというためにそういったやり方が通用します。それに頼ってしまうと何だかつまらないと思うので、難易度ごとに考慮すべき要素を変えていく予定です。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    3/28に「トランプ・ナポレオン」を3.1にアップデートしました。
    Android6.0のパーミッションシステムの変更により、 アプリのスクリーンショットを保存できるかの判定を入れないとSNSの連携時にファイルを正しく送れないということになりました。これに対応する方法は以前記事にしましたが、トランプ・ナポレオンがしばらく更新していなかったのでチェックに時間がかかりました。

    今回のアップデートではAIにも手を入れています。
    ナポレオンと副官は役札(オールマイティ、正ジャック、裏ジャック)を持つことがほとんどで、どちらも役札を持っていることがよくあります。 ナポレオン軍としては役札を分散して出したいわけですが、マストフォローのため意図せず被ってしまうことがあります。
    基本的には副官はなるべく後に役札を出せばいいのですが、ナポレオンが持っていると思われる役札次第では少し早目(7~8トリックくらい)に出した方が良いです。ナポレオンが副官を選ぶときに指定したカードが裏ジャックとすれば、オールマイティ、正ジャックを持っていることが推測できます。こういう場合8トリック目にしてもナポレオンがそれらを出していないなら、副官は裏ジャックを出すべきだと言えます。9、10トリック目をナポレオンの役札で取ると考えているはずだからです。
    AIの修正はこのような役札を出すときの思考の改善になります。 

    また、セイム2についても改善をしています。2は最弱のカードなので、真っ先に処分されるカードです。セイム2があるときは、セイム2が起こり得るならなるべく温存するカードになります。
    以前のAIでは、2が捨てる候補に入りやすかったです。今回の修正では、セイム2の可能性があるスートの2については捨て札の候補に入りにくくしています。絵札とかの兼ね合いもあるので100%温存とはなりませんが、3とかに比べれば捨てられにくくなります。 

    アップデートの内容を解説してみましたが、ナポレオンに詳しくない人だと何を言っているのかわからないと思います。ざっくり言えば、AIが強化されたということです。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    開発中のスピードのアプリのUIがほぼ完成してきました。ゲーム的に重要なのは難易度ごとのAIの作成が残っていて、他にはタイトルやら細かな部分を作ることが残っているところです。
    今週くらいには予約を始めて4月中にはリリースできると良いかなという感じです。 

    トランプのアプリは今までと同じように名前をつけるので、『トランプ・スピード』 という名前にします。スピードは日本では有名なゲームなので、わかりにくいことはないと思います。シリーズものみたいなことで名前はこうすることにしました。
    スピードはトランプの中では変わったものになります。普通のゲームは順番にカードを出していくときに一人ずつ順番を守ります。 特に思考が要求されるゲームではそうです。スピードは出し方も重要ですが、どちらかと言えばスポーツよりで以下に早くカードを出せるかというゲームになります。アプリでスピードを再現するにあたり、カードの出した順番が見えることが重要だと思いました。
    当たり前のことを言うようですが、後に出したカードは表示が前に来ると、後に出したのだと知覚できます。プログラム的には表示の優先度のことです。現実でのカードは厚みを持ち、出されていくカードは重なっていきます。表示位置をずらしたり、3Dモデルを使って影を落とすことも効果的だと思いますが、最も重要なのは前面に表示されているカードがより後に重ねたものであるということです。

    2週間くらい前の画面が以下になります。
    old-input-ts-main
    画面上側のスペードの10と画面下側のハートの9が他のカードに覆いかぶさられているのがわかります。本来ならこれらのカードは移動中なので、後に出したカードのはずです。つまり、スペードの10とハートの9は前に表示されるべきです。このときはUIの優先度を制御してなかったので、このようになっていました。

    今は以下のように正しい表示になっています。優先度が動的に変わっていることを示すためgifになっています。
    input-ts-main
    クリックしたカードが最も前に表示されるようになっています。更に自分と相手のカードについても順番を考慮しています。相手と自分のカードで後に出されたものほど前に表示されます。

    どのように作っているかというと、自分と相手の場札(横に4枚並んだカード)がひとつのUIになっています。構造を見れば察しがつくとは思いますが、一応解説します。
    Cardsというのが表示のための部分です。Cardsの下に1枚のカードに対応するother0~3とmy0~3があります。otherは相手のでmyは自分の方のカードです。Unity UIではヒエラルキー上で見れる階層で下にあるものが最も上に表示されます。(同じCanvas内での話です。)カードを出すという処理をするときに対応する表示用のUIのtransformを取得し、SetAsLastSiblingで子の中で最も後ろに置くということをしてやれば表示を最優先にできます。
    ts-inputUI
    Inputがあるのは表示の優先度が変わると、それらにButtonをアタッチして押せる用にしているとまずいからです。常に固定した位置にタッチ判定を置くためにより優先されるところに入力用の透明なUIを配置しています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    アプリのランキングとレビューを掲載されているサイトAppliv『FlashNumbers』のレビュー記事が掲載されました。

    アプリの説明、操作方法から裏技についてまで説明されていて非常にわかりやすいレビューでした。
    特に裏技については、「確かにその通り」というものでした。徐々にスピードアップするので、裏技に頼るのも限界がありますが、低レベルの間はかなり有効な方法だと思います。どうしてもクリアできない方は使ってみるのも良いかもしれません。(裏技なんて認めんという人は自身の力で是非どうぞ。)

    分類が脳トレゲームになっていて何だかDSのときのゲームを思い出しました。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    最初のアプリを出したのが2015年の2月中旬くらいなので、アプリを作り始めてもう1年ほどになります。良い機会なので、作ったものを振り返ってみようと思います。

    bounce
    Bounce』が最初のアプリで2015年2/6にリリースされました。はじめに作ったアプリなのですが、3Dのアクションゲームでステージクリア型です。半透明の床を下からは通り抜けられるけれど、上から落ちた時は通さないという一方通行のギミックを作るのに苦労した覚えがあります。
    ゲームを完成させるという意味では重要なものになりましたが、ダウンロード数は全然だめでした。成果としては失敗でした。

    timekeeper
    2作目のアプリは『時を感じろ!』です。10、30、60秒が経ったと思ったら、タップするというだけの体感ゲームでした。1作目が時間がかかっていたので、すぐに作れるものを思いついて数日で作ってみようという時にできたものです。1作目を出してすぐの2/13にリリースをしています。ありふれていたものですし、正確に測れたところでどうなるわけでもないので、駄目でした。

    48c96a79.png
    3作目は『走れユニティちゃん!』というアプリです。これは3/29にリリースしています。画面を見てもわかるようにゲームっぽくなっています。無限に走れて、障害物を2段ジャンプで避けるという内容です。確率的な分布によって障害物のパターンを生成し続けるという方法でステージを自動生成しているのですが、バランスが微妙かも……という感じになってしまいました。ニコニコ動画での再生が2000超と多かったのですが、見た目は良かったはずなのが更に残念というところです。

    PUAD
    4作目は『Pick Up A Diamond』です。Unity5にして、いろいろなサービス(Unity Ads、Everyplay)などにも対応していたら、遅くなって6/19になりました。Unityのチュートリアルにほぼ同じゲームがサンプルとしてあります。このゲームはスマホの加速度センサーを利用して、アプリ化してリリースしました。物理パズルみたいなものを作ろうとして、いろいろギミックを入れてみました。4作目にしてチュートリアルに戻るという一見後退したように思いますが、当時はおもしろいものができたと喜んでいました。
    しかしながら、結果は駄目でした。パフォーマンスも十分に出ずハイエンド機種でないとフレームレートが落ちるというのも問題でした。うまくできたと思っていただけに「もう駄目かも」としばらく落ち込みました。

    Screenshot_2015-09-17-23-42-44
    5作目は『トランプ・ナポレオン』を作りました。これこそ起死回生のアプリでした。新しいゲームを作るよりも既存のゲームを遊びやすく作ろうということで一番好きなトランプゲームとしてナポレオンのアプリを作りました。
    9/26にリリースしてから現在に至るまで継続的に遊ばれていてFreelyAppsとしては一番成功したアプリと言えます。トランプゲームのアプリはそれなりにありますが、多くは一人遊び用のソリティアです。ナポレオンは5人専用と言ってよいゲームで当然コンピュータとの対戦になるのですが、トランプ・ナポレオンではオンラインでの対戦に対応しています。この対応に1カ月くらいはかかりましたが、オンライン対戦は特徴となるくらいの機能なので実装できて良かったと思います。実装も難しいのですが、遊んでくれるデイリーユーザーが大勢でないと対戦ができないので、遊んでくれる人がもっと増えると嬉しいです。

    tgi-title
    年を越して2016年の2/6に6作目の『トランプ・ゲスイット』を出しました。トランプのアプリを作るのが私には合っていると思ったので、ナポレオンに次ぐアプリを作ろうとしていました。それでゲスイットという簡単なのにおもしろいゲームをたまたま知ったので、そのアプリを作ってみました。
    ルールが単純なため、AIをどうしようかと悩みました。ゲスイットは相手の質問が真実か嘘かを見抜くのが本質なので、AIは人間が考えるように振舞わなくてはいけないのです。ランダムではつまらなく、決まった動作でもつまらない。困ったので、AIが自分で学習するようにして勝手に考えるようにしました。強化学習という方法でAIが自力で挙動を変えるのは良かったのですが、ゲームとしてはいまいちだったかもしれません。
    ある程度学習をこなすまで全く考えないので、その間のゲームがつまらないことが起きました。そのため遊んだ人からつまらないと評価されてしまい、残念な結果となりました。(現在はアップデートで改善されています。決まった動作と学習のハイブリッドという形で落ち着きました。)

    flashnumbers-title
    つい最近3/1に7作目の『FlashNumbers』をリリースしました。画面に一瞬だけ表示される数字を覚えて入力するだけというシンプルなゲームです。動体視力を鍛えるアスリートの話を聞いたときに「こんなのはどうだろう」ということで作ってみました。
    中心となる仕組みは割と簡単に終わったので、デザインをちょっと凝っています。ゲームのバランスも良い感じにするのが結構大変だったと思います。
    Google Playのカジュアルのジャンルに出して1週間程度は全然ダウンロードされなかったのですが、宣伝されてレビューがついてから一気にダウンロードされるようになりました。今までで最も早いペースで遊ばれていると思います。このまま成長してくれることを期待しています。

    1年で7つのアプリを作りました。1つ完成させると、次のものが完成させられるかはなんとなくわかってきたと感じます。自分が好きなものを作ったり、よく知っているものを作るのが私には合っているようです。そんなわけでトランプのスピードのアプリを現在作成中です。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    FlashNumbers』は3/1にリリースした新しいアプリです。ストアの説明文を見れば、どんなアプリなのかすぐわかり遊べるくらい単純な遊びです。

    リリース時は10くらいのダウンロード数でした。これも予約トップ10で予約してくれた人達がダウンロードしてくれたと考えられるので、自然にユーザーが増えてというものではありません。
    そんなわけでリリース日にダウンロードがされた後、1週間程度ほぼ0という感じで過ぎました。こうなってくるとランキングは下がっていき、ランキング外まで下がり、もうダウンロードされることはなくなります。(もちろん他のアプリを出したりして、その開発者の他のアプリを使ってみようということでダウンロードされることはあります。)おもしろいということも重要だというのは言うまでもないのですが、人目に触れ続けなければ消えて行ってしまうのです。

    3/9にAndroid PLUSにて”動体視力と記憶力の限界に挑む「FlashNumbers」”という記事を掲載していただきました。これはアプリ開発者による紹介を行えるサービスというもので、宣伝になります。
    それが掲載された日に50くらいのダウンロードがされました。しかも遊んでくれた方の評価がよかったので、ランキングが上昇し、更にダウンロードされるという好循環を生みました。

    ranking-casual312
    さっきスクリーンショットを撮ったのですが、現在はカジュアルの新着無料トップで23位にランクインしています。23位だとすごくないように感じますがカジュアルに出ているアプリの数は相当多いので、私としては大変なことだと思っています。
    また評価も現時点では5.0になっています。 これは最高評価になります。
    レビューはどうしても感情が入ってきますので、アプリの好き嫌いでいずれ5.0にはならなくなるでしょう。今はとても良い評価がついていて嬉しいです。

    作っているときはおもしろいと思って作っていますが、作っていくうちにおもしろさを信じられなくなっていきます。リリースしても全然遊ばれないとネガティブになってしまいます。作ったアプリが遊びたい人に届けるのは、作るのとは別の難しさがあると思いました。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    FlashNumbersを作るのにかかった時間は約33時間でした。これはかなり短い時間でできたと思います。

    実際作業した時間の内訳を考えてみると、 タイトル画面の見た目やスクリーンショットを保存するときの権限についての調査に時間がかかっています。ゲーム自体を作るのにかかった時間は15時間程度だと思います。
    FlashNumbersではトランプ・ゲスイットの仕組みをほぼそのまま流用できたため、作成時間が短くなりました。これはとても良いことなのですが、以前の成果があるというのは忘れてはいけないと思うのです。それを忘れて短時間でできたことだけに目を向けてしまうと、完全に新しいものを作るときにどれくらいかかるかを余裕を持たずに見積もってしまいます。

    Unityで過去のプロジェクトを流用するときは、元となるプロジェクトを完全にコピーした方が早かったです。プレハブなどの参照先が消えてしまうと、いちいち参照をつけ直さなくてはならないのですが、全部コピーする場合は参照先が失われないのでそういったことは起こりません。
    既存のプロジェクトがある場合は、コピーして使うのが良さそうです。

    プレハブをコピーする場合はパッケージを作成しなくても、2つのUnityプロジェクトを立ち上げた状態でプロジェクトブラウザ間でプレハブをドラッグアンドドロップするとコピーすることができます。
    fn
    この方法を使って再利用しやすいのはUIでした。uGUIではUIは階層構造を持つように設計されていて、多くのコンポーネントを使います。利用するコンポーネントはデフォルトで用意されているものがほとんどなので、別のプロジェクトにコピーしてもスクリプトの参照やテクスチャの参照が消えるだけで復元が容易です。
    この方法に気づいてからはUIの再利用率が上がったと思います。

    FlashNumbersでは素早く作ることが目標にあったので、中々うまくいったと思います。あとはダウンロードが伸びてくれれば最高ですが、それはどうなるかわかりません。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    3/1に『FlashNumbers』を公開しました。
    dvt-title

    動体視力と記憶力の限界に挑むアプリです。次の動画を見るとどんなアプリかは一目瞭然です。
    fn
    見たとおりですが、一瞬だけ数字が表示されているので、それを覚えて解答するということを繰り返すだけのゲームです。繰り返すごとに徐々に早くなっていきますが、慣れてくると最大のレベルまで上がってもクリアできるようになると思います。そうなると後は自分の集中力の限界まで続けることになります。

    枠の数が難易度によって違います。簡単なものは動体視力を鍛えるのに向いていて、難易度が高いものはどちらかというと記憶力の訓練に使えます。

    ゲームというよりはちょっとした挑戦と思ってやった方が楽しいと思います。

    このページのトップヘ