FreelyApps

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


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

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

    17ポーカーはA、K、Q、Jの各4枚にJokerを加えた17枚のトランプを使って2人で遊ぶポーカーです。17枚のカードしかないことで普通のポーカーとは大きく変わったゲームになります。
    17枚のカードを使うこと以外は5カードドローポーカーと同じルールです。最大5枚まで交換できますが、17枚しかないので足りないこともあります。1人目が5枚交換を行ったときは、2人目は最大2枚までしか交換できません。

    17枚のカードのうち自分が手にしたカードをもとに相手が作れるポーカーハンドが予想できます。10枚を手にしていればかなり確実に予想できるはずです。

    Jokerを取ることは非常に重要です。作れたら絶対に負けない役(ファイブカードやロイヤルストレートフラッシュ)などはJokerが必須です。1枚しかないため、これが相手にあるのか自分にあるのかで大分勝敗が決まります。Jokerがなくてもフォーカードやフルハウスは作れるので、必ずしもJokerがあれば勝てるわけではありません。

    t17p1006

    2人で遊ぶゲームなので、以前出した「トランプ・ポーカー ~5カードドロー~」よりもテンポが良いです。賭けなしであれば、10秒くらいで1回終わると思います。強い役を簡単に出せるというのも17ポーカーの良いところです。個人的にはフルハウス以上だと勝負しても良いと思います。

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

    以前作ったAndroid版の移植になります。このアプリが最もダウンロードされていたアプリでiOSでも一番期待しているものです。

    公開から2週間ほど経ちまして、ダウンロード数を見てみるとやはり一番ダウンロードされていました。それでも500ほどなので、多くはありません。
    iOSの方はどうやったらダウンロードが増えるのだろうかといえば、おそらくランキングに載ることでしょう。 このハードルがGoogle Playに比べて高いと思います。AppStoreのカテゴリ別のランキングではトップ150までしか載りません。Google Playだと500までなので、相当違います。急上昇のありなしも影響するところでしょう。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Clip to Evernote
    10/6に「トランプ・17ポーカー」の公開ボタンを押しました。この記事を書いているときにはまだストアには上がっていない状況です。もうしばらくすればストアから配信されるでしょう。

    Android/iOSの同時リリースなのですが、iOSのリリースについて問題が少し起きました。トランプ・17ポーカーの審査は問題なく通ったのでアプリではなくiTunes Connectの問題です。

    手動で配信時期を決めるようにしていたのですが、審査が終わってあとはリリースボタンを押すだけというところでリリースボタンが押せなくなりました
    disable-release-button

    リリースボタンが押せないことをGoogleさんに聞いてもAppleのことだからか知らんぷり。そんなわけで今日は無理なのかもと思いつつ、適当にいじっていたら押せるようになりました。

    【解決方法】

    デベロッパによるリリース待ちという状態は、覚悟ができたらリリースボタンを押してくれという意味です。しかしながら押せないことが起こりました。
    この状態では審査が通った後なので、ストアの情報はほぼ変更できません。変更できないところをいじるとエラーと警告されます。

    以下のバージョンのリリースという項目が変更可能でした。手動か自動でリリースです。手動でリリースが選択されていたのですが、これを自動にして保存すると、”このバージョンをリリース”ボタンが押せるようになりました。自動にしたものを手動に再び戻しても、リリースボタンが押せるようになっていたので、これで問題なくなりました。
    howto-release

    ”このバージョンをリリース”ボタンが押せないときは、バージョンのリリースという項目を変更し、保存するとリリースボタンが押せるようになるのかもしれません。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    「トランプ・ポーカー ~5カードドロー~」と「トランプ・アメリカンページワン」のアップデートを先日行いました。ゲームの途中にポーズ画面があるのですが、そこからゲームをやめると点数がおかしくなるバグを修正しました。

    バグの原因は単純で以前の点数をリセットしていないためでした。結果を表示するシーンからメニューシーンに戻るところでのみリセットをするように作っていたのでそのようになりました。メニューシーンに入ったときにリセット処理を行うことで問題はなくなりました。

    元々「トランプ・アメリカンページワン」の点数処理を流用してこれらのアプリは作られています。そのため作成中のアプリで同様の問題が見つかり、ついでに以前の2つのアプリも修正することになりました。汎用的な処理や似たアプリの処理は積極的に使いまわしているのですが、その欠点が現れたというところです。それでも修正はできたのだし、まあ良しとします。
    もっとテストすれば・・・ということは考えつく単純で効果ある方法です。しかし、完全なものを目指すことは良いにしてもどこかで終わりにしなければなりません。

    iOSでのアップデートを初めて経験したというのが大きいです。アップデートを行うということは、続けていれば必然です。審査があるので、時間がかかるということがわかりました。つまり、緊急で対応というのはできないということです。
    バージョンは1.0から1.1にあがりました。
    tp5dtap

    iOS版の「ゆにてく」をリリースするため、現在審査を受けているところです。ただ、リジェクトされてしまったので、その対応中の状態です。「UnityChanって他のところのものだけど、それって使ってもいいの?」というところが問題です。なかなか時間がかかりそうな感じです。
    何回も落とされると慣れます。はじめはショックでしたが、今はこれで通るかなと期待しつつ出しています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    List<T>クラスは非常に便利なクラスです。配列のように大きさが決まっていないので、要素が増えたり減ったりするものを扱うのに適しています。
    トランプゲームを作るときにカード一つ一つにint型のIDを割り当てています。一度に複数のカードを出すといったときにList<int>で複数のカードを表すと扱いが簡単です。リストの分だけ処理をforeachで行えば良いからです。

    Listを使うときに失敗したことをメモしておきます。たまに「あれ、どうなってるんだっけ?」となるもので、先日テストコードを書きました。

    1.Listを引数に渡したとき、内部で要素を足したり消したりすると影響が残る
    このスクリプトをUnityで適当なゲームオブジェクトにアタッチしてみた結果は次のようになりました。
    printListTest
    見てもらえば大体わかると思いますが、ListAddやListRemoveに渡したリストの内容が変わります。List<T>はクラスなので、参照型ということですね。参照型を引数に渡したときの挙動は気を付けないと、バグになりやすいです。

    2.リストのループ内でリストを変更してはいけない
    このスクリプトをUnityで適当なゲームオブジェクトにアタッチしてみた結果は次のようになりました。
    printListTest2
    この例は実行するとエラーを起こしますが、コンパイルは通ります。これはforeachループ内でリストに変更をしていることが問題です。(list.Remove(2)のところです。)
    実行すればわかるバグですが、この例よりも複雑なことをする場合には意外と気づきにくいバグになります。
    リストの要素を一つずつ検査していって、ある条件になっているものを除きたいというときに同じループ内で決してしまうということをやってしまうとエラーになります。RemoveAllメソッドを使うか、いったん削除対象を別のリストに入れてからそのリストのループ内で元のリストの要素を消していくことになります。

    このページのトップヘ