カードゲームの作り方

【解説通りに作るだけ】Unityのデジタルカードゲーム作り方【応用編】

本記事をご購入頂きありがとうございます!!

この記事はカードゲーム作成講座【基礎編】にあたる下記のシリーズの続編となります。

【解説通りに作るだけ】Unityのデジタルカードゲーム作り方① カードを作る編プログラミングなんて なんにも分からないけど、 カードゲームが作りたい!! きっとこのページを見てくれている方は、そんなひとが多いと思い...

あまりいないとは思いますが、【基礎編】が終わっていない状態でこちらを始めてしまうと

基礎編やってないひと

こいつは何を言ってんだ??

こんな状態になること請け合いなので、

必ず【基礎編】をやり終えてから、こちらの記事【応用編】を実施して下さい!

この解説記事をやり終えた時には、こんな感じのゲームを作れるように解説していくので、

自分のペースで楽しみながら進めてみて下さいな!

※↓音出るので注意!!

という訳で、さっそくですが解説に入って行くよ!!

Contents

【序章】実装内容の全体概要説明

まずは今回の解説記事にて実装する内容を説明していくよ!

ざっくり分けると実装内容はこの5つ

今回の実装内容5つ!!
  1. 【第一章〜第四章】効果持ちカードの実装
  2. 【第五章〜第六章】カードとフィールドの見た目の向上
  3. 【第七章】モーションの向上
  4. 【第八章】BGM、効果音の実装
  5. 【第九章】バグ修正

※それぞれ独立した内容ではあるけど、上から順番に実装するのが推奨。

各章の実装の流れとしては、こんな感じ↓

①【第一章〜四章】効果持ちカードの実装

ここでは本記事でのメインとなる「効果持ちカードの実装方法」の解説をしていくよ!

ざっくりいうと、こんな感じ↓

  • 第一章で、効果カード実装の下準備
  • 第二章で、効果モンスターカードを実装
  • 第三章で、スペルカードを実装
  • 第四章で、敵の使うカードにも効果を実装

詳細としてはこんな流れ↓

効果持ちカードの実装の流れ
  1. 【第一章】実装の前準備
    • カードの見た目の修正
    • カードに効果のデータを持たせる
  2. 【第二章】効果モンスターカードの実装
    • スピードアタッカー効果の実装
    • ドロー効果の実装
    • トークンカードを手札に加える効果の実装
    • トークンカードの召喚効果の実装
    • 敵味方のリーダーのHP変化効果の実装
    • マナポイント増加効果の実装
  3. 【第三章】スペルカードの実装
    • スペルカードの実装
    • スペルカードらしい見た目と挙動にする
  4. 【第四章】敵のカードへの効果実装
    • 敵モンスターへの効果実装
    • 効果実装に伴うバグの修正

ここを理解しながら進めれば自力で他の効果も実装できるようになるはずなので、

ぜひ理解しながら進めてみてね!!

【第五章〜六章】カードとフィールドの見た目の向上

ここでは新しくアセットをインポートして、カードとフィールドの見た目を良くしていくよ!

ざっくり言うと、こんな感じ↓

  • 第五章で、カードの見た目を修正
  • 第六章で、フィールドの見た目を修正

ここではある程度見た目を良くしていくアセットと方法を紹介するので、

「このアセットはこんな感じに使えそうだなー」とか

「自分の作りたいゲームもこれが使えそう!!」とか

自分の作りたいゲームに流用できる部分はどこかな〜?って考えながら進めてみてね!

③【第七章】モーションの実装

この章では具体的には下記の3つのモーションを実装or修正していくよ!!

実装する3つのモーション
  1. 召喚時のモーション
  2. 敵モンスターの攻撃時のモーション
  3. スペルカード使用時のモーション

DoTweeenを使って色んなモーションを作っていくので、

他にも実装したいモーションを自分で作れるように色々試しながら進めてみてね!

【第八章】BGM、効果音の実装

この章ではBGMや効果音をダウンロードして、ゲームにサウンドを実装していくよ!

具体的には、この辺りのサウンドを実装するよ↓

実装するサウンド
  • ゲーム実行中に流れるBGM
  • ボタンを押した時の効果音
  • 攻撃時の効果音
  • 召喚時の効果音
  • スペルカード使用時の効果音
  • リーダーのHPが回復した時の効果音
  • リーダーのHPがダメージを受けた時の効果音

実装自体は難しくないので、

しっかりやり方を覚えて自分の好きなようにサウンドを実装できるようにやり方を習得しよう!!

【第九章】バグ修正

この章では新しい機能の実装に伴うバグの修正や、

【基礎編】から引き続き起きているバグの修正を行うよ!

具体的にはこの辺りのバグを修正していくよ↓

修正するバグ
  • 攻撃可能な敵カードが操作出来ちゃうバグ修正
  • 攻撃可能な敵カードを味方に攻撃出来てしまうバグ修正
  • 相手のターン中にもカードが使えるバグ修正
  • ターンエンドボタンを何度も押せるバグ修正
  • カードの順番が変わってしまうバグ修正
  • 敵のカードの攻撃後に場所が一番右に移動してしまうバグの修正
  • ライフが0になっても終わらないバグ修正
  • 【おまけ】ゲームのリスタートボタンの実装

バグの修正は演習を通して解説していくので、

面倒に思うかも知れないけど、バグ修正が一番力が付くのですぐに答えを見ずに自力でやってみてね!!

ではではこの辺りで本記事の全体概要説明は終わりです!!

結構ボリュームがあると思うので、自分のペースでゆっくり進めてみてね!

わからない部分が出てきたらコメントをくれれば出来るだけ返信するので、気軽に聞いてくださいな。

(もちろん記事の感想でも何でもコメントは大歓迎です( ´ ▽ ` )ノ)

それでは楽しみながらゲーム制作やっていきましょう!!

【第一章】効果持ちカード実装の前準備

では早速、効果持ちカードの実装をしていこう!!

この章ではその前準備として、カードの見た目の修正カード効果のデータ実装をしていくよ!

本章の完成形としてはこんな感じ↓

こんな感じにカードに効果のデータを持たせて、その効果テキストが表示されるようになるよ!!

それでは順番にやっていこう!

ここから先は購入頂いた方限定!!
ABOUT ME
みじんこ
【名前】みじんこ(ここのブログ書いてるひと) ・大学2年の時に「ゲームが作りたいー!!」って思ったのに、ゲームの作り方を解説してるサイトがことごとく何言ってんのか分かんなくて挫折した。 ・数年な時を経て「だったら俺が完全初心者にも超わかりやすいサイトを作ってやんよ!」って事で、初めてゲームを作ろうとしてる方向けに解説記事を書いてるよ。

POSTED COMMENT

  1. ボリノークサマーン より:

    みじんこさん こんにちわ 
    応用編、本日終了しました
    まだまだ勉強不足ですが
    少しづつ前にすすんでる気がします
    ありがとうございました

    1
    • みじんこ より:

      ボリノークサマーンさん
      返信遅くなって、すみません。コメントありがとうございます!
      そして応用編の最後までお疲れ様でした!!
      ボリノークサマーンさんのゲーム作成の上達の手助けになれたのなら良かったです。
      今のゲームを自分の好きなように作り変えたり、解説を見ずに自力で一から作ったりすると更に力が付くと思うので、今後も楽しみながらゲーム制作続けていってくださいね〜

  2. ボリノークサマーン より:

    みじんこさん Restartの後、ターンエンドボタンが押せないです。
    敵のターンで終わってるから、何かコードが抜けてますかね?
    public void RestartGame()
    {
    foreach (Transform n in playerHand.transform) // Playerの手札のカードを全て破壊する
    {
    GameObject.Destroy(n.gameObject);
    }
    foreach (Transform n in playerField.transform) // Playerのフィールドのカードを全て破壊する
    {
    GameObject.Destroy(n.gameObject);
    }
    foreach (Transform n in enemyField.transform) // Enemyのフィールドのカードを全て破壊する
    {
    GameObject.Destroy(n.gameObject);
    }
    isPlayerTurn = true; // 敵ターンだった場合に、リスタート後に敵ターンから始まってしまう為
    deck = new List() { 7, 6, 7, 1, 1, 2, 4, 8, 6, 5, 2, 8, 1, 2, 1, 1, 2, 8 }; // デッキリストの設定
    uIManager.HideGameEndPanel();
    StartGame();
    }

    1
  3. ボリノークサマーン より:

    // ターンエンドボタンを押下可能/不可能にする
    turnEndButton.interactable = !turnEndButton.interactable;
    を挟んだら解決しました
    奇跡的に自分で解決できました

    1
    • みじんこ より:

      あー、、確かに敵のターンで終わっちゃうとターンエンドボタンが非アクティブのままリスタートになっちゃいますね。。
      ご指摘ありがとうございます!!
      はい、その直し方で良いかと思います!
      元の記事の方も修正しておきますね。また何かあればコメントくださいー!

  4. くるシュウ より:

    はじめまして。
    オリジナルのカードゲームを制作したくて、ひとまず手を付ける前に、ここまでの記事を読ませていただきました。基礎編が完了したら、応用編の購入も視野に入れております。
    私の作りたいゲームはオンラインでの対人戦でして、さらなる発展形としてPhotonを導入したオンライン対戦を学べると嬉しいのですが、そういった記事のご予定はありますでしょうか。

    一通り読んで非常にわかりやすく、応用すれば自分が作成したいカードゲームが作れそうですので、そこからさらにオンライン対戦まで実装できると非常に嬉しいです。
    (戦闘が少し複雑なのでCPUの実装が難しく、対人戦を実装してCPUは後回しにしたい、という気持ちもあります。)

    2
    • みじんこ より:

      くるシュウさん
      コメントありがとうございます!
      なるほど、オンライン対戦ですね。。
      全然頭になかったので、貴重なご意見ありがとうございます!
      確かに実装したい機能ですよね。
      前向きに検討させていただきます!

      1
  5. moveM より:

    こんにちは。
    はじめまして。
    とても分かりやすい記事で感動です。
    現在基礎編の8まで進めており、基礎編が完了次第応用編の購入をしようと思っています!
    これからもよろしくお願いいたします!

    上の方と同じく、私もオンライン対戦の実装に対する記事をひそかに希望しております、、、

    3
    • みじんこ より:

      moveMさん
      コメントありがとうございます( ´∀`)
      オンライン対戦の記事は需要あるんですねぇ、、笑
      自分自身、ちょっと勉強しないと記事書けない部分があるので、勉強しつつ解説記事書きますね!
      貴重なご意見ありがとうございますー!

  6. しぐま より:

    こんにちは。
    はじめまして。
    応用編を購入させていただいたのですが、
    コードのところがハイライトになっていなかったです。
    (白地のメモ帳のようになっていました)
    お手数ですが、ご確認お願いできますでしょうか。

    1
    • みじんこ より:

      >しぐまさん
      コメントありがとうございます!
      やはりそうでしたか、、
      ご連絡ありがとうございます。

      原因の調査に時間が掛かってしまいそうな為、一時的に別記事にて同内容を記載致しました。
      そちらであればハイライト等は問題ないはずですので、ご確認よろしくお願い致します。
      (ご購入いただいた方のみ読める形で公開しております)
      ご不便をお掛け申し訳ありませんが、また何かありましたらご連絡お願い致します。

COMMENT

メールアドレスが公開されることはありません。