「ソフトウェア」カテゴリーアーカイブ

タワーディフェンスゲームを作る(29)

今回は、飛行ユニット用の移動グラフを作ったり、シーン切り替えでフェードイン、フェードアウトするあたりの処理を実装しました。

ユニットは A* アルゴリズムでもって移動してます。そして、地上ユニットは高低差と地面の移動コストの影響を受けますが、飛行ユニットは高低差と移動コストの影響を受けません。

これを実現するために、A* アルゴリズムで利用するグラフを、地上用と飛行用の2種類を用意しました。それだけですね。

ほのぼのしてて私好みです。

いい感じです。

タワーディフェンスゲームを作る(28)

今回は

  • アーチャーとスナイパーに飛行敵を優先的に攻撃させる。
  • X-WeaponTrail アセットが無料をいうブログを見たけど今は $10 だった。

とかをしました。
今日は、なんか目立った進捗はないです。でもまぁ、少しでも進捗があるの大事。

いい感じです。

タワーディフェンスゲームを作る(27)

ゲームエンジンの実装がだいたい終わったので、シナリオ、ステージの作成に入りました。

作ってると

  • アーチャーは飛行ユニットを優先的に攻撃するようにしよう。
  • 移動ルートの表示を棒から矢印にしよう。
  • アップグレードしたユニットを視認できるようにしたい。

とか、いろいろ実装したくなってきます。
今後は、シナリオとステージのデータ作成をしつつ、気づいたことを実装していきます。

いい感じです。

タワーディフェンスゲームを作る(26)

今回はシナリオ再生まわりの実装をしてました。

こんな感じで、メッセージ表示用のフレームを用意して、それにメッセージを表示したりするあたりや、画像を表示するあたりを実装してました。

あとは、ユニットを配置するボタンを修正したりしました。

変更前

変更後

変更前はボタンの丸い領域でキャラクターがクリッピングされていたので、それを修正しました。クエリちゃんの頭の飾りが表示されるようになりました。

いい感じです。

タワーディフェンスゲームを作る(25)

今回はシナリオ再生の仕様を書いていました。
書いた仕様はこれです。
http://hyakuren-soft.sakura.ne.jp/query_defense/document/scene_page.html

ここまでの仕様には 3D キャラクターの操作が含まれていないので、そのあたりをどう実現するかは考える必要があります。どうすっかな…

で、それはそれとしてシナリオ再生に使うフレーム画像の調整をしました。
フレームとボタンの素材は 空想曲線のサイトで配布されているものを利用しました。

とりあえず、プロローグのシナリオが再生されるあたりを実装して行こうと思います。

いい感じです。

タワーディフェンスゲームを作る(24)

今回は、ユニットが倒されたときのエフェクトを Partical System で作成して適用しました。

あとは、ステージをどこまでクリアしたかとかの情報を保存するあたりを実装しました。次は OP とか、チュートリアルとかのシーン再生まわりを実装したいです。

いい感じです。

タワーディフェンスゲームを作る(23)

心の赴くままに色んなプロジェクトを実装していくはずが、気づけばタワーディフェンスしか作ってないのに気づきました。気にせず実装していこうと思います。

今回は、ゲームが起動直後に動作するシーンとか、そういうシステムまわりを実装していきます。

その前に、実装前に書いて実装しながら更新しているゲーム仕様を公開しました。ときどき更新する予定です。
http://hyakuren-soft.sakura.ne.jp/query_defense/document/

何を開発するにしても、仕様書がないとなんか落ち着かないので書いてます。頭のなかでぼんやりと考えたことを仕様所に書きながら整理するのが好きです。

それはそれとして、ゲーム作成前に書いた仕様は、あんだけ悩んだのに現実に即してなくてどうかと思うね。自分で書いたんだけど。

えっと、ゲーム開始直後にシーンを操作するあたりを Unity で実装しようと思ったんだけど、シーンまわりの仕様を書いてたらよい時刻になったので、今日はこれで終わりにします。

実装はできなかったけど、仕様を書くのも大事なのでオッケーです。
いい感じです。

タワーディフェンスゲームを作る(22)

今日は仕事で疲れたので軽めのタスクに着手して終わりにします。ちょっとでもいいので進捗があるのは大事だと思います。

で、今日は「みかんポイント」を画面に表示しようと思います。みかんポイントとは、ユニットを新規に配置したりアップグレードするのに使います。1秒に1ポイント増えるし、その兵舎を初めて占拠したときに 40 ポイントくらい配置しようと思います。

そして、できたのがこれです。

みかんのアイコンは真面目に作ると大変そうなので、みかん色の丸にしました。後で置き換えます。

それから、実際に着手してみたら他の実装も気になってしまって、他のタスクも片付いたりしました。なんというか、着手するの大事だと改めて思いました。

いい感じです。

タワーディフェンスゲームを作る(21)

今回はゲーム開始直後から最初のゲームまでの流れをどうしたいかとかをノートに書き出しました。キャラクターのセリフとかを書き出してみるとよくわかるのですが、私には「シナリオ作成パワー」が不足しています。
とはいえ、今の自分にできることをするしかないです。

さて、シナリオ作成とかは引き続くやるとして、未実装だったドラゴンブレスによる攻撃のあたりを実装しました。

いい感じです。

タワーディフェンスゲームを作る(20)

ゲームシステムのエフェクト以外を実装したので、マップの作成を開始した。
具体的には Tiled Map Editor でマップ作成をするために、タイルセットを作成するのと、Tiled Map Editor の保存データをこのゲーム用のデータフォーマットに変換するスクリプトを作ります。

で、できたタイルセットがこれです。

このゲームでは高低差があるマップを表現したかったので、タイルセットに高さを示す数値を書き込んで、それで高低差を実現することにしました。

Tiled Map Editor が出力する tmx ファイルは見ればわかるフォーマットなので、Python スクリプトを作って自分のゲーム用のデータに高さを使うようにした上で変換しました。

あとは、ゲームで使う画像をカラーから白黒にしたかったので、これも Python スクリプトで作成しました。

このスクリプトは下記サイトのものを参考にしました。

https://qiita.com/gigegige/items/aad577f49cf4f203f03d

ここまででマップ作成もエディタでできるようになったので、ゲーム起動からゲームまでの流れとか、ストーリーとかを考えようと思います。

いい感じです。