2P側で開幕混線が動かないキャラ

こういうキャラって、結構いるじゃない?

ヘルパーの枠をいたずらに全部埋めてしまってお互いに演出や時止め解除に支障が出たり、大量のヘルパーを毎フレームごとに出し消ししまくるせいで重すぎて試合観戦がなりたたなくなったり…

こういう症状が出ることを製作者さんが把握していても、「原因がわからん…まあ2P側だしいいかー1P側の殺傷力が大事だしー」、みたいな人も結構いるようです。

しかし、これらは神キャラとしての実力を発揮できないという点のみならず、試合を観戦する側にまで負担をかけるなかなかに重い不具合です。
可能であれば積極的に直すべきと思うので、自分で調べてみて原因と思われることを書いてみます。
この界隈ではどちらかというと素人に分類される私があまり偉そうなことを言えるものでもないのですが…参考にしていただければ幸いです。必要であれば訂正は随時行います。

8/8 追記

内容は続きからどうぞ↓
・症状①:大量のヘルパーを毎フレーム出し消しする

これは大抵の場合淡水椛氏が公開していた親変更セット、もしくはそれをコピペ参考にしたキャラの記述を使っているのが原因です。(親変更セットを悪者扱いする意図は毛頭ないです。ただ、あれは黒翼神の相当古いバージョンをそのまま元にしているそうです。親変更の原理の理解はともかくとして、キャラに導入するにはコピペではまずいですね。)親変更を導入していないのにこの症状が起こる場合も、似たようなことが起こっているかもしれないので参考までに。
親変更セットは領域確保ヘルパー・混線生成ヘルパーの呼び出しのトリガーに"!NumHelper(最終ヘルパー)"を使っています。これら二種類のヘルパーは混線が完成すると最終的にデストロイして二度と呼び出さないヘルパーなので、アーマーなどの常駐ヘルパーのように"!NumHelper(自分自身)"とはできません。なので呼び出すタイミングとして、混線ヘルパーより後にくる常駐ヘルパーを使っているのでしょう。
しかしこの書き方の場合、最終ヘルパーが必ず呼び出せるのならばいいのですが、2P側配置で相手に先にヘルパーを出された場合、親変更セットの記述通り「本体が順番にヘルパーを出していって56番目が最終ヘルパー」のつもりでヘルパーを置こうとするとヘルパーの枠が足らなくなります。そのせいで消しても消しても次のフレームには勝手に領域確保ヘルパーが出てきてしまいます。
※上で言った概念のみを描いた簡略図です クリックしてどうぞ
image1.png

8/8 追記:
親変更セットは2P側で親変更をしないことの一環として、2P側の時にID調整済フラグを無条件で立てて、領域確保ヘルパーをすぐに消していますが、被弾ヘルパーを消す処理が2P側でも無くなってないっぽいですね。
ここを変えたらだいぶ違うかもしれません。


・改善方法その1:最終ヘルパー設置処理を行う

一番安全な対処法はこれです。新しく導入する場合、構造改革レベルの作業になりますが、ある程度理解があれば単にヘルパー呼び出しステコンの場所を移動するだけでも済むでしょう。
これは「本体から順番に56個出して56番目を最終ヘルパーにする」ではなく、「一番最後に最終ヘルパーが来るように最初に調整する」という処理のことです。
初めに常駐ヘルパーを出す際、最終ヘルパーを大量に出して枠を占有し、その後今度は最終ヘルパーが一個になるまで先頭からデストロイしていき、最後に残ったのが真の最終ヘルパーになるという寸法です。

※簡略図
image2.png

この方法を使う利点として、2P側やHelperMaxが少ない環境でも最終ヘルパーをきちんと設置できることはもちろん、「混線を生成するタイミングをコントロールしやすい」こともあげられます。
混線生成用の個別ステートを用意しておき必要な時だけ最終ヘルパーを飛ばすようにしておけば、基本的にヘルパー呼び出しのトリガーを気にすることはありませんし(今度こそ順番に並べて出すだけでいいです)、勝手に出てくる事態も避けられます。
この方法を使わない場合、いずれにしても最終ヘルパーが最終に出せないことになります。最終ヘルパーにさせている仕事によっては不具合が残る可能性があるので、この方法がおすすめです。

・改善方法その2:ヘルパー呼び出しのトリガーを変える

手っ取り早い方法。
領域確保ヘルパーのヘルパーIDを別々にして混線生成ヘルパー・混線ターゲット保持ヘルパーと1対1対1対応にしておき、呼び出しのトリガーをこうします。

領域確保:
Trigger1 = !NumHelper(自分自身(領域確保)) && !NumHelper(生成) && !NumHelper(ターゲット保持)

生成:
Trigger1 = !NumHelper(自分自身(生成)) && !NumHelper(ターゲット保持)

開幕混線では最終的にターゲット保持ヘルパーが常駐することになるので、これで勝手に出てくることはなくなります。

・ちなみに…

親変更セットでは親変更のID調整が成功したかどうかを最終ヘルパーで判断しているようですが、その②の方法をとった場合ID調整の最中には最終ヘルパーがいないことに注意です。またID調整の際に

Trigger1 = NumHelper(xxx1) && NumHelper(xxx2) && NumHelper(xxx3) && NmHelper(xxx4) && …

という記述になっていて、すべてのヘルパーについてID調整が済んでいるかどうかを判断しているようですが、最終ヘルパーと同じく後ろのほうの混線用ヘルパーもすべて出せる保証はなく、トリガーが成立しないせいでいつまでもステコンを読み込めない可能性があるので、ID調整の方法については考えておく必要があります。

実際のところ、親変更セットのID調整方法である、「すべての混線生成ヘルパーを一斉に出し消しして一定のIDになった時」という方法はかなりいいかげんなものでして(この方法の大元の発案者であったmacbeth氏いわく「親変更の原理を知らずに試行錯誤していたころのシロモノ」だそうです。しかたないね)、「専用のヘルパーを出し消しして、"次に相手が出すヘルパー"のIDが範囲内にあるかどうか」、で判断するのが正しいやり方です。

リック氏やmacbeth氏などの最新キャラであれば正しい調整手順がよくわかるはずです。自分のキャラが一番よくわかるので例に出しますが、私が公開している百虎の通常親変更用のファイルの一番下に、毎フレーム出し消しする時止め解除ヘルパーを利用したID調整の記述があります。試合中でもかなり精密にIDを調整できるはず(四条雛子相手に一切調整が狂わないレベル)なので、よかったら参考にしてください。


・症状②:ヘルパーの枠を埋めてしまう

こちらは親変更のないキャラでもよく見られる現象です。
※簡略図
image2 (2)

空けたままにしておきたい枠に、出しきれなかった混線ヘルパーが次々に出てきて埋まってしまうのです。一番よく見る原因はこれだと思います。

・改善方法その①:混線を展開したことを記憶する

まず、ゲームの初めにヘルパーを出す処理を終えた後、出せても出せなくても、今あるすべてのヘルパーの合計数を記憶します。
(var(x) = NumHelper + Enemy,NumHelper / var(x) = var(x) + Enemy(1),NumHelper / var(x) = var(x) + Partner,NumHelper Enemy(1)とPartnerはいないとエラメが出るのでNum~で確認しましょう)
次に、混線用ヘルパーをうまく出せなかったときは、このvar(x)とリアルタイムのヘルパー総数を比べて、混線用ヘルパーが適当な数展開できるくらいに空きがあるかどうかを判断します。一度出したら出しなおすのが面倒になるので、一度で出せるようにタイミングを見計らいます。ここら辺の判断はさじ加減次第でしょう。
混線ヘルパーを展開した後は、必要な数の混線ターゲット保持ヘルパーを出せたことをトリガーにして、変数なり代替のスイッチなりでフラグを立てておきます。余分なヘルパーが出てくるのを防げるはずです。

8/8 追記:
ヘルパーを一つずつ出しながらヘルパーの空きを確認していると、出している最中に「枠が埋まっている」と誤認してしまうことになります。
混線ヘルパーを個別ステートから出す場合はHelperステコンではなくそのステートへのCangeStateのトリガーの所で調整をする、
常時監視から出す場合はヘルパーを出す前にあらかじめ枠が空いている事を示すフラグを立てておく、
などの処理をするといいですね。

それと、空きを確認して出すのとは別に、ゲームを開始した最初のフレームでまず混線を召喚する処理を入れておくと安定するかもしれません。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

skeleton

Author:skeleton
いらっしゃいませ
当ブログはリンクフリーとなっております。報告して頂ければ、こちらからも相互リンクさせていただきます。

連絡:
toramarusho"~(=^・ω・^)"yahoo.co.jp
"~"をいつもの文字に

"http://"が禁止ワードに設定されています。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
オンラインカウンター
現在の閲覧者数:
公開しているもの

白虎(ver0.0065β)

メイン公開キャラ
寅丸星改変
最大目標は神最上位レベルでの殺傷力最強だがまだまだ未完成…
そのうち格ゲーもできるようにしたい


神みずか改変パッチ(ver1.06)

神みずかが上位神化するパッチ
見た目はエフェクトなだけ、攻撃は全て裏でシステム管理の凶悪ガチパッチ

当身kfm
撃破挑戦キャラ
撃破挑戦キャラのくせにmugenを落としにかかるアホキャラ
とあるキャラを防御面でリスペクトしているがどうやらうまくいっていない模様

2P側対応親変更テンプレ
2P側でもバグらずに最終ヘルパー&開幕混線&親変更が使えるテンプレ
混線以上のキャラを製作する際は参考にどうぞ
最終ヘルパー設置のための解説テキストが入っていないので別に上げておきました

テトリス演出保護パッチ
裏ルートが使えなくなりました
Let's play tetris !
ブログ内リンク
リンク
検索フォーム
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
RSSリンクの表示