人生エクソダス

なんてことのない日々のこもごもをつらつらと書き連ねたり連ねなかったりする。

おつかい氏のマミさん 5 空中通常技

2020-01-16 03:59:34 | MUGEN

ジャンプ小キック stateno=430

 発生4F、持続6F、のこり4F。

 X軸72までのびる横に強い攻撃判定を使って、空中ダッシュから地上の相手にさしこんでいける。空中牽制にしてもいいが縦はかなり薄いので、上部を狙うなら中P中Kか大Kのほうがいいし、下部は中Pか大Pのほうがいい。

 発生が早いことを用いて、遠くの敵がロンディーネとかの銃撃を喰らった時に追撃したい、が走っていては間に合わないしジャンプ大Pは発生9Fだし…となったときにとりあえず低空ダッシュ小Kを当ててジャンプ大Pにつなげてもいい。相手が空中やられになったらジャンプ中P→ティロ・シエーロが入れられて着地してもまだのけぞり中の見込みがある。なので横につっこむときにこれを振るのがおすすめ。


ジャンプ中パンチ stateno=410

 発生7F、持続4F、のこり10F。

 のぼりジャンプで空中牽制したり、くだりで押しつけができるくらいには分厚いY軸判定と、ほぼ前後80をカバーする横判定が持ち味。これによって、後ろにいる相手にも当てられることは当てられる。ただその場合ジャンプ大Pしか入らない。

 この技の特徴は、そのまま中P入力で出るティロ・シエーロ(stateno=415)とさらにそこから出るティロ・フィアンマ(stateno=417)。これらはX軸300超の遠距離銃撃なので相手を一方的に刺すことができる。シエーロが発生18Fと遅い。前空中ダッシュ中に振ればX移動はそのままなので前に長い硬直時間と共にふわっと飛ぶことになってしまう。シエーロの隙消しにフィアンマを重ねて逃げ、ロンディーネをつけて降りるかまだ飛ぶかを選べるのが、空中での機動性能の良いマミさんの強みだろう。

 レガーレ中の敵を下りジャンプ、というか近距離でレガーレ後にふわっと降りるときにジャンプ中P→シエーロが入る。シエーロのもう一つの強みはair.hittimeが60あること。ダウン属性じゃない攻撃で一番のけぞる攻撃なので、低空で当てた場合ちょっと走って立ち小Kで拾えて空中コンボに行けるという強みがあり、実はジャンプ中Pはそこまでのけぞり時間がなくティロ・フィナーレをキャンセルしても受け身を取られるリスクがあるので、シエーロをキャンセルしてティロ・フィナーレできれば安定して入れることができる。ただ攻撃判定がX75からなので、普通のキャラ幅が30ちょいなことを考えれば密着状態だと外れる。ティロ・フィナーレでキャンセルするためにシエーロを当てるなら、上とか後ろに飛んでジャンプキャンセルして相手との位置を適度に離す必要がある。


ジャンプ大パンチ stateno=420

 発生9F、持続4F、のこり18F。

 下部にやたら強い攻撃判定と、ジャンプ中Pほどではないにしても前後に伸びる攻撃判定が特徴。攻撃判定が出てからの残りフレームが18とかなり長いので、guard.ctrltimeが20なことを考えると-1~+2というところ。ガードされて不利ではないが何もできず、また空中の相手に当てた時にダウン属性になるので追撃がなくなる。着地まで長い場合ロンディーネをつける猶予はあるが、低空だとそれもできない。ジャンプ大Kにキャンセルできないので実質これが〆になる。下に強い判定を使って、空中コンボに移行するも自分が高すぎるときにこれではたき落としてとりあえず〆るのも手段だろう。

 地上の敵に当てた場合硬直より先に着地するので、ジャンプ大P→立ち小K→…とコンボに移行できる。マミさんのAIのプリセットには普通のジャンプで押しつけるタイプとハイジャンプでめくり空中バックダッシュからこれを当てる2パターンの運用が登録されている。わずかに落下ダメージがあるが、当てに出来る程ではない。

 攻撃属性MAFDつまりダウンした敵に当てることができる。これの他が足払いのしゃがみ大Kだが、ダウンした相手に思った以上にしゃがみ大Kが当たってくれない。なので低空ダッシュでジャンプ大Pを狙った方がまだ当たる。曲芸だが、空中ダッシュ中にロンディーネを出しておきジャンプ大Pを当てた場合、のけぞりの間にロンディーネが当たって空中やられになるので、そこから立ち小Kからの空中コンボをもう一回できる。つまり画面端だったら理論上これでループできる。


ジャンプ大キック stateno=450

 発生11F、持続4F、のこり6F。

 発生の関係で小技に潰される可能性があるものの、前に大きな攻撃判定があり上の攻撃判定は小さめなものの喰らい判定との距離がけっこう遠いので、敵が空中で自分が対空する場合は他のどの技よりリスクが少ない。当てた場合ダウン属性なのでジャンプ大P同様なにもないが、guard.ctrltime24つまりガードされて+15~+18Fなのでコンボにできないことを除けば出し得。ロンディーネを付けて普通に着地してもいいし空中動作をまだしてなかったら空中ダッシュとかもできる。

 ジャンプ大Pと違って地上の相手に当ててもダウンさせてしまうので普通の追撃はできない。一方var(13)=2の制約(のけぞり時間が1Fになる)の対象外なので、地上通常技→ジャンプキャンセル→空中ダッシュ→空中通常技が普通に入る唯一の存在。とはいえ他の技がダウン取らないから永久ループできてしまうので制限をかけているというだけのことだから、強制ダウンするこの技の硬直時間を減らすメリットがないというだけのことだ。

 かなり強引に、ジャンプ大K→マギアブート(stateno=900)→ティロ・フィナーレと4ゲージ使ったコンボもできるが、補正でコンボの〆にTFを持ってきた場合ダメージが425から大幅に減る可能性も大きい(とはいえ20ヒット目だったら0.8倍程度なので半減とかに比べれば全然たいしたことない。3ゲージ技のダメージが削れるというゲージ管理的に痛いかもしれない)し、ほほ一瞬であれこれしないといけないのでレガーレ拘束からティロ・フィナーレを生出しした方が楽。ましてダウン中の相手にティロ・フィナーレが当たることになっているが起き上がりの無敵時間に被さってスカる場面も多いので、安定して当てたいなら自分も敵も高いところで大Kが当たったとかでなければ狙い所がない。


楽しかったやる夫スレを思い出す 15 飯屋

2020-01-15 00:29:26 | やる夫スレ

 異世界に転生したやる夫とやらない夫が救世主として世界を救…わない、いや救う短編。たらたらしゃべりながら飯屋ってタイトルとメシアとかけてるよねと本人達も言っている、「飯屋」というタイトルが実は割と伏線だったという。

 やるやらがくだをまきながら旅をして、この世界はこういう楽しみ方があるのね~ほ~と完璧に旅行気分なところに、現地人のですぅ夫(翠星石のヘッドドレスをつけたやる夫みたいな派生キャラクター)が救世主様そんなことより…と軌道修正しようとしてできないゆるい掛け合いがいい味を出している。

 がラスボスにして創造主が出てきてにわかにシリアスバトル展開に、そして前半で出てくる役に立たなそうな能力がまさかの活躍で世界を救う。そしてやるやらは――という話。せんべろのようにさくっと読んで楽しめる。


MUGEN小話 4 mugenといえばエラー

2020-01-13 19:51:49 | MUGEN

 AI入れただけでこうなったりすることがある。


random<var(59)*(p2bodydist x)

 random…0~999を抽選、var(59)…AIレベル。人によって使うvarは違うがだいたい59でつくってる、p2bodydist x…X軸の距離 によって、X軸として遠ければ遠いほど期待値があがるように記述したつもり。が、この記述でまれにエラーを吐くことがある。
 p2bodydist のXもYも整数を返すものと認識していることがある。他の方が作ったAIを見ても、p2bodydist x=[65,120]のように、整数が入っている事が常だからだ。だが数字でこうして指定していない場合、例えば(p2bodydist x)とすれば現在の相手とのX軸の距離が分かるが、これが小数が入ることがあるようだ。
 そして、randomは整数しか入らない。なので、【整数しか入らない】<【小数出るかも】という式になりエラーになることがある。

 なので、↑の式で組むなら、random/var(59)<p2bodydist のようにどちらも少数出るかもしれないようにしておけばいい。


等号不等号の順番が違う

 p2bodydist x=[65,120]くらいの長さならこれでいいが、p2bodydist x+const(size.ground.front)+enemy,gethitvar(xvel)*10=[65*const(size.xscale),120*const(size.xscale)]とか、これよりもっと長くなったりすると、横が画面に収まらなくなって、何が書いてあるかわからないとか、直そうと思った時にこの()は何を区切っているのか…と意味が分からなくなることがある。なので長い式になるならばらした方が一画面に収まってわかりやすいということがある。
 ↑の式の内容だと、p2bodydist x>=65 && p2bodydist x<=120という事になるが、この><=の順番が違うということでエラーを吐くことがある。><は左側、=は右側と覚えておけばいい。この程度の事なのに、うっかり間違った記述をしたものをコピペしている場合の修正は、そらもう手間よ。


括弧の数が違う

 たとえばこれ
((p2bodydist x=[128,179])&&(p2bodydist y=[51,90]))||(((p2bodydist x=[180,231])&&(p2bodydist y=[91,130]))||((p2bodydist x=[232,283])&&(p2bodydist y=[131,170]))
 エラーです。どっかの(が多いからエラーによって読み込み不可になります。
 なので一行の長さが長すぎる式とか、(((が3つも4つもある式をつくると自分でもわけがわからなくなるので、例えば( () ) || ()のように半角スペースを使ってこの括弧はここからここまでというのをわかりやすくしておいた方が、直す時に便利。


全角スペースが入っている

 older than...というエラーが出た時、意外にどこにいれたかわからないような全角スペースによってエラーを吐くことがあり、そもそも視認できないというとても厄介な代物。もし最初から全角スペースとわかっていれば を検索すればいいだけだし、まあ視認に関しても全て選択して謎の青いだけのブロックがあったらそれを消せばいいが、まあうっかりこんな を入れてしまったらちゃんとその時に消すようにしよう。

 あと説明文を入れたのに行頭に;(コメントアウト)を打ち込まずにいればやっぱりエラーを吐く。


おつかい氏のマミさん 2 特殊動作のレビュー

2020-01-12 19:16:38 | MUGEN

 おつかい氏のマミさんについてもうちょっと語っていこうと思う。

 今回は特殊動作について。

  前回の所感は https://blog.goo.ne.jp/jinsei-exodus/e/68b3e3a1c89884f1dd01eafcd3149d20


◎マギアブート [900,901]

 いわゆるロマンキャンセル。「通常技がmovehitした時」と「必殺技中」に入力することで1ゲージ使って動作をキャンセルできる。ニュートラルだとその場でキャンセル900、前入力だとダッシュして追いかける901になる。無制限ではなく、1コンボにつき1回という制限の他、AIには禁止時間がある。

 この901ダッシュがマミさんの移動の中で最速(ダッシュが5、空中ダッシュが6、901が9)なので立ち大P(220)の先端が空中の相手に当たった場合や、ヴォレー(1000、1100)やメテオリーテ(3100)などの牽制に相手が引っかかったが遠くて追撃できない時にミラッジオ(1300、1350)をわざと出して901で走った方が普通にダッシュするより早い。空中ダッシュでの追撃は永久禁止のvar(13)がかませてあるので大して追撃できないことから、立ち弱Kで拾って地上→JC→空中コンボのルーチンに入りたいなら1ゲージ使ってコンボを獲った方がいい。

 ただ走って追いかける為に1ゲージ使うのは抵抗があるかもしれない。

 が、マミさんは受けに回ると厳しいのでゲージを抱えて大技狙うより、1ゲージガンガン使ってラウンド奪取を優先すべきというのが私の考えだ。ただし例外もある。

 <例外1 相手の防御力が高い/自分のティロフィナーレLV3>

 相手の防御力が高いときは普通にコンボをつないでもダメージの見込みがないので、800ヒットするTFlv3「ティロフィナーレ・ガラッシア」(3500)(TFG)で刈り取った方が良い。普通のキャラクターなら1はダメージが発生するので。なおTFGはダメージのある400ヒットとダメージのない400ヒットの合計800ヒットなのでATKを高く設定しているならゲージ過剰となる場合もある。

 <例外2 相手のlifeaddが普通に殴るダメージより早い>

 相手にlifeadd(体力回復)が設定している場合、マミさんのコンボ補正も相まって「最初はダメージが通っていたのにだんだんイコールまたは逆に回復される」こともある。そういう時は1ゲージでこつこつやってもしょうがないので、3ゲージ溜めて簡素に地上コンボ→JC→レガーレ→ティロフィナーレ(3200)で500ちょいダメージを獲った方がいい。TFスイッチ1以上なら2ゲージ技「ティロフィナーレ・ソル・レヴァンテ」(3300)が撃てるのでこちらの方が手軽かもしれない。

 一応発生1F目に無敵時間が1Fあるが打撃のみ(sca,aa)なので、飛び道具(ap)投げ(at)はそのまま喰らう。ただ9/毎F走って移動する性能なので、たとえばミラッジオ中に後ろから投げられそうな時に走って逃げればぎりぎり行けるかもしれない。攻めにも使えるが、前述のミラッジオしくじった時やヴォレー準備したらジャンプ攻撃されそうになったときに逃げる為に、その場900でモーション解除してHJで飛んで逃げるとかも選択に入る。そのくらい近距離でがちゃつかれるのがマミさんの受け性能からして致命的で、1ゲージ払うかラウンド獲られるかという状況にまでなりかねない。


◎通常投げ [500-501,550-551]

 地上投げ「びんた(ティロフィナーレ(笑))」が500、空中投げ「グランディーネ」が550。

 500は頬をはたいた時に501になり、これがブーキャンできるので901で追いかけていつもの230からのコンボに移行できる。相手が画面端密着ならギリギリ屈小K(330)が入るかもしれないがかなりの曲芸になるので普通に1ゲージ払った方がいい。

 550は空中の相手を摑んで蹴り落とし、同時に呼び出した銃で地面に叩きつけられた相手を撃つ。摑んだ位置が高すぎる時は追撃ができないが、ある程度低い場合、銃が当たっている間に自分が動けているのでそのまま走って230からのコンボをつなげることもできる。しかし蹴り落とした瞬間にctrlが可能になっているので、エルクゥのようにのけぞり時間の短いキャラクターには銃の追撃が入らないこともある。普段のAIは有情なので自分の体力が半分切らなければ550を振らない。

 共通することは、ニュートラル状態の相手(movetype=i)の相手にしか当たらない/すかりモーションがある ことで、投げミスがそのまま隙になることや、相手は固めないといけないがガードモーション中は投げられないというジレンマがある。 投げ判定は若干広く、伸ばした手の先端からキャラ0.5人くらいまで届く。といっても、キャラによってはinguarddistでなくてもとりあえずガードステートに引きこもって様子を見る記述になってることもあるので、ほいほい振れない。


◎ガードキャンセル攻撃 [2000]

 貴重なマミさんの切り返し。しかし1ゲージ使う。これ以外はただガードするしかないので削り倒されたり判定負けの可能性を考えれば1ゲージ払ってでも生き延びなければならない。そして地上でしか撃てないので、空中でガード固めさせられたら試合終了ですよ。場合によっては。そのくらいガードするという状況が致命的。

 すくっと立って銃を使って射撃する。この姿勢が問題で、密着状態や屈んだ姿勢が低いキャラクターには当たらない可能性もあるので全幅の信頼とはいかない。反面300くらいの射程があるので中距離で飛び道具などをガードした時にガーキャンを当てることも出来る。といっても”できる”というだけで、その後何もないので本当に切り抜けるだけとなる。


◎ジャンプキャンセル・空中ジャンプキャンセル [40,45]

 ある意味マミさんの最重要項目。立ち大K(250)/屈大K(350)/ジャンプ大P(420)/ジャンプ大K(450)を除いた通常技をジャンプモーションでキャンセルする。movehitを返したことが条件。つまりガードされた通常技はジャンプキャンセルできない。また永久ループ禁止のvar(13)の条件の一つともなっている。

 var(13)は、地上通常技を当てる&相手のけぞり→1 ジャンプキャンセル→2 となり、var(13)=2のときジャンプ大K(450)以外の全ての通常技がのけぞり1Fとなり、実質当てたら最後になる。そのため、AI設定のジャンプコンボなどは〆がレガーレ(1400)になっている。逆に450は普通に当たるわけだが、450は強制ダウンの上、普通にJCすれば加速度の関係で昇りになるので硬直のまま空中を飛ぶことになり、やはり隙だらけになる。どうしても当てるなら696でJC→空中ダッシュして450を当てるのが隙は少ない。そこまでする意味があまりないが。

 また空中でもJCできるので、これがマミさんの空中コンボの生命線となる。デフォルトだと空中コンボは、

 [J小P→J小K→J中P]→JC→[J小K→J中P→J中K→J大K] を主に振っている。J大Pは空中の相手にダウンを誘発するものの判定が下に強いので、コンボを当てるたびにマミさんは下に慣性がかかる一方で相手は上に慣性がかかるので、J大Kでなければ相手に引っかからない。空中通常技が何か当たったものの次が届かない場合なども、JCを真上・後ろにして仕切り直しが出来る。

 またmovehitを返した時にJCできるという性質上、相手が通常技をブロッキング・チャンスメイクしたときにもJCは可能。なので処理的には、自分は攻撃を当てたけど相手が自分ののけぞりを特殊動作でなかったことにしている という感じなので、通常技をミラッジオでキャンセルするより474でJC空中バックダッシュして逃げた方が安全な場合もある。(ブロッキング→超必とかされたら逃げる暇はないかもしれないが)


◎ハイジャンプ [60,61]

 通常ジャンプ、ジャンプキャンセル、2段ジャンプ、空中ダッシュ、空中バックダッシュと空中での機動力はとにかく高性能マミさん。そして地上で出せないとはいえ300くらい余裕で移動するハイジャンプもあるので、攻撃されそうで困った時にはとりあえずハイジャンプ→空中ダッシュとかで逃げることで対応できる。

 そしてマミさんの基本性能であるジャンプ加速性能がY軸-9.7X軸前3.8/後-3.6で、この性能を強化する形でのハイジャンプになる。具体的にはX軸1.8倍Y軸1.4倍(直上は1.5倍)なので、前ハイジャンプはX6.84Y-13.58移動し、直上だとY-14.55移動ということになる。これらはYaccelで減衰されるのでずっと-13.58/F進むわけではないが、それでもelqueを追いかけて飛び回れるくらいには高速長距離移動ができる。

 これによって、マミさんには対空技はないが上に判定の強いジャンプ中K(8F)やジャンプ大K(11F)をのぼりで出すことで対空処理できる。ジャンプ中Kは前面の判定強めだが喰らい判定も近い一方、強制ダウンがないので当たればジャンプキャンセルしてエリアルコンボに移行できる。ジャンプ大Kは攻撃判定と喰らい判定の距離が前面25上部60離れているので攻撃判定を比較的安全に押しつけることができるが、強制ダウンするので追撃が何もない。

 どちらも無敵時間なんてない通常技なので、攻撃モーション中の相手に突っ込んだり釣られて必殺技とか出されたら大人しくやられるしかないけども。


MUGEN小話 3 playsndでもっと大きい音にしたいときのあれこれ

2020-01-12 19:00:13 | MUGEN

 本当はmugen@wiki chaosで見て網羅できれば一番良いが、1.0以降の記述についての解説が少ないので、stageのBGM音量調整が昔はbgvolumeで良かったけど今はbgmvolumeじゃないと機能しない、とか、キャラクターの音調整もvolumeじゃなくてvolumescaleだとか、どっかのbbsに書いてあるのを検証して正誤判断しないといけないのがしんどい。

 ちなみにキャラクターの声とか、技しゃべってるときに殴られたら音を止めるようにchannel=0をつけたりするが、これを書くと音が埋もれて普通の時にも音量が小さくなってしまう。手っ取り早いのはchannel=0を消して同じステートをコピペするもの。ただ、これにすると叩かれたりKOされた時も技名を叫んでたりして(要は音が止まらないので)滑稽なので、movetype=hのときにstopsndになるよう記述すれば喰らい状態の時とそうでない時で音声をコントロールできる。ただ貴重なvarを1枠使ってしまうので、そこはそういうものと断念するか、helperは別枠でvarを保存できるのでishelperをtriggerに入れて判断させてもいい。ただ私はそのやり方を知らない。

;殴られたら音止めます
[state -3, ototomemas]
type=stopsnd
trigger1=movetype=h
channel=2
ignorehitpause=1
[state -3, ototomemas]
type=stopsnd
trigger1=movetype=h
channel=3
ignorehitpause=1
[state -3, ototomemas]
type=stopsnd
trigger1=movetype=h
channel=4
ignorehitpause=1

;パゼストバイフェニックス
;降下
[state -3, voice pb-phoenix raid]
type=playsnd
triggerall=time=1
trigger1=stateno=2110
value=s12101,var(0)
channel=2
[state -3, voice pb-phoenix raid]
type=playsnd
triggerall=time=1
trigger1=stateno=2110
value=s12101,var(0)
channel=3
[state -3, voice pb-phoenix raid]
type=playsnd
triggerall=time=1
trigger1=stateno=2110
value=s12101,var(0)
volume=44
volumescale=44
channel=4

 ↑みたいにすれば、喰らったらchannel=2~4の音を止めるようにできる。

 playsndを重ね掛けしているのは、所詮一個のplaysndで音量最大にしても効果音で埋もれるから。全く同じフレームで同じ音を出せば音が大きくなるので、記述が苦にならないならこのやり方が一番確実。ただvalueのs0000,floor(random/250)みたいにランダム要素を入れると各ステコンごとに計算するのでわやになってしまう。ステコンvarrandomとか、nullでvar(--):=floor(random/250) || 1みたいにランダムしたvarを代入するとかで同じvalueになるようにする必要がある。

 めんどくさいやり方として、sndファイルの音量を直接上げるという方法もあるが、これは本当に音を上げるだけなので音割れのケアなんかしてくれない。またモノラル*2でステレオにすれば音量も上がるが、これはsndを直接いじってできることではないので、「wavで出力」したものを編集し再取り込みしナンバリングしてようやく、というところになる。このやり方でコンプレッサーで中音域をつり上げて圧縮することで音量アップできるので、音量アップ+モノラルのステレオ化をやるならwavで出力したほうがいい。

 でも面倒でしょ。playsnd重ね掛けした方が楽だよ。