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 ハイジャンプの作成


■ バグ・よくあるミス


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


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


018

ダウン値による分岐処理


2D格闘ツクールでは、基本的に
1つの攻撃に対して1つのやられパターンを指定します。
地上にいるかどうか、などキャラの状態による変化はありますが、
ヒット数によるやられパターンの変化はありません。

ここで問題となってくるのが対戦のワンパターン化です。

例えば…
「絶対にダウンすることのない弱攻撃」だと、無限ヒットしやすい。

特に、やられ動作のヒットバック距離が短い場合に顕著です。

一方で、
「絶対にダウンする強攻撃」だと、ゲームの流れを頻繁に止めてしまう。

一発でも攻撃を当てればダウンを奪えるので、
「いかにその一発を当てるか?」というやや単調な勝負になりがちです。

これらの問題が目立ってしまうと、
全体的にゲームの展開やテンポが悪くなります。
これを解決する策としては、やられパターンの調整が考えられます。

今回は、代表的なやられパターンの1つである「ダウン動作」を例として
やられパターンの分岐処理について説明したいと思います。
具体的には、「キャラがダウンするかどうか?」 を変数でコントロールする方法について説明します。

なお、ページ後半では
今回の仕組みを使った応用例についても少し説明します。



やられパターンの分岐処理

現在、攻撃動作とやられ動作は以下のように設定されています。
弱攻撃を受けた場合は、必ず弱ヒット動作に入る
強攻撃を受けた場合は、必ずダウン動作に入る

これを次のような設定に変更します。

弱攻撃を受けた場合は弱ヒット、ダウン値が一定以上の場合はダウン動作
強攻撃を受けた場合は強ヒット、ダウン値が一定以上の場合はダウン動作

ダウン値( キャラ変数 )を条件とした分岐を組むことで
やられ動作のワンパターン化を回避しているわけです。

条件分岐の詳細は以下の通りです。
( 例ではキャラ変数Iをダウン値として使っています )
弱ヒット

ダウン値を+10、ダウン値が40以上なら「ダウン動作」へ。

強ヒット

ダウン値を+20、ダウン値が40以上なら「ダウン動作」へ。
弱ヒットの場合に比べて、
ダウン値の加算が少し大きめになっているのがポイントです。

スクリプトの一覧は以下のようになります。

各種やられ動作の先頭にダウン判定を追加しています。

MEMO

ダウン値によるキャラ表現
今回はダウンするかどうかの判定値として40を設定しますが、
ここを変更することでキャラの倒れやすさを表現することができます。

判定値を大きめにすれば倒れにくく…
反対に小さめにすれば倒れやすくなります。
キャラの体格や耐久力を基準にして調整すると良いでしょう。

 例としては…
 体力は高いがダウンしにくいため、連続攻撃を受けやすいキャラ など

これで 各種やられ → ダウン動作 の流れを設定することが出来ました。

続いて、ダウン動作のスクリプトにダウン値のリセット処理を追加します。
( これがないと、ずっとダウンする条件を満たしたままになってしまいます )
リセットのタイミングとしては…
「キャラが落下して地面に接触した時」が良いかと思います。

今回は キャラ変数I をダウン値として使っているので、
これをリセットする変数命令を追加します。


MEMO

ダウン値の回復
「地面に倒れた時」を条件とした変数リセットは設定しましたが、
それ以外の動作でも小まめにダウン値の回復( 減少 )を入れると
自然な感じになって良いかもしれません。
( お勧めは「通常立ち」や「しゃがみ」などの待機モーション )

 キャラは連続攻撃を受けることでダウン/のけぞりを行うので、
 少し間が空いた時は体勢を立て直しているはず…という考え方です

以下は実際にスクリプト化したものです。

ダウン値( キャラ変数I )が0より大きいなら、変数値を-1する。
ただし、キャラ変数が0よりも小さくならないように注意してください。
( 直前に、減算処理を回避する分岐を入れると良いでしょう )


テストプレーで確認

まずは「弱ヒット → ダウン動作」のパターンを確認してみます。

左側のキャラが弱パンチによる連続攻撃をしかけます。

弱パンチが3回連続ヒット、
右側のキャラは「弱ヒット」の動作を行っています。

ここで4回目の攻撃がヒットすると…

右側のキャラは「ダウン動作」をとります。

同様に、「強ヒット」の場合も2回連続で攻撃を受けると「ダウン動作」が発生します。

 その他、弱ヒット/強ヒットが組み合わさった連続ヒットの場合も同じ結果になります。

また、キャラがダウンした後は再び連続ヒットするようになります。
( ダウン値のリセットが正しく機能している )

以上のテスト結果から、
ダウン動作への分岐処理がうまく動いていることが確認できました。



ダウン値処理の応用

今回は「キャラがダウンするかどうか?」
変数でコントロールする方法について説明しましたが、
これはあくまで一例に過ぎません。

変数でキャラの状態を管理するという考え方を応用すれば
様々な処理を組むことが出来ます。

例えば、今回と似たような処理として
「気絶判定」「ガードクラッシュ判定」が考えられます。

MEMO

気絶判定
「キャラが戦闘中に気絶するかどうか?」の判定です。
一般的な格闘ゲームにおいて、
気絶状態になったキャラは一定時間操作不能になり
相手の攻撃に対して無防備になります。

ガードクラッシュ判定
「キャラが相手の攻撃をガードしきれるかどうか?」の判定です。
一般的な格闘ゲームでは
キャラごとにガード可能な回数が設定されており、
その回数を超えてガードしたキャラは
ガードクラッシュという無防備状態になります。
( 気絶ほど長くはないが、相手に攻撃の隙を与えてしまう )


以上でダウン値の管理についての説明を終えます。
内容としてはそれほど高度なことは行っておりませんが、応用範囲は非常に広いです。

うまく工夫すれば、ゲームの流れやテンポに影響するルールを表現できるので
色々試してみると良いでしょう。
なお、今回の内容について詳しく聞きたい場合は 掲示板 にて質問してください。


トップページへもどる

inserted by FC2 system