読者です 読者をやめる 読者になる 読者になる

AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

カードゲームを作ろう(16) ArmのみでAtom機種で動いた

カードゲーム

Unityからbuildするときに、DeviceFilterで、Armとx86といったバイナリセットのオプションがありますが、Armのみにするとアプリサイズが37MB→29MBと8MBも減りました。
標準ではArm+x86になってましたが、うちのAsusAndroidタブレットIntelAtomなのでx86なので、こういうx86の機種のためにはx86もいるのかなと思ってましたが、
試しにArmのみにして転送してみたところ、下記のように問題なく動きました。
f:id:yasu9780:20170104104212j:plain
後発x86Android端末ですからArmエミュレーションでもやっているのかもしれません。そもそもmonoは仮想マシンみたいなもののはずなので、そこからx86で動いているのかもしれませんが。
いづれにせよ、これならArmのみでよさそうです。

このタブレットフルHDではないですが、カメラにアスペクト比を維持するコードを入れてるので、上下が黒くなってますね。
UIと画面に関しては、一応複数解像度対応って感じになっているようです。


インテルAtomシリーズが開発中止にて終了へ(2016年) - BTOパソコン.jp
Intel自体はatomを終息させているので、x86Android端末は今後は消滅していくのかな?
他にNECWindows8.1 with Bingなタブレットも持ってるけど、これもAtom搭載(Intel HD graphicsも搭載)
だけど、マウスなしだとものすごく使いづらい。指でメニューが押せない。エクスプローラー出すだけでものすごく大変(´・ω・`)


あと、持ち札に関して感想を言うようにしました。
つねに正直なので微妙かもしれませんが、なにも言わないよりはましかなと。
2とか1とか持っていると高評価。3や4があると低評価。あと全体の平均的に高いと良い評価。

    void myCardEvalueTalk(int playerNo)
    {
        float score = 0f;
        float bonus = 0;
        for (int i = playerNo * 13; i <= playerNo * 13 + 12; i++)
        {
            if (myCardNo[i] == 99) break;
            float pow = CardPower(myCardNo[i]);
            if (pow == 14) bonus += 3;
            if (pow == 13) bonus += 1;
            if (pow == 12) bonus += 0.5f;
            if (pow == 2) bonus -= 1;
            if (pow == 3) bonus -= 0.5f;
            if (pow == 4) bonus -= 0.2f;
            score += pow;
        }
        score = score / zanCard(playerNo);
        bonus += score / 10;

        if (bonus>=6) log(playerNo, "よしよし!");
        else if (bonus >= 5) log(playerNo, "いい感じ");
        else if (bonus >= 4) log(playerNo, "まあまあね");
        else if (bonus >= 2) log(playerNo, "え~と");
        else if (bonus >= 1) log(playerNo, "う~ん");
        else if (bonus >= 0) log(playerNo, "まずいわね");
        else log(playerNo, "やばいわね");
        //        log(playerNo, "score="+score+" bonus="+bonus);
    }


実装

  • 大富豪と大貧民が一枚づつカードを交換するロジック実装(プレイヤーは選べず、自動的に最強と最弱が交換)
  • プレイヤーが大富豪になる連続コンボを実装。サーバーに連続コンボ数を通知してランキング予定。
  • トップメニュー制作。素材等のクレジット表記

ほぼできましたね。
f:id:yasu9780:20170104171155p:plain