2D格闘ツクール2nd 完全攻略

■ チュートリアル


■ コマンド解説


■ テクニック解説
 001 特殊なキャラクターセレクト
 002 画面レイアウト
 003 カラーセレクトの設定
 004 ヒットエフェクトの研究
 005 ヒットエフェクトの描き方
 006 スクリプト一覧のテキスト化
 007 通常立ちの設定
 008 VSで開始位置指定
 009 雛型キャラの作成
 010 INIファイルの内容
 011 変数の大小チェック
 012 当て身投げの作り方
 013 必殺技コマンドの設定
 014 アニメ作成_通常攻撃
 015 ゲームモードによる分岐
 016 変数の一覧を記録
 017 受け身入力の判定
 018 ダウン値による分岐処理
 019 飛び道具の作成
 020 ワープ技の作成
 021 ヒット硬直のコントロール
 022 ステージの地面表現
 023 ヒット数表示の固定
 024 横方向のホーミング攻撃
 025 1P/2Pの判別
 026 ライフ減少アニメ
 027 画面下部の表示内容
 028 ステータス表示の意味
 029 ガードクラッシュの表現
 030 押せないOBJ
 031 アイテムのあるゲーム
 032 復活する技の作成
 033 空ガードの作成
 034 ステージ選択付きキャラセレ
 035 ゲージMAXの表示
 036 固定ダメージを表現する
 037 ラン動作の作成
 038 投げ技によるKOの作成
 039 ボタン溜め押し技の作成
 040 中段攻撃の作り方
 041 製作に役立つツール
 042 カラーセレクトに適した画像
 043 相手によって動作変更
 044 横幅のあるキャラを表現
 045 ラウンド限定の動作
 046 影色の塗りを効率化
 047 モードを切り替えるキャラ
 048 当たり判定設定のコツ
 049 空中ジャンプを表現する
 050 キャラの向きを判別する
 051 途中でKOしない乱舞技
 052 カウンターヒットの作成
 053 OBJの動作を停止
 054 ハイジャンプの作成


■ バグ・よくあるミス


■ テスト時のチェック項目


■ 解説用データ ダウンロード


029

ガードクラッシュの表現


格闘ゲームにおいて、ひたすらガードを続ける相手を攻略するのは難しいです。


上下段攻撃の使い分けや投げ技、その他ガード不能攻撃など
キャラクターの技でバランスをとっていることも多いですが
これらとは別に、ゲームシステム側でのバランス調整として
「ガードクラッシュ」というルールがあります。


MEMO

ガードクラッシュ
ガードの回数に制限を設けるルール。
連続でガードし続けると、相手の攻撃に耐え切れず
ガードを崩して操作不能状態になってしまうというもの。

今回はこのガードクラッシュを表現する方法について
引っかかりやすい問題点も含めて説明していきたいと思います。



作成する内容の確認

まずはガードクラッシュの動きについて見ていきましょう。
現在、キャラが相手の攻撃をガードしています。


最初の内はしっかりガード出来ていますが、ガード回数が一定値を越えると…

ガードクラッシュ が発生、キャラはガードを崩してしまいます。

ガードクラッシュ後しばらくはキャラを操作出来ず、相手の攻撃を回避することが出来ません。


なお、実際にガードクラッシュのシステムを持つゲームでは
ライフゲージと一緒にガードクラッシュゲージを表示することが多いですが
今回は説明を省くため、シンプルに
ガード値が一定に達するとガードクラッシュが発生する
というルールだけを作ることにします。

MEMO

ガードクラッシュゲージ
ガードクラッシュするまでのガード耐久量をゲージとして画面上に表したもの。
ガード動作の種類によって耐久の減少量が異なる場合も
現在の状況を視覚的に確認できるため便利です。



スクリプトの編集

今回作成する処理では次のような仕組みを用意します。

 
 ガードをするたびにガードクラッシュ用変数を加算。
 変数値が 10 以上になった時、ガード動作からガードクラッシュに分岐。
 変数を 0 に戻して、ガードクラッシュ動作を一定時間行う。

以下に今回の処理で使用するグラフィックを載せておきます。

ガード動作・ガードクラッシュ動作


ガード・ガードクラッシュエフェクト

※ゲーム用BMPは上記画像のリンク先にて提供しております

スクリプト編集画面に入ったら、まずは「ガードクラッシュ」行を作成してください。


------------------------------------------------------------
次はガード動作です。
ここではスクリプト先頭にガードクラッシュへの分岐処理を追加します。


番号 命令 設定内容
1 キャラ変数Gを+1、9より大きいならガードクラッシュ
2 キャンセル不可
3 ぶつかり・やられ・投げやられをONに
4 やられをONに
5 移動X = -0.28 重力X = +0.01 (代入)
6 WAIT=25

※表中、色違いの部分がガードクラッシュ用の追加処理となっています。

スクリプト先頭の変数分岐命令に注目してください。
ここではガード動作を1回行うたびに変数の値を +1 しており、
変数を加算した結果、値が 9 を超える場合は
「ガードクラッシュ」 行へ飛ぶよう設定しています。

なお、ゲーム中に複数のガード動作がある場合は
それら全てに対して同様の処理を追加してください。

 弱ガードではガード値の変化を小さく、逆に強ガードでは変数の変化量を大きめに設定するなど
 ゲームバランスを考えて色々工夫すると良いでしょう。


分岐設定が済んだら、「ガードクラッシュ」行にスクリプトを追加していきます。

番号 命令 設定内容
1 キャラ変数Gをにする
2 キャンセル不可
3 ぶつかり・やられ・投げやられをONに
4 やられをONに
5 移動X = -1.43 重力X = +0.02 (代入)
6 自分停止 = 0、 相手停止 = 30
7 〜 11 順番に…WAIT = 2, 20, 15, 8, 8
12 移動、重力ともに0を代入
13 WAIT=200

上の方で載せた画像を並べています。
ガードクラッシュ後の隙を表現するため、
画像のWAIT値が大きめとなっている点に注意してください。

また、スクリプト内でガードクラッシュ用の変数値を
リセットしておくのも忘れないようにしてください。
※これがないと、通常のガードに戻らなくなります!

MEMO

ガードクラッシュ時の繰り返し動作

上の例では1行のシンプルなスクリプトで
ガードクラッシュの動作を設定しましたが、
ガードクラッシュ後、辛そうなポーズを複数回繰り返す
というパターンも考えられます。

こういった場合は、スクリプトのループ処理を活用すると良いです。

上図では、ガードクラッシュの行を「終了」命令によって前半/後半に分け、
前半のラストにて後半部分をループ呼び出ししています。
( 念のため、防御枠設定などもループ構造の中に入れておくと良いです )

これでガード動作からガードクラッシュへの分岐処理をセットすることが出来ました。

しかし、このままでは1つ問題があります。
実際にテストプレーで動きを見てみましょう。



問題点の確認

問題点
現在、相手がガードクラッシュした状態にあります。


ここは相手に攻撃を当てるチャンス、と考えて攻撃を行うと…

なぜか相手はしっかりガードします。

------------------------------------------------------------
原因
ガードクラッシュ時の動作について考えてください。

現在キャラクターはガードクラッシュ直前の状態にあります。


ここで敵の攻撃をガードすると、まず通常どおり「ガード動作」のスクリプトに入ります。

スクリプト開始直後、変数分岐命令によって「ガードクラッシュ」行へ移動するのですが
ここで1つ注意すべき点があります。

画面上にガードエフェクトが出ていることからも分かるとおり、
キャラクターは攻撃のガードに成功しています。

ここで「ガードクラッシュ」動作に移行したとしても、
内部的にはポーズを変えたガード動作でしかない。
その結果、相手の攻撃をしっかりガード出来てしまうのです。
( 連続ガードを行った、という扱いになります )

------------------------------------------------------------
対策
この問題を解決するには、相手の攻撃をガードした
という状態を一旦リセットする必要があります。

その方法として一番最適なのが キャラクターを着地させること です。
ガードクラッシュ行の先頭に以下のスクリプトを追加してください。

番号 命令 設定内容
1 キャラ変数Gをにする
2 キャンセル不可
3 着地したら 6
4 移動Y = +10.00
5 WAIT = 0(無限)
6〜    

スクリプト解説
ブロック3〜5でキャラの着地処理を行っている点に注目してください。
ブロック5に置いている画像については、
元のスクリプトで一番最初に表示していた画像( ガードクラッシュ動作の1コマ目 )でOKです。
処理的には一瞬でキャラが着地するので、このあたりの画像が表示されることはありません。

ガードエフェクトの分岐
また、ガード時に発生するガードエフェクトについても
ガードクラッシュ時の分岐を設定しておきましょう。
(変数の分岐条件は、キャラ本体と同じです)
グラフィックについては、上の方でガードエフェクトと一緒に載せた
ガードクラッシュエフェクト を利用すると良いです。

以上の設定で、ガードクラッシュ のルールがうまく動作すると思います。



テストプレーで処理を確認

テストプレーでガードクラッシュの処理を確認してみましょう。

今回は相手キャラにガードしてもらいたいので、相手の動作はガード にしておきます。

ゲーム開始、自キャラで相手に攻撃を行います。

CPUの設定通り、相手はガードを行います。

引き続き攻撃を繰り返していくと…

ガードクラッシュが発生、相手はしばらく動けなくなります。

ここで再び攻撃を仕掛けると…

しっかり攻撃がヒットしました。

以上の結果から、ガードクラッシュの処理が正しく行われていることが確認出来ました。



まとめ

ガードクラッシュのルールはゲームバランスを大きく左右する部分となるので、
攻撃とガードのバランスが取れるよう何度もテストプレーを繰り返して調整すると良いです。
その他、今回の説明では省略しましたが
ガードクラッシュ値の回復についても何かルールを考えておくと良いかもしれません。
( 立ち・しゃがみなどの待機状態で徐々に回復する、など )

また、今回の処理で使用した 着地によるキャラの状態リセット というテクニックは
他の処理を表現する際にも活用できるので、しっかり覚えておくと良いでしょう。

長くなりましたが、以上で ガードクラッシュの表現 に関する説明を終えます。
なお、今回の説明で不明な点や質問などがあれば
掲示板 にて受け付けておりますので気軽にお尋ねください。

トップページへもどる

inserted by FC2 system