たわーでぃふぇんす製作日記
たわーでぃふぇんすの製作日記です。
死神ディフェンスで脱線したので、もう一度やり直し。
今度は、敵、味方ともに1種類のみのシンプルなものを作成する。
一定時間の経過で敵を出すか、全滅させるごとにインターミッション的なものを置くか?
▼決定のもの
▼▼ユニット関係。
▼▼▼味方ユニットの持つステータス
攻撃力
射程
攻撃間隔
▼▼▼敵ユニットの持つステータス
HP
移動速度
得点
お金
▼▼勝利条件
なし
▼▼敗北条件
逃した敵ユニットが20
▼▼操作
攻撃は自動。
▼▼▼ユニットの配置
一定のお金を消費する
コントロールパネルにある作成ボタンをクリック。
ユニットを薄くしたアイコンが現れるので、フィールド上でクリック。
ユニットの上にユニットは配置できない。
毎回薄いアイコンは消える。
操作を間違えたときは、コンパネを適当にクリックすれば消える。
▼▼▼ユニットのレベルアップ
一定のお金がかかる
フィールド上にあるユニットをクリック。
コンパネにステータスが表示されるので、そこでレベルアップボタンを押す。
▼▼▼ユニットの撤去
フィールド上にあるユニットをクリック。
コンパネにステータスが表示されるので、そこで撤去ボタンを押す
▼▼▼ユニットのステータスの確認
フィールド上にあるユニットをクリック。
コンパネにステータスを表示。
フィールド上にはユニットの持つ射程距離を表示。
9/28
グリッドを自動生成するものとか欲しいかも……
透明な30X30のインスタンスを自動生成させる?
配列でもって、自分の参照番号を指定……させる必要はないか。
グリッドがそこにあればいいと思うので終了。
座標を計算で割り出してってできる気がするけど今回はシンプルに
グリッドをリンゲージ化させて開始時に並べる。
スタートのムービークリップに全部かこう
今回は一定時間の経過で敵を出すことにする。
インターミッションがあると、何気に操作性が悪い。
他にユニットを出すか解らないので、ユニットのステータスはもう表示させておく?
400pxで作成しているけれども、かなり狭い……
ブログのレイアウトそのものを変えてしまって、2カラムにすれば600まで使える訳だしちょっと考えよう
今回はこれで
どうするか悩んでいるもの。
ユニットをクリックしたときのステータスの表示について
狭いので文章を書きづらい。あと、レベルアップ方法をどうしよう。。。
グリッドの処理で悩んだので後回し。
すぐに手をつけられる敵ユニットの移動について。
引かれた線の上を移動するって言う方法があったはず。
線上を移動しているように見えて、実は細かく描画された線の上を一つ一つなぞっている感じ。
マップの自動生成もしないし単純なルートしか移動しないので、手作業で。
特定の座標にきたら移動量を変更させるようにしてみる。
座標の指定よりムービークリップとの衝突を利用したほうが楽かも。
ムービークリップの衝突の利用で、同じインスタンス名は使用できないことを確認
そんな気はしてた。
やっぱり細かい線を引こう。
線を引くというよりは、配列を格納していく感じらしい。
普通に移動目標ポイントを設定して、そこに徐々に向かっていくようにしたほうが楽だと気がついた。
小さいポイントを設定して、接触したら方向転換。
移動完成
攻撃について。
前々から疑問に思ってた事。
ムービークリップにアクションスクリプトを記述しても、ライブラリから呼び出したとたん消えてしまう。
というか、ライブラリに保存ができない訳で。
死神ディフェンスでは、いちいちムービークリップをさらにムービークリップにして無理に保存したけど、
どうやら他のものは別なムービークリップで一括制御しているっぽい。
どっちが楽かなぁという相談。
for文で一括管理するにせよ、255を超えるとエラーが出るので、弾がやたらと飛び交う上、
ユニットも多くなりがちなタワーディフェンス系には不向きか……
というわけで、ムービークリップ内のムービークリップにする。グローバルの座標さえ正確に取得できればいいわけだ。
弾丸呼び出し時に、親MCに目標と、自身のダメージ、弾速を入力しておく。
弾丸本体は、親MCのデータを呼び出されたと同時に自身に格納してまっすぐ向かっていく、と。
弾の呼び出しは予想通りキテレツなところに出現。目標への移動もデタラメな方向に。
xyの指定を00にすれば解決した。なるほど。
命中判定までできました。
索敵の処理。
前回の鬼道の処理とほぼ同じ。クリア
敵出現。
ついでに今のうちに深度の設定
500 〜 敵
まずは一体から。
一定時間で繰り出すため、タイマーの設定を。
待ち時間が異様に長く感じたので残り時間を表示
お金、ヒットポイントの加算も終了
後はレベルアップ、砲台の配置、複数の敵の場合うまく動くかのチェックで完成。
複数の敵を時間差で呼び出すためにタイマーをもう一つつける。
間違えてevalする必要のないところでevalする。修正。
砲台側のターゲット設定も完了。ちょっと変則的……先頭から狙ってないから難易度は上がるかも
レベルアップ。クリックでレベルアップ画面。
クリックで射程距離。
仕様変更。
クリックでレベルアップ
ロールオーバーでステータス表示
操作性向上。
ちょっと試してみたら、レベルアップが簡単すぎ。もうちょっとハードルをあげよう
コストが高いと難易度も上がる?
仮に、コストはレベルの5倍、火力はレベルの1/2、射程距離は1あげてみた
敵が固すぎた。。。火力の上昇分は、レベルそのままに変更。あがりすぎ。やぱり半分にしてみる。
場所によっては余裕で戦えるっぽい。火力の上昇を切り捨てに。
まだ余裕。レベルアップに必要なコストを上げてみる?
ご褒美は大きめにするためにコストは高いけどレベルアップ時の上昇は高い方向でやってみる?
と、ここまで。残りは帰宅してから。待ち合わせにつき外出。
2330帰宅。
調整は後回しにしてグリッドに手をつけよう。
インスタンスの自動配置
深度メモ
0-99 グリッド
500- 敵ユニット
グリッドの配置完了
置けるか置けないかの設定。。。
マップの配列を手作業で作る。
グリッド生成時に、マップを参照して、置ける、置けないのフラグを代入
ユニット配置用ボタンクリック時に、半透明のユニットを表示
深度1000にユニット配置用のものを設定。
eval超便利。判定式をいちいち使用しなくてもドロップ先のステータスを読み取れる。
グリッドの縦横が想定と反対。修正。
ドロップ先に代入したスペースのフラグが0ならムービークリップを呼び出して配置。
そうでないなら何も起こらない。
深度メモ
0-99 グリッド
101 - 200 味方ユニット
201 - 499 味方の弾
500 - 999 敵ユニット
1000 ユニット配置用
ヘルプによると設定できる深度の範囲は、-16384 から 1048575 までらしい。けちけちするのが馬鹿らしい…
今回は連射するユニットがないので深度の設定は単純に「タワーにつけられたid+200」
隣り合わせの設置ができなかった。
調べてみると、ドロップ先がグリッドではなくユニットの射程範囲になっていた。
深度を変更して…
深度メモ
0-100 味方ユニット
101 - 499 味方の弾
500 - 999 敵ユニット
1000 - 1100 グリッド
2000 ユニット配置用
成功。
配置のコストを指定していなかったので修正。10が妥当か。。。
説明文の追加
今しがたマップを見直して、いつぞや参考のために遊んだタワーディフェンスの一部を切り取った型になっている事に気
がつく。自覚ってないものだなぁ。。。
やっぱり、バランスの制御が難しい……
攻撃回数を下げてみるか……
ユニットのスクリプトなどを調整しようとするもなぜか編集画面に行かない。
FlashMXを再起動してみる。ふと時計をみたら日付が変わってた。
9/29
再起動したら編集できるようになってた。バグかな。
攻撃のレーティングをあげてみて連射ができない仕様にしてみた。
砲台がいくつか絶対にいる仕様にはなった。
リスタートのボタンがいまいちうまく動いていない。
ロールオーバーなど修正
敵の呼び出し時に、呼び出す数とタワーのターゲットにする数が一致していなかった問題を解消。
変数追加。敵ユニット呼び出し中は時間が減らない仕様に変更。
レンジの指定がおかしいことに気がつく。
ムービークリップで指定しているから、円じゃなくて四角だわ、これ。
レンジの修正を考えたけど、わりと面倒なことに気がついたので今回は放置。
あまり射程距離が広がらない方向で進めてみる。
TDにありがちな最強砲台を作る事が難しくなった。
うん。これでいいかも。
敵のHPをもっとあげたほうが良いかもしれない。
ぬるすぎる。2乗にしてみたら硬すぎたため却下
3倍に設定。
砲台をひたすら作り倒せばそんなに苦労しないやっぱりヌルゲーに
ユニットの種類がもう少しあったほうが楽しいのは事実だなぁ……
とりあえずたたき台兼練習用の雛形はこれで。公開。
これはもうちょっと開発を続けよう。
ユニットの追加と、レベルの上限と、適当すぎるグラフィックと、後はゲームバランスの調整ぐらいかな。
製作日誌 たわーでぃふぇんす タワーディフェンス系
死神ディフェンスで脱線したので、もう一度やり直し。
今度は、敵、味方ともに1種類のみのシンプルなものを作成する。
一定時間の経過で敵を出すか、全滅させるごとにインターミッション的なものを置くか?
▼決定のもの
▼▼ユニット関係。
▼▼▼味方ユニットの持つステータス
攻撃力
射程
攻撃間隔
▼▼▼敵ユニットの持つステータス
HP
移動速度
得点
お金
▼▼勝利条件
なし
▼▼敗北条件
逃した敵ユニットが20
▼▼操作
攻撃は自動。
▼▼▼ユニットの配置
一定のお金を消費する
コントロールパネルにある作成ボタンをクリック。
ユニットを薄くしたアイコンが現れるので、フィールド上でクリック。
ユニットの上にユニットは配置できない。
毎回薄いアイコンは消える。
操作を間違えたときは、コンパネを適当にクリックすれば消える。
▼▼▼ユニットのレベルアップ
一定のお金がかかる
フィールド上にあるユニットをクリック。
コンパネにステータスが表示されるので、そこでレベルアップボタンを押す。
▼▼▼ユニットの撤去
フィールド上にあるユニットをクリック。
コンパネにステータスが表示されるので、そこで撤去ボタンを押す
▼▼▼ユニットのステータスの確認
フィールド上にあるユニットをクリック。
コンパネにステータスを表示。
フィールド上にはユニットの持つ射程距離を表示。
9/28
グリッドを自動生成するものとか欲しいかも……
透明な30X30のインスタンスを自動生成させる?
配列でもって、自分の参照番号を指定……させる必要はないか。
グリッドがそこにあればいいと思うので終了。
座標を計算で割り出してってできる気がするけど今回はシンプルに
グリッドをリンゲージ化させて開始時に並べる。
スタートのムービークリップに全部かこう
今回は一定時間の経過で敵を出すことにする。
インターミッションがあると、何気に操作性が悪い。
他にユニットを出すか解らないので、ユニットのステータスはもう表示させておく?
400pxで作成しているけれども、かなり狭い……
ブログのレイアウトそのものを変えてしまって、2カラムにすれば600まで使える訳だしちょっと考えよう
今回はこれで
どうするか悩んでいるもの。
ユニットをクリックしたときのステータスの表示について
狭いので文章を書きづらい。あと、レベルアップ方法をどうしよう。。。
グリッドの処理で悩んだので後回し。
すぐに手をつけられる敵ユニットの移動について。
引かれた線の上を移動するって言う方法があったはず。
線上を移動しているように見えて、実は細かく描画された線の上を一つ一つなぞっている感じ。
マップの自動生成もしないし単純なルートしか移動しないので、手作業で。
特定の座標にきたら移動量を変更させるようにしてみる。
座標の指定よりムービークリップとの衝突を利用したほうが楽かも。
ムービークリップの衝突の利用で、同じインスタンス名は使用できないことを確認
そんな気はしてた。
やっぱり細かい線を引こう。
線を引くというよりは、配列を格納していく感じらしい。
普通に移動目標ポイントを設定して、そこに徐々に向かっていくようにしたほうが楽だと気がついた。
小さいポイントを設定して、接触したら方向転換。
移動完成
攻撃について。
前々から疑問に思ってた事。
ムービークリップにアクションスクリプトを記述しても、ライブラリから呼び出したとたん消えてしまう。
というか、ライブラリに保存ができない訳で。
死神ディフェンスでは、いちいちムービークリップをさらにムービークリップにして無理に保存したけど、
どうやら他のものは別なムービークリップで一括制御しているっぽい。
どっちが楽かなぁという相談。
for文で一括管理するにせよ、255を超えるとエラーが出るので、弾がやたらと飛び交う上、
ユニットも多くなりがちなタワーディフェンス系には不向きか……
というわけで、ムービークリップ内のムービークリップにする。グローバルの座標さえ正確に取得できればいいわけだ。
弾丸呼び出し時に、親MCに目標と、自身のダメージ、弾速を入力しておく。
弾丸本体は、親MCのデータを呼び出されたと同時に自身に格納してまっすぐ向かっていく、と。
弾の呼び出しは予想通りキテレツなところに出現。目標への移動もデタラメな方向に。
xyの指定を00にすれば解決した。なるほど。
命中判定までできました。
索敵の処理。
前回の鬼道の処理とほぼ同じ。クリア
敵出現。
ついでに今のうちに深度の設定
500 〜 敵
まずは一体から。
一定時間で繰り出すため、タイマーの設定を。
待ち時間が異様に長く感じたので残り時間を表示
お金、ヒットポイントの加算も終了
後はレベルアップ、砲台の配置、複数の敵の場合うまく動くかのチェックで完成。
複数の敵を時間差で呼び出すためにタイマーをもう一つつける。
間違えてevalする必要のないところでevalする。修正。
砲台側のターゲット設定も完了。ちょっと変則的……先頭から狙ってないから難易度は上がるかも
レベルアップ。クリックでレベルアップ画面。
クリックで射程距離。
仕様変更。
クリックでレベルアップ
ロールオーバーでステータス表示
操作性向上。
ちょっと試してみたら、レベルアップが簡単すぎ。もうちょっとハードルをあげよう
コストが高いと難易度も上がる?
仮に、コストはレベルの5倍、火力はレベルの1/2、射程距離は1あげてみた
敵が固すぎた。。。火力の上昇分は、レベルそのままに変更。あがりすぎ。やぱり半分にしてみる。
場所によっては余裕で戦えるっぽい。火力の上昇を切り捨てに。
まだ余裕。レベルアップに必要なコストを上げてみる?
ご褒美は大きめにするためにコストは高いけどレベルアップ時の上昇は高い方向でやってみる?
と、ここまで。残りは帰宅してから。待ち合わせにつき外出。
2330帰宅。
調整は後回しにしてグリッドに手をつけよう。
インスタンスの自動配置
深度メモ
0-99 グリッド
500- 敵ユニット
グリッドの配置完了
置けるか置けないかの設定。。。
マップの配列を手作業で作る。
グリッド生成時に、マップを参照して、置ける、置けないのフラグを代入
ユニット配置用ボタンクリック時に、半透明のユニットを表示
深度1000にユニット配置用のものを設定。
eval超便利。判定式をいちいち使用しなくてもドロップ先のステータスを読み取れる。
グリッドの縦横が想定と反対。修正。
ドロップ先に代入したスペースのフラグが0ならムービークリップを呼び出して配置。
そうでないなら何も起こらない。
深度メモ
0-99 グリッド
101 - 200 味方ユニット
201 - 499 味方の弾
500 - 999 敵ユニット
1000 ユニット配置用
ヘルプによると設定できる深度の範囲は、-16384 から 1048575 までらしい。けちけちするのが馬鹿らしい…
今回は連射するユニットがないので深度の設定は単純に「タワーにつけられたid+200」
隣り合わせの設置ができなかった。
調べてみると、ドロップ先がグリッドではなくユニットの射程範囲になっていた。
深度を変更して…
深度メモ
0-100 味方ユニット
101 - 499 味方の弾
500 - 999 敵ユニット
1000 - 1100 グリッド
2000 ユニット配置用
成功。
配置のコストを指定していなかったので修正。10が妥当か。。。
説明文の追加
今しがたマップを見直して、いつぞや参考のために遊んだタワーディフェンスの一部を切り取った型になっている事に気
がつく。自覚ってないものだなぁ。。。
やっぱり、バランスの制御が難しい……
攻撃回数を下げてみるか……
ユニットのスクリプトなどを調整しようとするもなぜか編集画面に行かない。
FlashMXを再起動してみる。ふと時計をみたら日付が変わってた。
9/29
再起動したら編集できるようになってた。バグかな。
攻撃のレーティングをあげてみて連射ができない仕様にしてみた。
砲台がいくつか絶対にいる仕様にはなった。
リスタートのボタンがいまいちうまく動いていない。
ロールオーバーなど修正
敵の呼び出し時に、呼び出す数とタワーのターゲットにする数が一致していなかった問題を解消。
変数追加。敵ユニット呼び出し中は時間が減らない仕様に変更。
レンジの指定がおかしいことに気がつく。
ムービークリップで指定しているから、円じゃなくて四角だわ、これ。
レンジの修正を考えたけど、わりと面倒なことに気がついたので今回は放置。
あまり射程距離が広がらない方向で進めてみる。
TDにありがちな最強砲台を作る事が難しくなった。
うん。これでいいかも。
敵のHPをもっとあげたほうが良いかもしれない。
ぬるすぎる。2乗にしてみたら硬すぎたため却下
3倍に設定。
砲台をひたすら作り倒せばそんなに苦労しないやっぱりヌルゲーに
ユニットの種類がもう少しあったほうが楽しいのは事実だなぁ……
とりあえずたたき台兼練習用の雛形はこれで。公開。
これはもうちょっと開発を続けよう。
ユニットの追加と、レベルの上限と、適当すぎるグラフィックと、後はゲームバランスの調整ぐらいかな。
製作日誌 たわーでぃふぇんす タワーディフェンス系
