FreelyApps

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


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

    カテゴリ: 自作アプリ

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

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

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

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

      このエントリーをはてなブックマークに追加 Clip to Evernote
    2/20に『トランプ・ゲスイット』を1.1にアップデートしました。
    今回の対応はユーザーからの不満の対応として、AIの改善を行いました。

    AIは学習によって行動を変えるのですが、負けてくるとその戦略が悪いと判断します。以前、勝っていた戦略が悪いと判断されてしまうと今までやっていなかった行動をし始めます。その行動がユーザーを驚かすようなものになってしまっていて不満が出ているのだと思います。

    どのような行動が良くないかというと、ゲスイットのゲーム性上「いきなり解答する」というのはつまらないものと感じられるようです。何もせずにゲームが終わってしまうということに加え、ノーヒントで解答するという運に賭けるような行動は弱いAIだと思われてしまうのです。
    とりあえずいきなり解答することは避けるように修正してみたので、これで様子を見ることにします。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    『FlashNumbers』のタイトル画面を作ってみました。いつもはあまり時間をかけて作っていないのですが、今回は美しいフォントを使用させてもらっているので、アニメを作ってみました。フォントは「数式フォント」というものです。キユマヤ園様が作成されたフォントです。

    画像真ん中にある"FlashNumbers"というのが数式フォントによる表示です。特徴的なデザインのフォントなので、見出しとかに使うとインパクトがあるかと思います。

    dvt-title

    数字が降っているのが今回作成したアニメです。uGUIを使って作成されています。Textを大量(100個)用意して、それを画面の上から下に向かって動かしています。数字をセットしたり、アルファをフェードアウトさせたりするとこんな感じの見た目になります。
    本当はもっとたくさん降らしていたのですが、処理落ちが激しくなってきたので断念しました。フォントの描画は結構重い処理のようです。

     

      このエントリーをはてなブックマークに追加 Clip to Evernote
    このアプリでは画面は横向きです。縦向きだと数字が縦に並んで見にくかったからです。なぜか見にくいと感じました。生理的なものなのかもしれません。

    画面の向きの設定はPlayerSettingsのOrientationという項目を設定します。モバイルではPortraitがデフォルトですが、これは縦向きの表示です。縦向きの表示ではホームボタン(Androidではナビゲーションバーのこと)は画面の下部に来ます。
    Portraitはホームボタンが端末の下側に来ている状態です。逆にPortrait Upside Downではホームボタンが端末の上側に来ていて、スマホを上下反対にして遊ぶことになります。
    横向きにするにはLandscape RightかLandscape Leftを選びます。端末によって向きが違うかもしれないので試してみることをお勧めします。

     autorotation-screen
    このアプリでは横向きであれば良いので、Landscape RightとLandscape Leftを切り替えられるように設定しました。上のような設定にすると端末を回すと、画面の表示が切り替わります。横向きにする設定だけをチェックしてあるので表示が崩れたりもしません。
    ひとつ問題があるとすれば、全画面表示の広告の向きは一定のようで、逆に表示される人もいるということくらいです。(Unityが制御しているわけではないからです。)


    最後に新しいアプリの名前を決めました。『FlashNumbers』とします。

      このエントリーをはてなブックマークに追加 Clip to Evernote

    徐々に数字の表示速度が短くなっていくようにしてみました。ある程度まで短くなるとそれ以上短くなりませんが、永遠にゲームは続いていきます。失敗するときがこのゲームの終了です。
    1つの枠には0~9の数字が表示されています。これを0~3までにしたり他の文字(アルファベット)とかが出るようにもして試してみたのですが、おもしろさは変わらなく感じたのでやめました。数字が出るという単純な方が良さそうです。

    ここでは見えませんが、実は難易度の設定も作ってみました。 枠の数、つまり一度に表示される数が変わります。当然、多い方が難易度が高いです。一番難しいのは記憶力も必要なので難しすぎるかもしれません。

    短期記憶で調べてみると数字の記憶は7個くらいらしいです。このアプリではその限界の7つまで出すつもりです。難しいですが、記憶のトレーニングにもなりそうです。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    ちょうど一週間前から新しいアプリの作成に取りかかりました。作業時間を測るアプリを同時に作っていたので、そちらが終わって今日ある程度機能を実装してみました。

    医学的なことはわかりませんが、たぶん動体視力の訓練になると思います。
    ゲームのFPSが60が限度なため、20ミリ秒程度が一瞬だけ表示する間隔の限界です。徐々にレベルを上げて、ある程度まで早くなったらそれ以降は同じ難しさでエンドレスとなる予定です。

    トランプ・ゲスイットの作成時にスクリプトをある程度整備したので、効率良く再利用できていると思います。スクリプトはアプリを作るたびにちょっとずつ変わっていくものですが、ゲームによらない機能はライブラリ的なものとして蓄積していくと良いと思います。
    ただこのライブラリをメンテナンスしていかないと古いバグがずっと残り続けるので、全部使うというのも考えものですね。できるだけ使いまわしたいけれど、 余計なことをして欲しくないです。
    ある意味そういったことがUnityなどのゲームエンジンを生むことになったのでしょうね。そして、それをまた繰り返しているわけです。ゲームエンジンの中のゲームエンジンの中の……と永遠に続きそうです。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    作業時間計測するためのアプリを作成しました。アプリ名はMeasureTimeです。

    エディター上ですが、動作を録画してみたのでご覧ください。
    mt
     
    5つのボタンが用意されていて、タイトルと累積時間がそれぞれのボタンに表示されています。ボタンを押すとタイマーのOn/Offが切り替わります。ストップウォッチと考えるとわかりやすいと思います。
    アプリの中断や終了時に時刻を保存しているので、再開時に経過した時間も足されます。(On状態になっているボタンのみ) 

    Editボタンを押すと書くボタンについて編集することができます。
    タイトルの設定、時間の修正、時間の初期化、全部初期化が可能です。これくらいあれば便利かと思ったのを入れてみました。時間の上限は表示から推測できそうですが、99d23h59m59sです。 つまり100日分です。2400時間を超えるものを考えていません。

    右上の歯車は全体の設定です。一応ボタンを押すとSEが鳴るようにしてあって、それを消すことが設定できます。全体に関わることがあればここに追加していくというところです。 


    需要があるなら公開しようと思っています。 
    さっそくこの記事を書くときに使っていて、これにかかった時間は約18分でした。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    作業時間を計測する」で作業時間計測用のアプリを作ると言っていたので、現在作成中です。

    核となる時間を測ることについてはいくつかの問題を解決したので、後は細かな機能を追加するくらいで完成しそうです。
    アプリケーションのポーズ時(Androidのナビゲーションバーによりアプリが中断されてしまう時)にその時刻を保存してやらないと、中断から復帰したときに経過した時間がわからなくなってしまいます。 この経過時間分を加算することで時間を正しく測ることができるようになります。
    またアプリを終了させた場合、次にアプリを起動するまでの時間がわからないと正しい時間を測れなくなります。
    この2点を解決すれば、時間を測ることができます。解決方法は特定のタイミングで時刻を保存しておくことです。

    時間計測部分を作ったところです。ボタンをタップすると計測の有効/無効を切り替えることができます。自分で使うように作っているので、なるべく楽なものにしたつもりです。5個までしかボタンがないのは、同時に測りたいものが5個もあることがないだろうからです。
    これが2日前くらい前の状態です。
    mt

    現時点の状態です。
    Editボタンの機能を入れてみました。色々な機能はEditボタンを押したときにウィンドウが開き、その上で設定するようにしています。最も重要な機能はストップウォッチ機能なので、それはボタン上で直接できるようにしたかったためです。
    タイトル、時間のリセット、全部リセットの機能を作ってみました。後は時間の直接編集機能があれば十分かなという感じです。
    mt2

      このエントリーをはてなブックマークに追加 Clip to Evernote
    2/6に『トランプ・ゲスイット』を公開しました。
    tgi-title

    トランプゲームの「ゲスイット」を遊ぶことのできるアプリです。
    プレイヤー数は2人でA~Kまでの13枚のトランプを使います。6枚ずつの手札が配られ、配られなかった残り1枚のカードが何かを当てるゲームです。推理と嘘の駆け引きを楽しむことができます。

    本アプリでは学習するAIが搭載されています。はじめは何のデータも存在しないので、場当たり的に行動を起こしますが、ゲームを繰り返していくとそれなりに強くなります。10回程度同じように行動すると、それに適応するように感じます。

    ゲスイットとはGuess itから来ています。おわかりでしょうが念のため。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    開発中のアプリの紹介動画を作ってみました。
    ゲスイットというトランプゲームはマイナーなゲームだと思います。そんなわけでどういう風にゲームが進んでいくのかイメージしにくいでしょう。現時点で完成している対戦画面を動画にしたので、興味ある方はどういうゲームなのか見てください。

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




    作っていると何百回も対戦することになるので、私は感覚がマヒしてきています。面白いかどうかはもはや判断しにくいので、細かいところの作り込みをして仕上げているところです。
    AIが学習するというのが挑戦的な今作なのですが、AIの学習方法がばれるとひっかけることができてしまいます。ルールに基づいて判断する固定的なAIの方がやはり良いのではないかと思う最近ですが、学習型のAIと固定的なAIの組み合わせが最適なのかもしれないとも思っています。

    このページのトップヘ