カテゴリー別アーカイブ: C#

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

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

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

いい感じです。

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

前回まででユニットの移動や攻撃、スキルの実装は終わったのでエフェクトをいくつか実装しました。
今回は、ソーサラーとヒーラーのエフェクトの作りました。

ソーサラーの炎の球は、Unity Tutorial の 4_Fire を改造して使っています。この炎だけ出来がよくて生々しいので、そのうち作り直したいと思います。もっとファンシーな炎にしたいです。
次回はステージ作成をしたいです。

いい感じです。

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

今回は、味方ユニットのスキルを実装しました。各ユニットに2種類のスキルがあって、3段階のアップグレードができます。

スキルは、こんな感じです。

  • 剣士
    • 通常攻撃に魔法攻撃が付与される。
    • 物理防御、魔法防御が上がる。
  • 戦士
    • 攻撃した対象の周囲の敵にスプラッシュダメージを与える。
    • 自分の体力が回復するようになる。
  • 盗賊
    • 攻撃が N 回の攻撃ごとにクリティカルする。
    • 敵からの攻撃を N 回ごとに回避する。
  • アーチャー
    • 攻撃頻度が上がる。
    • 攻撃した対象の物理防御がしばらく下がる。
  • スナイパー
    • 攻撃が  N 回ごとにクリティカルする。
    • 攻撃した対象の移動速度がしばらく下がる。
  • ソーサラー
    • 魔法攻撃力が上がる。
    • 攻撃が N 回ごとにファイアウォールを発生させる。
  • ヒーラー
    • 回復量が増える。
    • ヒール毎に周囲のアンデットにダメージを与える。

ただ、エフェクトの実装がまだです。
とりあえず、ファイアフォールのエフェクトだけ適用しました。

こういったエフェクトは順に実装していくとして、エフェクト以外の実装が終わったので、ステージ作成とパラメータ調整に入る段階になりました。
次回は、Tiled Map Editor を使ったステージ作成をしたいと思います。

いい感じです。

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

前回に実装したこと。

  • ユニットが取り除けるようになった。
  • 矢、魔法の弾が途中で急に消えないようにした。

そして、今回はユニットのアップグレードを実装したいと思っている。
具体的には各味方ユニットに3段階の強化ができるスキルを2つ持たせます。

とりあえずスキルのアップグレードを指示できるようにしたのがこれ。
ユニットを表示している枠がボタンになっていて、それを押すと真ん中のくまクエリちゃんの表示になるし、この状態で上にはみ出てるボタンを押すとスキルの段階が2になる。
なんだろな、この説明を書いててわかりにくいので、この操作 UI はいつか変更すると思う。

まぁ、とりあえずこれで進めようとおもう。とりあえずでいいから進めるの大事。

いい感じです。

 

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

昨日にクリアした “Doki Doki Literature Club!” が私の心をぎゅっと押し付けてきて気分が沈みがちですが、がんばります。

今日は「また今度やるわ」と思って後回しにしていたタスクを片付けていきます。タスク管理のページはこんな感じです。

で、細かなチケットを修正した後のチャートがこれです。

いくつかのチケットを実装し、「これは実装しなくていいや」と思ったチケットをリジェクトしたことで、総チケット数(オレンジ色の戦)も減っています。

細かい内容は省略しますけど、放置していたバグや修正を実装できて気分が晴れやかになりました。放置しているチケットは贅肉と同じなのかもしれないな、と思いました。

いい感じです。

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

今回は今まで放置してきたチケットを片付けたいと思います。
具体的には

  • タワーにユニットを配置するときに影響範囲を描画する。
  • ユニット選択のマーカーまわりを作り直す。
  • ユニットの移動経路を表示する。

です。

で、移動経路の作り直し以外は実装できました。
タワーの射程の表示は、地形の高低差があると表示が隠れるけれども、とりあえずはこの実装でいこうと思います。

いい感じです。

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

今回は遠隔攻撃をする敵の調整をします。
具体的には、Skeleton Archer, Skeleton Mage, Dragon の3種類です。

Skeleton Archer, Skeleton Mage は味方の Archer, Sorcerer と同じ仕組みにすればいいので楽だったけど、Dragon についてはブレス位置とかの調整をして、こんな感じになりました。

Dragon のブレスについては範囲攻撃になるようにしたくて「指定した場所にいる対象にダメージを与える」というオブエジェクトを実装しようと思っています。

いい感じです。

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

今回は敵まわりを実装します。
敵の分類として

  • 近接攻撃、遠隔攻撃
  • 地上、空中(地形効果を無視して移動する)

というのを考えています。
今回は近接攻撃する敵が動作するようにしました。

あと、空中を移動する敵については「そのうち地形効果を無視するようにすればいいや」と思い直しました。とりあえずは地形効果を適用して地上敵と同じルーチンで動作させようと思います。

次回は遠隔攻撃をする敵の調整をしようと思います。

いい感じです。

HotS のミニマップみようツールの作成(5)

前回インストーラを作ってみて「今の実装だとインストーラで作った実行ファイルは起動できない」という現実を知ってしまったので、今回はとりあえずアプリが落ちないように調整します。
私は知っている、こういう自分の知ってる知識で作れる機能は集中して数日のうちに実装を終えてしまった方がいいことを…

まぁ、そんな数日集中できるほど元気はないので、少しずつやりましょう。集中すると疲れるし。

今回やろうと思っていることは

  • 効果音があるパスなどを格納する設定ファイルを作って Document に配置されるようにする。
  • 効果音がなくてもアプリが起動するようにする。
  • 視線検出デバイスが動作してなくてもアプリが起動するようにする。

です。
そして、今回変更したコミットはこれです。

https://bitbucket.org/satofumi/hots_tools/commits/b7c44a5412623a506adbcd65c0be3f139fdce322

オチとしては、アプリが起動しなかった理由は Tobii の tobii_stream_engine.dll がインストーラに含まれてなかったせい、でした。もっと早く気づきたかった。

ともあれ、アプリとしては適切に動作しませんが、インストールしたアプリが落ちないようにはなりました。

いい感じです。

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

今回は情報表示パネルの続きです。左下にユニットを表示したボタンを用意して、これを操作してユニットをアップグレードしたり離脱させたりしようと思っています。
そして、実装したものがこちらです。

敵の情報の表示まわりはまだだけど、とりあえず実装できたことにしようと思います。次は、この UI 経由でユニットをアップグレードするあたりを実装します。

いい感じです。