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

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

今回は、ゲーム中のカウントのコロンを検出して「コロンが表示されてないときはゲーム中とみなさない」という処理を実装した。

具体的には、コロン位置の画面をキャプチャして、コロンの2つの点のピクセル色が白っぽいかどうかで判別するようにした。

この実装で、ロード中とゲーム開始までの “-00:20” とかもゲーム中でないとみなせるようになって大変よかった。(ゲーム中は “00:23” とかになるので、ゲーム開始前とゲーム中とではコロン位置が異なる)

次は、ミニマップを見てないときに警告を出すまでの時間を調整できるあたりを実装しようと思う。

いい感じです。

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

作成を再開しました。久しぶりに動作させてみたら割といろいろ動かなかったので、とりあえず動くようにしました。

https://bitbucket.org/satofumi/hots_tools/src/default/hots_minimap_instructor/

今後の予定としては

  • ゲーム画面の時間表示のコロンの有無でゲーム中かを判別する。
  • 警告音までの時間を設定できるようにする。
  • ミニマップの領域を指定できるようにする。

とかですね。
シンプルなツールなので、総チケット数は多くないです。

タワーディフェンスゲームを作る(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)

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

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

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

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

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

いい感じです。