HOWTO動画を参考にオリジナルのカードバトルをUNITYで製作するシリーズの第14回目。
前回はカードの属性機能およびスペル機能に関して実装しました。今回も有料内容の作業となるためあまり具体的な名内容を記載することはせず、ザックリとゲーム製作記事を記載します。
1.エネミー側のスペル機能実装
前回、スペルに関しての実装をおこないました。ただし実装したのはプレイヤー側のみでエネミー側AI機能は実装されていません。そのためエネミー側ではスペルカードも普通のカードと同じように場に出てくるし、通常攻撃をしてくるような状態です。今回はその部分について、エネミー側もスペルが使えるように実装を行います。
解説ではエネミー側AIの実装が「難しい」と表現されていたので少々不安ではありましたが特段大きな問題はなく実装できました。(途中でGetter定義に”()”をつけてしまいコンパイルエラーから脱出できずに思わぬ穴にはまったことは秘密です。
1)実施内容
・エネミー側のスペルカード機能の実装
2)終了時点の状態
一個一個のスペルを紹介するのが面倒なので、ここはいったんプレイ動画を見てもらうことにします。プレイヤー側もエネミー側も通常カードとスペルカードが正しく機能していることが分かります。・・・と思ったらエネミー側の回復部分は確認できないプレイ動画でしたが実装は問題ないことを確認しています。
2.バグFIX
基本的な機能は前回までで実装されたのですが、想定外操作やシチュエーションによって発生する細かいBugがいくつか発生しています。ここではそういった見つかったBugについて改修の実装を行います。
1)実施内容
・スペルカードが場に配置できる不具合改修
・スペルカードで自分へのAtackまたは相手の回復ができる不具合改修
・スペル対象がない場合の振る舞いについて不具合改修
2)終了時の状態
動画でみてもあまり変化がない改修となっていましたので動画については省略します。
3.機能修正と追加
細かい点をあげていけばまだまだたくさん改修するところはあると思いますが、その中から幾つか実装をしていきます。
1)実施内容
・スペルカード利用時のコスト消費追加
・エネミー側がスペルカードを使用した際のアニメーション実装
・エネミー側の手札を非表示
2)終了時点の状態
これで動画講座での実装が終了となりますので現状のプレイ動画を以下に掲載しておきます。それなりにカードバトルっぽくスキルが発動したり動きがいろいろとみれると思います。
4.講座終了
ここまでYOUTUBEの無料講座30本と有料講座20本くらいを動画にそって開発してきました。数日前まではUnityを開いても何一つできなかった自分でしたが、少しは知識が付いたような気がします。ただ、動画を見ながら同じように実装していっただけなので実は思っていたよりは身についていないかもしれない・・・という不安もあります。この辺はコードを何度か読み返して理解を深めていく必要があるでしょうね。
1)当初目標と比較して
本シリーズの1回目でこのように目標をおきました。
・Unityの基本操作習得
・カード2~3枚並べてライフを削りあうバトル
目標に関しては1点目のUnityの基本操作は多少習得できたような気がします。2点目の目標についてもバトルどころかスキルやアニメーションまで実装できているので目標を超えて達成できたといえるのではないでしょうか。
2)今後の目標
今回で拠り所となる講座は終了したため、これからは自分でやることを考えて、調べて、実装して、テストして・・・というある意味で開発における当たり前のルーチンに入っていきます。ですのでスタートラインにやっと立ったところといえるのではないでしょうか。すでに幾つか実装したい機能はあります。難易度もサッパリ分かりませんので今はとりあえず目標として列挙してみようと思います。
①カットイン演出
今は淡々とゲームが進んでいくのでスキル発動時などは「カットイン演出」をやってみたいですね。キャラゲーとしてはある意味でそこが見せ所ではないでしょうか。今の知識ではパネルや何かをパコっと表示するのはできそうですがUnityならばもっとよい実装があると思います。
②デッキ関連
現状でデッキは配列固定で保持しています。そのため毎回同じ順番で同じカードが手札に入っている状況です。デッキ構築メニュー等はまだまだ先の話にしたいので、とりあえずは配列を外だしして順番くらいは動的生成したいと思います。でないとデバッグプレイが死ぬほどつまらなくなりそうです・・・。
③セリフ表示
各ターンごとや各カードを操作した際に何か表示されたほうがいいかな・・・とは思っています。やりすぎるとテンポが悪くなりそうですがキャラゲーなのですくなくともセリフ表示くらいは何とかしたいですね。これも単に表示するだけなら力技でどうにでもなりそうですが、カードごとにセリフ管理してそれを取得・表示するように実装したいですね。
④見た目
これはカードの装飾だったりプレイステージだったり、画像を用意できれば一気にクオリティが上げられるポイントだと思います。もちろんUnityの機能を活用してアニメーションさせるとかいろいろと夢は広がりますけど、一旦は雛形画像を用意して見た目をカッコ良くしておきたいと思います。
参考サイト
本記事についてはほぼ「Unityゲームスタジオ スタジオしまづ」さまの動画を参考に作業しております。本記事を元に興味をもった方がおりましたら、YOUTUBEサイトのほうで「登録」されてはいかがでしょうか?またより深く知識を吸収されたい方は有料登録制サイトで動画および、直接の質疑応答が可能となっているクラウドファンディングの方もご検討ください。