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


■ バグ・よくあるミス


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


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


023

真空投げが発生する

格闘ツクールでは、投げ技を作成することができますが
注意して処理を組まないと 真空投げバグ が発生する可能性が有ります。

真空投げ
通常、投げ技というのは 自キャラの近くにいる相手を掴んで投げる というものです。
通常の投げのイメージ
※もちろん、例外的に中距離の相手を掴むキャラもいますが。

しかし、ゲームの設定に不備があると
相手が遠く離れた位置にいるのにも関わらず、
自キャラが投げつかみを出した時に
相手を手元に引き寄せて投げ技を成立させてしまう

というバグが発生します。
真空投げのイメージ
この投げ技バグのことを格闘ゲームでは真空投げと呼んでいます。
※少し見づらいですが、背景の位置に注目すると相手を引き寄せていることがわかると思います。

このページでは、
真空投げバグについて その発生条件と予防策を説明して行きたいと思います。


現状の確認
まずは、現在のバグ発生状況について確認しておきます。
バグの発生が確認しやすいよう、今回は以下のようなキャラを例として実験してみます。
 ・投げ技攻撃を持っている
 ・多段ヒットする飛び道具攻撃を持っている


------------------------------------------------------------
ゲーム開始、まずは相手が近距離にいる状態で普通に投げ技を出します。
投げ技成功
当然ながら投げ技が成功します。
ここまでは何も問題ありません。
※ただし、後々起きるバグの発生条件にはなっています。

次に相手が遠距離間合いにいる場合。
投げ技の前に、自キャラが飛び道具攻撃を出します。
飛び道具が発射される
飛び道具が相手に向かって飛んでいきます。

ここで自キャラが連続で投げつかみを出します。
飛び道具と投げつかみ
飛び道具と投げつかみが同時に出ている状態です。
※見分けづらいですが、左側の自キャラは投げつかみの動作を行っています。

この状態で飛び道具が相手にヒットすると…
相手を引き寄せて投げる
なぜか相手が自キャラのそばに瞬間移動、投げ技が成立します。
※丁度飛び道具が2ヒットしたあたりで発生しやすいです。


バグの原因
投げ技を作る際は「投げやられに攻撃したら」の条件分岐を入れるのですが、
この条件分岐では相手キャラとの間合いを考えず、
ただ単純に「投げやられ判定に攻撃が当たったら」を条件とします。

また、飛び道具攻撃ですが
これは自キャラと相手キャラの間に距離がある場合でもヒットします。
そして、この攻撃判定は相手の投げやられ判定にも当たります。

------------------------------------------------------------
以上の条件から、以下のような流れが考えられます。
自キャラが投げつかみを出して攻撃分岐をセットした後、
投げつかみ動作が終わるまでの間に飛び道具など何らかの方法で相手に攻撃がヒットすると
投げつかみの攻撃分岐が発動、相手の距離に関係なく投げ技が成立してしまう。

真空投げ発生の流れ
イメージにするとこのような感じでしょうか。

ただし、上記の条件に加えて一度普通に投げ技を当てていることが
真空投げバグ発生の条件になっています。
※正確には投げ技に限らず「攻撃が当たったら」の分岐を含む技全般が対象となります。


対策
今回の問題は発生条件が限定的なので、対策は幾つか考えられます。
どこかで発生条件を満たさないように改良すれば良いわけです。

------------------------------------------------------------
1. 飛び道具発射 → 投げつかみ が連続で出せないようにする
 今回の問題は自キャラが飛び道具を発射して、
 それが相手キャラに当たる前に投げつかみを出せるために真空投げが発生しています。

 A.飛び道具発射後の硬直時間を長くする
 飛び道具発射後の硬直時間を長くする

 B.飛び道具の移動速度を速くする
 飛び道具の移動速度を速くする

 A〜Bの調整を行えば、飛び道具OBJで投げ動作が同時に画面上に出ることはなくなります。

------------------------------------------------------------
2. 飛び道具を多段ヒットさせない
 今回の問題は飛び道具が多段ヒットするタイプの場合に発生しやすいです。

 A.攻撃判定の「連続ヒット」オプションを外す
 攻撃判定の「連続ヒット」オプションを外す

 B.飛び道具ヒット後はOBJが消滅するようにする
 飛び道具ヒット後はOBJが消滅するようにする
 ※キャラによっては仕様変更になるので
  多段ヒット飛び道具にこだわりがある場合は1. か 3. の方法を試すようにしてください。


------------------------------------------------------------
3. 遠距離ではダミーの投げつかみが出るようにする
 これが今回の問題で一番オススメの対処法です。
 投げボタンが用意されているゲームでは
 相手との距離に関係なくどこでも「投げつかみ」のモーションを出せますが、
 実際に投げ技が発動出来るのは相手が近くにいる場合のみです。

 つまり、遠距離間合いで出す「投げつかみ」には攻撃判定は不要。
 見た目だけ「投げつかみ」の空振りモーションを出せば良いわけです。
 ダミーの投げ技動作を用意
 ダミーの投げ技動作を用意する

 近距離と遠距離で投げ技の動作を分ける
 近距離と遠距離で投げ技の動作を分ける

つかみのポーズだが攻撃判定は無し
つかみのポーズだが攻撃判定は無し
攻撃判定も何も無いので、真空投げは絶対に起こり得ません。
考え方としては非常に単純ですが、最も確実な方法と言えます。

MEMO

ダミーの投げつかみに問題は無いか?
ダミーの動作にする、と聞いて不安に思う人もいるかもしれません。
本来つかめるはずの場面で空振りモーションにならないか?
実際に処理を組んでみるとわかりますが、
それほど問題になることはありません。

不自然な動きが起こるとしたら、以下のパターンでしょうか。
自キャラがダミーの投げつかみモーションを出してから
つかみ判定が発生するはずのタイミング、この短い時間に
相手キャラが「地上状態のまま」目の前にワープしてきた場合。

この条件を満たすような設定を持ったキャラはそうそういないと思います。
( 実際、投げつかみの攻撃判定よりも素早く相手が移動することは滅多に無いと思います )


上でも説明した通り、今回の問題は発生条件がかなり限定的です。
ただ、真空投げが意図的に発生できるようだとゲームバランス上かなり問題です。
今回説明した対処法を上手く使って抜けの無いようしっかり真空投げ対策を行ってください。

以上、長くなりましたが真空投げが発生するバグについて説明を終えます。
なお、今回説明した内容について気になる点や疑問点などがあれば
掲示板 にて質問を受け付けておりますので気軽にお尋ねください。



ページ先頭へもどる

トップページへもどる

inserted by FC2 system