【Unity App開発】カードゲームを作るにあたり使用しているアセット

こんにちは。今回は私が使用しているアセット達を公開します。

私もゲーム作りを開始するときは色々なサイトを参考にさせていただきましたので、誰かの参考になれば。

おすすめ度と一緒に併記します。

おすすめ度の記載基準
  • ゲームジャンルはネットワーク対戦型カードゲームに限定
  • 導入コスト(金額、手間)と効果を加味した、独断と偏見によって決定

なお、見ていくとわかりますが★5のアセットだけ集めていけば快適に開発できる…というわけではないので念のため。

プロトタイプ

CCG Kit

【おすすめ度:★★★☆☆】

完成プロジェクト。自分の目指している形が一致している場合ひな形になります。

なお、★3とした理由は、”高い”のと、”独自システムを使用する場合大幅な改変が必要”だから。

ソースコードを読み解く前提の運用が必要です。

ちょくちょくセールに出されているのでセールを狙って購入するのがおすすめ。

なお、”完成プロジェクト”があったほうがいいのであって今はCCG Kit以外もあるのかもしれない。作りたいゲームに合わせて変えましょう。

 

ネットワーク

Photon Unity Networking 2 (PUN2)

【おすすめ度:★★★★☆】

ネットワーク対戦用通信アセット。

ネットワーク対戦を組む場合は無料で立ち上げるハードルがものすごく高い。また維持コストも考えた上でどういう通信を採用するか?を選ぶ必要があります。

PUN2は、

  • 動かすスクリプトが別途必要だが、導入におけるほぼ完璧な方法がネット上で見つかる
  • 通信が安定している(以前のUnity Networkingは通信の取りこぼしがあったとのことで実用に耐えないと判断)
  • PUN2+という名前でアセットストアで100CCUライセンスがあり、たまにセールに出品される。CCU当たりの価格が比較的安め(最安ではない)

という理由から悩んだ挙句このアセットを使うことにしました。(2020年に検討)

テスト中から通信はずっと試しているが取りこぼしは一度も発生していないので通信については信用していいと思います。また、継続してアップデートされており、今のところアセットアップデートしても不具合起きたことがないのも地味にいいポイント。

なお、PUN2は問い合わせたところ通信の暗号化はされていないとのこと。AppStoreConnectを使用する際は覚えておきましょう。

 

Editor 拡張・ユーティリティ

Advanced Player Prefs Window

【おすすめ度:★★★★★】

Player Prefsに保存してある情報を一覧で見て編集できる。非常に使い勝手良し。

 

Build Report Tool

【おすすめ度:★★★☆☆】

ビルド後容量の大きいところはどこか?を確認できます。

今のところ特に恩恵ありません。でも手間なく導入できるし今後役立つかも??

 

Console Enhanced Pro

【おすすめ度:★★★★★】

コンソール画面を使わない開発はないし、その拡張が学習コストゼロでできます。非常に使い勝手良し。

 

Data Box

【おすすめ度:★★★☆☆】

内部データの一元管理をするためのアセット。ほぼ独自クラスを作ること必須だが、複雑なデータ構造の保存が可能(調べた限りでは有名なEasy Saveと同じような使い方ができると推測)

以前バンドルセールに含まれており気づかずに購入。単体で買うか?といわれるとどうだろう…。

使い勝手は慣れたのでまあまあなんですが、学習コストがあるのと作成したデータベースを手動でいじるとトレース不可なエラーが出るのが大きなマイナス点。知っていれば気にならないかもしれませんが。

なお、デフォルトでFull Serializerという外部アセットを使用しており、他アセットと干渉する可能性がある点に注意が必要です。(私はCCG Kitと干渉し、アセンブリ参照を直して対処しました)

 

Doozy UI

【おすすめ度:★★☆☆☆】

有名なUGUIアセット。何年か前のHumble Bundleでたまたま安く導入しました。

ボタンにアタッチして適当に設定するだけで動きが簡単につけられるのは非常に楽。

アセットを使いこなそうとすればほかにも色々な機能があるので評価は上がると考えますが(多くのサイトでは高評価)、

なるべく学習コストを抑えたい身としては最低限の機能しか使ってません。

あと、文字列でコンポーネントを判断する処理にしているのもマイナス点。暗号化アセットとの相性問題が出るのもマイナス点です。

 

Easy Mobile

【おすすめ度:★★★☆☆】

便利…なんだけど扱いにくいアセット。

名前が一般的すぎてGoogle検索で情報が集まりにくいこと、単体で買うととても高価なこと(私は何年か前のHumble Bundleでたまたま入手しました)、時折意味のわからないエラーや挙動に遭遇することが欠点。

Easy Mobileを使わずGoogle検索等で調べて一から作るか、Easy Mobileを使ってマニュアル(英語)や少ない情報から試行錯誤で作るか。大きな岐路に立たされます。

Google Admob実装時、設定未完だと謎のエラーでエラーが消えず対処が分からずプロジェクトごと復元したのは良い思い出です(?)。

広告セットアップをする際は必ず最後まで行ったうえで別の作業に移りましょう。

デメリットがある一方、iOS実機に対応するAPIがあり複数個所で使えば実装の手間を下げられること、アプリアップデートによるGoogle Admobへ機能追従するのが早いなど対応の良さなど良い点もあり。学習コストを我慢すれば使えるアセットと思います。

 

Favorites List

【おすすめ度:★★★★★】

開発を進めるとアセットの微修正や追加機能をつけたくなることがある。独自スクリプトをつけることも。そのような場合フォルダの行ったり来たりが発生しますが、地味に面倒くさい。これを解決してくれるのがこのアセット。

しかも無料。ほかに方法があるかもしれないがシンプルで使い勝手がよく気に入ってます。

 

Odin Inspector

【おすすめ度:★★★★☆】

Inspectorのリスト化等機能のみの評価。それだけでも大分助かったので。

Unity 2020や2021のバージョンでリスト化が標準になっていれば私個人としてはいらないかもしれません。

本当はほかの機能(カスタムAttribute)もメインっぽいが、学習コストがあり手をつけてません。

 

SR Debugger

【おすすめ度:★★★★★★★】

実機デバックに必須。導入の手間もないし必携だと思います。

 

Universal Device Preview

【おすすめ度:★★★☆☆】

機種ごとの画面差の確認ができます。複数の画像を同時に生成できるのでApple審査対応にも使えます。

ただし、再生時にしか生成できないのがマイナス。常時動きのある画面はキャプチャしにくい。

似たような機能がUnity 2021あたりで導入されるのではなかったか?そうなったらいらなくなるかもしれません。

 

Utage 3

【おすすめ度:★★★★☆】

使い勝手はいいのですが、会話シーンのみ組み込む形で使用したなかではマイナス点も。

私はゲームアプリ開発でなるべく複雑化を避けるためシーンを可能な限り分離(共通変数はあるが)していますが、

どうやら作者は複数シーンを使うゲームの場合、シーンの重複ロードを勧めているように見えます。宴は起動したままで、他シーンを遷移して操作、みたいな。

このような作りのためか、片手間に使いたい、というようなことができにくい。

私個人の使い方の問題だと思うので参考程度にお考え下さい。

 

プログラム拡張

DoTween

【おすすめ度:★★★★★★★★★★】

必須。ないと話になりません。UniTaskからも使います。

 

Enhanced Scroller v2

【おすすめ度:★★★★★★★】

必須。スクロール系は本当に大変なので。

当初はスクロールは大変なので実装する気はなかったのですが、第三者にテストプレイ依頼をしたらUIがダサいからスクロール実装しろと…

なおアセットを応用する形になりますが、意味の分からないエラーがよく出る&Editorでの見た目と実動作のギャップがある、という仕様なのでサンプルをよく紐解いた上で少しずつ修正することを強くおススメ。

なお、2021年7月現在、ほかにもう一種さらにカスタマイズ性の高いScroller系有名アセットがありますが、これよりさらに学習コストが高いとのこと。使いこなせる人どれくらいいるんだろう…

 

Text Animator

【おすすめ度:★★★☆☆】

テキストに動きを付けるアセット。好みでどうぞ。

 

Ucharts

【おすすめ度:★★★☆☆】

私のゲームシステム上グラフが必要だったから。安いのとソースコードが簡潔なのはよい点。

カスタマイズして使ってます。

 

UniRx

【おすすめ度:★★☆☆☆】

学習コストが非常に高いことで有名。使いこなせていません。

ただ、使える人は使っているようで、ネット上情報を参考にする際に脈絡なく使っているコードに出くわします。それらを使うために必要。

そのため、概念とキーワード(IObservable、Subscribeとか)は知っておく必要あり。

使いこなせば頼れる味方になってくれるはずですよ。きっと。

 

UniTask

【おすすめ度:★★★★★★★】

UniRxの姉妹アセット。もともとは一つ。

こちらも学習コストがありますが、UniRxよりはマシ。”オブジェクトを同時に動かす”時に多用します。(その他でもかなりのケースで有用)

知らないとIEnumerableとyield returnで組むことになりますがはっきり言って時間の無駄&フラグ管理によるソースコード複雑化原因でいいことなし。

ラムダ式を非同期実行するためにも必須。

基本ならそんなに難しくないし、ソースコードに与える影響が大きい。

アプリ作ると決めたときの私に「まずこれを学習したほうがいい」と伝えたいアセットです。

 

エフェクト

Cartoon FX Remaster
Ultimate VFX
Ultimate Sound FX Bundle
その他多数

【おすすめ度:★★★☆☆】

どれも似たような感じ。AssetStoreで好みのものを選びましょう。

微量のカスタマイズまでで運用するのであれば、

Addressable Asset Systemと、UniTaskの使用だけ出来れば大した学習コストなしに実用に耐えてます。

 

暗号化・複号化

内緒。どうしているかばれるとセキュリティリスクになりますし。

 

番外編

AddressableAsset

Prefab状のアセット(特にパーティクル系)を参照するのに必要。

 

以上、誰かの参考になれば。