FC2ブログ
記事一覧はコチラ

スポンサーサイト

-------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゼロのDPMを求める指針

2014-12-12 21:55
imawo様に宛てた記事です。

(2014/12/30 追記)
プログラムの基礎の部分を作りました。
http://kaedemarket.web.fc2.com/zero/calc.html
あとはダメージ計算の部分を組み込めばだいたい完成です。


現在のプログラムの仕様
(1) アルファ・ベータのASおよび使用スキル種類数を入力
(2) 入力した使用スキル種類数となるすべてのスキルの組合せを出力
 例えばアルファで使用スキル種類数が「2」なら、
 1次,2次,3次,4次の中から2つを選択し、
 仮に1次と2次が選択されたとすれば、
 1次スキルは最大3回、2次スキルは最大2回発動出来るので、
 ここでは3×2 = 6(通り)のスキルの組合せが出力されます。
 
 例を示すと、アルファ2種/ベータ2種としたときのスキルの組合せの総数は、
 アルファが53種類、ベータが42種類です。
(3) 出力された各「スキルの組合せ」について、
 さらに「アシスト待ちが発生する場合にアシストを待つか否か」を場合分けする

 例えば、アルファが「2種/AS2」,ベータが「2種/AS5」であれば、
 アルファの行動の組合せは151種類、ベータの行動の組合せは42種類となります。
 (※このASの組合せではアルファにアシスト待ちは発生しないため、(2)での
 組合せ数から変化しません。)
(4) (3)で求めたすべての組合せについてDPSを計算し、
 合算時のDPSが最大となるものを出力

 多少簡略化はしていますが、理論上は(3)で求めたすべての組合せ、
 (3)での例ですと151×42=6342(通り)の中でDPSが最大になるものを求めています。

 総合DPSは文字通りの意味です。後ろの(56470/6400)という表示は、
 6400msで56470ダメージという意味です。
 スキル名の羅列はそのときのスキルの組合せです。
 (+アシスト)とあるスキルは、必要があればアシスト待ちをします。


1. 各スキルに関して、所要時間とダメージを求めます。
2. アルファ、ベータそれぞれでの行動を決めると時間当たりのダメージが定まります。
3. 2を考えられるすべてのスキルの組合せで行い、ダメージが最大となるものを求めます。

それぞれの工程で必要となる情報

1: 各スキルのAS別所要時間
2: アシスト受付時間
3: 特になし

課題
・アーマースプリットとクリティカルバインドをどのように考慮するか
スポンサーサイト
コメント

No title

わざわざ記事立てまでしていただいて申し訳ありません。
こうして順序立ててみるとどこで躓いているかが分かりやすいですね。
どこに進んでいいか分かっているはずなのに分からなくなってしまっていた事が自分でも実感出来ます。

理由としては恐らくDPM算出を(スキルの組み合わせを自由に選択できる)シート作成の後、
と無意識に考えてしまった事があると思い当たりました。
ゴールをそのようなシートに設定していたため、
そのためにアシストの処理をどうするかそもそもアシストのディレイや受付時間をどうするか
とずるずる行ってしまっていました。

当面ぶつかっている問題としては考えるまでもなく2番です。
以下に挙げるゼロ特有の、私の頭をエラーに追い込むに十分ないくつかの仕様が原因です。
---------------------------
○切り替え
  切り替えから最速3.10秒あたりで再切り替え可能

  本体側の攻撃動作中に切り替えを行った場合、
  本体のディレイはそのままアシストに引き継がれる
  タイミングによっては攻撃後生じる攻撃が発生しない(アースブレイク衝撃波等)

  逆にアシスト側が攻撃動作中の場合は切り替えを行えないため
  特にベータ4次コンボ最後のアースブレイクをアシスト側で使う際等注意


○アシスト
  受付時間は切り替えから2.59秒まで
  既にアシスト攻撃動作中の場合は
  その動作が終わるまで新たなアシスト攻撃は受け付けない

  非受付時間に使用した攻撃のアシスト攻撃は飛ばされるため、
  例えばアルファ2次コンボ→アルファ4次コンボと繋ぐ場合、
  ベータ側は2次コンボ最後のスローイングウェポンが
  アルファ側の4次コンボ始動のウィンドカッター に間に合わず、
  その対応スキルであるギガクラッシュが発動しない

  ディバインスイフト込でアルファAS:6-3-1、ベータAS:8-2-1と攻撃速度に3差があり、
  また既にアルファはAS2のため攻撃速度補正を入れる毎に
  この組み合わせでどのアシスト攻撃が発生するか、
  ひいては最適行動そのものが変化する可能性がある


○アシスト時のスキル効果変容
  以下のスキル効果はアシスト中発生しない
    ・アーマースプリットのデバフ発生効果
    ・クリティカルバインドの出血時解除&ダメージ
       &アルファから被クリティカル率上昇まで一連の効果

  逆にディバインリアの出血効果はアシスト側からも有効

  Aスローイングウェポンが発動してる状態でアルファにチェンジすると
  以降のダメージはアルファのステータス攻撃力で計算される
---------------------

ある一つのAS状態での最適行動を体感から組み立てる、という形でなら求める事が出来そうです。
しかしそれが本当に最適なのか計算し、またそれをシートに組み込むという所まで辿りつけません。

3についてはそもそも『全てのスキル組合せ』を計算で出せるのでしょうか。
或いは『考えられる』まで含めて"ある程度体感や議論で候補に残った組合せ"という事でしょうか。

無茶な質問ばかりで申し訳ありません。
よくよく考えてみるとこれらの課題を前にしてやる気ゲージが空になる事こそが
作業の進まない真の原因な気がしてきました。
ここで『そんな方法はない』と一言言ってもらえれば
もうそれで踏ん切りがつくんじゃないかと思います。

自身でも改めてもう一度手はないか考え直してみます、ありがとうございました。

Re: No title

>>imawo様
ご連絡ありがとうございます。

アシストが絡むと複雑になるというのは理解しました。
残念ですが、シート上ですべての行動の中から最適なものを求めるというのは
プログラムを使わない限りは難しいと思います。
しかしながら、有力な行動というのはおそらく限られていますので、
それらを予め用意しておき、その中から最大となるものをDPMとすることで
問題が解決できると考えます。

以下は、その「有力な行動」を求める手続きです。
前提として、あるスキルをあるタイミングで使ったときに出るダメージ(の期待値)が
計算で求められるとします。

記事中の手順2を、以下のように考えます。
2* : アルファ、ベータそれぞれで用いるスキルの組み合わせを入力すると、
  それらから出せる最大のDPMを出力する関数を作る

あくまで目的は最大火力ですので、使用するスキルを決めた上での最適行動は
・最速のタイミングでスキルを使用する

・アシストが出る最速のタイミングでスキルを使用する
のどちらかです。
(他に考慮すべき選択肢があれば、それらについても場合分けします)

用いるすべてのスキルについてこれらを場合分けすることで
例えば使うスキルがアルファ・ベータ合計で8つなら
2^8 = 256 (個)のDPMが出てきます。
その中で最大となるものを、手順2で出力するDPM(およびスキルを使うタイミング)とします。

>3についてはそもそも『全てのスキル組合せ』を計算で出せるのでしょうか。
とのことですが、これも機械に全部まかせます。
最大のDPMを叩き出すにはアシストは必須ですから、
アルファ・ベータともに、用いるスキルは有限、多くとも6個程度と考えられます。
超テキトーに見積もってたかが250 × 250 (個)ですので、
手順2とあわせて計算量は250^3程度です。

シート利用者が条件を変えるたびに計算し直すには多すぎますが、
先ほど申し上げた「あらかじめ有力な行動をいくつか用意する」
というのを達成する限りにおいてはそこまで多くないと思います。
(AS,ステータス,対象防御率,カンストなどを考慮して
10000個ほどのケースを想定すれば十分でしょう。)

不幸にも、「有力な行動」の選択肢がシートに載せるには多すぎた場合は
また別の手段を考えるよりありません。

長々と書いてしまいましたが、もしこの手段を取ってくださるのであれば、
手順2以降は私が計算しておきます。

以上です。何かご不明な点や私が勘違いしている点などありましたら
遠慮無くおっしゃってください。

No title

お返事ありがとうございます。

私ではそのあたりの計算をPCにさせる事が出来ません。
構わないのであれば是非お言葉に甘えさせていただきたいです。

ですがゼロの仕様を完全に理解できてすらいないのが何ともしがたい所でして、
たとえば特に大きな所だとアシスト側スキルの"飛ばし"条件が完全には分かっておりません。

そのため
>前提として、あるスキルをあるタイミングで使ったときに出るダメージ(の期待値)が 計算で求められる
についても保証できない状態にあるという点だけご留意いただきたいです。

もう一つ、スキルの組み合わせについて、その動作1ループがスキルいくつ分になるのか想像できないため何とも言えません。
ちなみにシャドーは1周20スキル近くにまでなったので、私としてはあまり甘く判断出来ない所があります。

それ以外はなるほど、"個々のスキル使用タイミングはメイン側アシスト側どちらに合わせるかの二択"というのは目から鱗でした。
また言葉としてそれぞれの処理は理解出来ても実際どんな形になるのかは見当も付きません。
つまり"何が分からないのか分からない"状態でもあります。

ほぼ全面的にお任せする形になってしまいますが、何卒よろしくお願いいたします。


imawo拝

Re: No title

お忙しいところ、ご連絡ありがとうございます。
> たとえば特に大きな所だとアシスト側スキルの"飛ばし"条件が完全には分かっておりません。
>
> そのため
> >前提として、あるスキルをあるタイミングで使ったときに出るダメージ(の期待値)が 計算で求められる
> についても保証できない状態にあるという点だけご留意いただきたいです。
あくまで私は与えられた条件のもとで計算するだけですので、
その条件が正しいものかどうかは気にしません。

> もう一つ、スキルの組み合わせについて、その動作1ループがスキルいくつ分になるのか想像できないため何とも言えません。
> ちなみにシャドーは1周20スキル近くにまでなったので、私としてはあまり甘く判断出来ない所があります
それほど大掛かりなものになるとは思っていませんでした。申し訳ありません。
質問なのですが、例えばアルファの行動が1巡目と2巡目で異なるとすれば、
それは何によって起こるものなのでしょうか?

> また言葉としてそれぞれの処理は理解出来ても実際どんな形になるのかは見当も付きません。
私もただ定義しただけで、具体的な形はまだ描いていません。
適当にそれっぽいプログラムを書くだけなら5分もかかりませんので、
お困りでしたらご連絡ください。

また、計算部分でなくゼロの仕様の方で何か不明な点がありましたら、
私の出来る範囲で手伝いますので、遠慮無くおっしゃってください。

以上です。こちらこそ宜しくお願い致します。

No title

お疲れ様です。

1巡目と2巡目で行動が変わるパターンとして考えられるのは、
1巡目が終わった時点でアシストに合わせ待機を挟むより
本体に合わせたスキル回しをしていった方がより高いダメージ効率を出せる場合です。

もし仮に常にそれが起こっていく場合、
下手をすると1巡という括りそのものが出来なくなってしまう気がします。

ここまで情報が十全でない状況でご依頼する事に抵抗がありましたが、
うだうだ言わずにお任せした方がよいと思えてきました。
自分勝手で申し訳ありませんがここで一度、作成をお願いしても良いでしょうか。


imawo拝

Re: No title

こんにちは。

最初のコメントに
>逆にアシスト側が攻撃動作中の場合は切り替えを行えないため
とあったので、切り替えの際にアシストのための待機が発生することはないと思ったのですが
どうなのでしょうか?

>作成をお願いしても良いでしょうか。
はい。是非やらせてください。
現時点で作れるのは、本体・アシストのスキル発動回数と所要時間の組を出力するものです。
最大値を求めるのであれば、お手数ですが以下の情報をお願いします。
(分からないものについては仮のものでかまいません。いくらでも変更可能です)
・スキルを使ったときのダメージ計算式
 * ラピッドタイム等のパッシブの扱い
 * 各パッシブについて、アシストの攻撃に効くか効かないか
・想定するステータス及び敵ステータス
 (可変のものでもかまいません)

以上です。宜しくお願い致します。

No title

此方からお願いした事にも関わらず返信が滞ってしまい大変申し訳ありません。

プログラム、拝見させていただきました。
しかし重ね重ね申し訳ないのですが…、
私ではどういった計算が行われどういったものが算出されているのか理解できませんでした…。

いただいたご返信への回答ですが、
一つ目、ループパターンのお話については、自分自身がsugarsaltさんの算出方法を正しく理解出来ていないだけなのだと思います。
申し上げたかったのは、以下のような事です。

例えば1ループ目が終わった時点(最後のスキルを打った時点、或いはそのどちらかのディレイが終了した時点)というのは、スタート地点と全く同じではないはずです。
アシスト側、或いは本体側にディレイが残っている。
状況がスタート地点と違うのですから、それにより例えばループの最初のスキルを出すよりもより良い選択肢があるのではないかという事です。

恐らくこれに対する回答は、「その事態が発生している場合、それは"ループの最後"ではない」のだと思いました。
結局冒頭に申し上げた通り私が、スキルの組み合わせがどうやって算出されているかを理解出来ていない事に原因があるのでしょう。
お手を煩わせて申し訳ありませんでした。


次にご必要な値について、それぞれ具体的にどのようなものが必要なのでしょうか。
パッシブスキルは、カウント制のものは基本的にDPMの想定では途切れない事が分かったため常時最大でお願いします。
アシストには先日のコメント以外のものは基本的に効くものと考えておりますが、実際何故かアシストダメージのみ未だに数値が合わない部分があるため何とも言えません…。

ステータスについてはどのようにお伝えすれば良いでしょうか。
とりあえずスキル補正込で

■此方
Lv:200
熟練度:90%
A550 /S2781 /D564
上記からステータス:
α:77526.5~86140.6 / β:86204.8~105187.3
(あたりになると思います。)

攻撃速度:α2 /β5
総ダメージ合計:α396% /β446%
クリティカル率:α97% /β57%
クリティカル最大最小:α170%200% /β120%150%
防御率無視:10% /10% /10% /10% /15% /15% /15% /30% /(α50%)
(表記上それぞれα86% /β72%)
防御率減少:50%
無属性耐性無視:5%

■相手
Lv150 /防御率100% /ボス属性 /無属性耐性

を想定しています。
また可能であればディバインスイフト使用時、
βのASを-1し、αβのをA-20(攻撃力%は0)した際の計算も出来ればいただきたいです。

足りない情報があれば仰ってください。

最後になりますが、相手方に物事を頼んだ側であるにも関わらず投げっぱなしにしてしまった事について、
謝罪をさせてください。
これ以上失礼な事はないと自分でも理解しています、本当に申し訳ありません。

私が沈黙している間に、気づけば既に私の返信を待つだけの状態になってしまっていました。
このままこれ以上お手を煩わせない方が良いかとも考えましたが、
しかし既に骨子を作られている以上、いち早く求められた情報をお渡しするべきだと考え、
厚かましいとは思いながらもこのように返信をさせていただきました。

挽回する機会をいただければと思うのですが、ネット上での間柄ではそれも儘なりません。
そのためせめて、もう二度とこのような責任の持てない身の上でお願いをしない事を誓わせてください。
この度は本当に失礼いたしました。


imawo拝

Re: No title

>>imawo 様
こんにちは。
何かあったのではと心配していました。
私の趣味でやっていることですから、
そんなにお気になさらないでください。

>例えば1ループ目が終わった時点(最後のスキルを打った時点、或いはそのどちらかのディレイが終了した時点)というのは、スタート地点と全く同じではないはずです。
>アシスト側、或いは本体側にディレイが残っている。
>状況がスタート地点と違うのですから、それにより例えばループの最初のスキルを出すよりもより良い選択肢があるのではないかという事です。

私が考えている「1ループ」は、
「アルファのスキルの1つ目を使用する瞬間」から
「ベータの最後のスキルのディレイ(orアシストスキルのディレイ)がなくなる瞬間」までです。
予め使うスキルを固定して考えるので、
ある組合せにおいて、ループの最後で仮にもっと良い選択肢があったとしても、
それは別の組合せで考えられていることなので無視します。
(アルファ・ベータどちらでも使えるスキルも含めるのであれば、
プログラムを修正する必要があります。)

いま現在のプログラムでの「使うスキル」の決め方は、本文の方に載せておきます。

>パッシブスキルは、…(中略)…足りない情報があれば仰ってください。
このような形でいただけると誤解が生じないので助かります。
ダメージ計算を組み込んだらまたご連絡しますので、
そのときにそちらの計算と相違がないかお確かめください。

>最後になりますが、...(以下略)
元々期日の定まっていない話ですから、
ご返信をいただけさえすれば私は気にしません。

ただ、1つ言わせていただくと、
「お願いをしない事を誓う」というのは
私は快く思いませんでした。
なぜなら、それでは私からもお願いが出来なくなってしまいますので。

今後とも宜しくお願いします。

No title

メッセージ読ませていただきました。
自分の事すら儘ならない身ではありますが、
こちらこそ今後ともよろしくお願いさせてください。
必要とあらばいつでも微力を尽くす所存です。


そしてプログラムありがとうございます、お疲れ様です。
先日抜けていたβ攻撃力604も補完してくださったみたいで申し訳ありません。


…にしても、おかしいおかしいとは思っていましたが想像以上に強いですね。
正味3Gには届かない程度だと予想しておりました。
いくら不確定要素や十全に理想動作を行うための条件が厳しいとは言え、
如何なる状況においても火力面で平均を下回るという事はなさそうですね。
ここまでだと片側0種というのも見てみたい気すらします。


二点お聞きしたいのですが、
一点目はスローイングウエポンについて。
召喚スキル故グレートソードマスタリーやラピッドタイム等の総ダメージが乗らずクリティカルもない点が考慮されているか。

二点目はそれぞれのスキルのディレイです。
コンボになっているスキルにはそれぞれコンボ時のディレイカットがあるのですが、
その辺りも考慮されているかがお聞きしたいです。
それとこれはついでですがディレイ情報のソースがあればそれについても伺いたいです…!


imawo拝

Re: No title

ご連絡ありがとうございます。

> 一点目はスローイングウエポンについて。
> 召喚スキル故グレートソードマスタリーやラピッドタイム等の総ダメージが乗らずクリティカルもない点が考慮されているか。
考慮していません。総ダメージ100%として処理して良いということでしょうか?

> コンボになっているスキルにはそれぞれコンボ時のディレイカットがあるのですが、
> その辺りも考慮されているかがお聞きしたいです。
ディレイカットなるものは初耳ですので全くもって考慮していません。
とりあえずスキルのAS補正後のディレイも表示されるようにしますので
修正が必要なところがありましたら教えて下さい。

> それとこれはついでですがディレイ情報のソースがあればそれについても伺いたいです…!
ゼロのディレイは下記URLに載っているものをそのまま使いました。
http://www.southperry.net/showthread.php?t=70939&title=GMS%20v144%20-%20Zero

以上です。よろしくお願いします。

No title

お返事ありがとうございます。

召喚スキルにはパッシブで正規の形(indieDamR)の?総ダメージしかカウントされないみたいなんです。
今回お渡ししたデータの中で言うと、
カンナリンク10%、アヴェンジャーリンク10%、リザルブタイム30%がそれにあたります。
また召喚スキルは防御率の計算もされません。


次にディレイカット(addAttack/skipActionFrame)についてですが、長い話になります。
先に結論を申し上げますと、間違っている事は確かですが正しい値を提示できません。


まずaddAttack/skipActionFrameの基礎知識として同じくサウスペリの
http://www.southperry.net/showthread.php?t=58415
記事を載せておきます。

要約すると、『スキルのモーション中の当該フレーム以降
連鎖に指定されたスキルを割り込んで発動可能
結果としてディレイが減少する』というものです。
…要約出来ませんでした。

もう少し詳しい話をすると(上記記事の[Technical Information]の方が分かりやすいかもしれませんが)、
スキルのファイルにはそれぞれのモーションとそのディレイ(所要時間)が記述されています。

例えばハヤトの三連斬・疾の1段目ですと、
(上記記事より抜粋・編集修正)
------------------------------------------------------------
kenjiSwing1/0/frame 0
kenjiSwing1/0/action swingO1
kenjiSwing1/0/delay -30

kenjiSwing1/1/frame 1
kenjiSwing1/1/action swingO3
kenjiSwing1/1/delay -90

kenjiSwing1/2/frame 2
kenjiSwing1/2/action swingO1
kenjiSwing1/2/delay 120

kenjiSwing1/3/frame 3
kenjiSwing1/3/action swingO3
kenjiSwing1/3/delay 60

kenjiSwing1/4/frame 4
kenjiSwing1/4/action swingO3
kenjiSwing1/4/delay 60

skill/41001000/addAttack/skipActionFrame 4
skill/41001000/addAttack/skillPlus/ 41001002(恐らく三連斬・疾の2段目のスキルID)
------------------------------------------------------------
という感じになっています。
見ての通り、直接クライアントデータを読み取る方法がないと目にする事が出来ません。

これを読み解くと、三連斬・疾のディレイは30+90+120+60+60の360ms
しかしskipActionFrame 4が設定されているので最後の60msは飛ばせます。

といってもFrame4が始まった時点からキー入力の受付が始まり、
最速で入力したとしてもメイプル内時間最低単位の30ms分取られるので
減少するのは60ms-30msで30ms分のみです。
(ちなみにゼロは先行入力が出来る?のか、何故かこの30msのロスがありません)


もう一つ注意事項として、我々には単一スキルに見えてもaddAttack/isAutoにより、
内部では複数のスキルが発動しているものが存在します。
例えばアドバンスドアースブレイクの衝撃波などがそうで、
本攻撃にaddAttack/isAutoが付いており、
skipActionFrameで設定されたフレーム時に自動で衝撃波のスキルを発動します。


…などなど面倒な仕様が色々あります。

先述の通り我々にはこの値を見る事が出来ませんが、
親切なことに先ほどのサウスペリのZeroスキルページには連鎖をした場合のスキルディレイ、
"Chained Delay"がそれぞれにスキルに載っています。

しかし此方にも一つ問題がありまして、このChained Delayは誤ったものになっています。
まずChained Delayとして算出されるべきは、
上記の通りskipActionFrameに設定されたフレームの手前までのディレイを合計したものになります。

ですが現在の2代目管理人Locked氏はその仕様を理解しておらず、
記事上のChained DelayはskipActionFrameに設定されたディレイまでを加算してしまっており、
また我々には誤って足してしまったディレイがいくつか知る術がない以上、
この記事のChained Delayは役に立ちません。
先日ディレイのソースについてお伺いしたのはそのためです。


長々と申し訳ありませんがこんな感じになっています。


imawo拝

Re: No title

ご連絡ありがとうございます。
ディレイカットについてはおおよそ分かりました。

今のところ、プログラムでDPMを求める上で以下の2つの問題があります。
(1) カット後のディレイが分からない
(2) アシストが発生しない条件が分からない

(2)は先ほどディレイカットを調べたときに分かったことで、
簡単に言えば私が今まで勘違いをしていたということです。
現在のプログラムは、
(アシストのディレイ) - (本体のディレイ) > 0
であれば、差の分だけ待機しないと次の攻撃のアシストが
発生しないという仮定で計算していますが、
実際はそうではありませんでした。

もしimawo様が(2)について明確な条件をご存知ないのであれば、
(1)と合わせて、実際にスキルを使って検証するのが
確実と思われます。

とりあえずは以上です。
宜しくお願いいたします。

No title

お疲れ様です。

まず(1)に関して、歯切れ氏とともに多少調べて参りました。
撮影して測ったので誤差はあるかもしれませんが、おおよそ正しいと思われます。
またオートチェインの攻撃(剣気や衝撃波出すタイプ)は
スキルチェインを使用しない場合でもこの値となるので今一度ご確認ください。

■α
ムーンストライク 420ms
ピアススラスト 480ms
シャドーストライク 360ms(ワープ)+300ms(本体)+90(blade)

フラッシュアサルト 360ms
Aスピンカッター 360ms+90ms

ローリングカーブ 1260ms
Aローリングアサルター 1260ms

ウインドカッター 540ms
ウインドストライク 630ms
Aストームブレイク 900ms


■β
アッパースラッシュ 510ms
Aパワースタンプ 750ms(720ms?微妙にズレる事あり)

フロントスラッシュ 600ms
Aスローイングウェポン 480ms

ターニングドライブ 480ms
ホイールウインド 120ms*x

ギガクラッシュ 720ms
ジャンピングクラッシュ 390ms+衝撃波270ms
Aアースブレイク 840ms+衝撃波510ms


(2)に関しては、把握出来ていない要素が多すぎて
それだけではどれが関与しているものか分かりません。

考え得るのは私が最初のコメントにて言及した

>○アシスト
>  受付時間は切り替えから2.59秒まで
>  既にアシスト攻撃動作中の場合は
>  その動作が終わるまで新たなアシスト攻撃は受け付けない

この辺りの日本語が正しくない事が原因でしょうか。

正しく記述しなおしますと、
"アシストの攻撃動作中、新たに本体がアシスト対応攻撃行動をとった場合、
アシスト側に『アシスト行動予約』が入る。
アシスト側は現在の攻撃動作が終わり次第、予約にある行動をとる。
行動予約には最新のもの1つしか記録されず、常に上書きされる。"

という感じです。

此方も仕様の検証からして手探りの状態なので心許ない受け答えとなってしまいます。
申し訳ありません。


imawo拝

Re: No title

>>imawo 様
お疲れ様です。

プログラムを作るにあたって、次の3点をどのようにするか
決めていただけると助かります。
(1) アシスト行動予約が入ったら「アシスト受付時間」を超えた後でもアシストは発動するか
(2) アシストにディレイカットはあるか(特にオートチェインのもの)
(3) ホイールウィンドの扱いをどうするか(本体での発動、アシストでの発動ともに)
 
どうしても決めかねる場合は、どちらにでも対応できる形にします。

宜しくお願いいたします。

No title

お返事ありがとうございます。

(1)についてはしないと思います。
ただし受付時間が厳密にいつまでなのかという点、
また前の行動終了から次の予約行動開始までのインターバルが
この受付判定の前後どちらにあるか等については分かりません。

(2)ですが、オートチェインに関してはあるようですが他は全く分かりません。
何度測っても誤差が生じたり、どんな仮説にも当てはまらないなど
シート作成が困難だった理由の一つです。
ただ先述の通りどうやら2つのアシスト行動の合間に
アシストが棒立ちしている時間が100~200msほどあるようです。

(3)に関して、まずホイールウィンドはアシスト側での発動機会はありません。
扱いについてはプログラムがどういうものになっているか
理解が及ばないため上手く言えませんが、
例えばホイールウィンドをホイールウィンド1回、ホイールウィンド2回、
~…~同最大回数、までを用意するなどするのは如何でしょうか。
いずれにせよあまり強いスキルではないため、
最適行動には出てこない可能性が高い事を考えると、
作りやすいようにしていだたいて構わないと思います。

よろしくお願いします。


imawo拝

Re: No title

お世話になっております。

いただいた情報を元に、ぼちぼちプログラムを修正していきます。
不明な点が出てきたらこちらでも出来る限り検証を行う予定です。
新たなことが分かったら共有できると助かります。

よろしくお願いします。

No title

すみません、長くなってしまうのでこちらへ。

1.移動系スキル(フラアサ +ローリングカーブorアサルター)について
  連続発動する場合にのみディレイが発生します

  またアシストの場合も同じく(発動時点から)待機時間が発生し、
   解決前に次のアシスト予約が入った場合、待機時間中のスキルは飛ばされます
    フラアサ750ms/ローリング系1700ms


2.上記移動系スキルとシャドーストライクのワープ中にはタッグ切り替えが出来ません


3.剣気系のSkipActionFrame(以後SAF)では、スキルディレイが減少しません


 3-1.シャドーストライクのディレイはSAFで減少しない他、
    攻撃ディレイの前にワープのディレイが別途にあり、360ms(ワープ)+660ms(攻撃)となります
    ワープ/攻撃で分かれており、それぞれASの影響を受けます
     剣気発動のSAFは攻撃ディレイ部分にのみ掛かります


 3-2.AスピンカッターのディレイはSAFで減少せず810msのようです
  剣気出るタイミングはSAF込みでの現在ディレイ値の450msです


4.シャドーストライク、Aスピンカッター、Aアースブレイクは、SAFでディレイが減少しませんが、
  剣気(衝撃波)はそのタイミングで出現するため、
  剣気発動前にタッグ切り替えを行うと剣気(衝撃波)が出ません

  なおAアースブレイクの電気域召喚、パワースタンプの追加攻撃については問題なく発動します


 後から後からで修正点を挙げる事になってしまい申し訳ありません

 また修正案についても考えが及びません

 ただご返信にもあった1.については、
 ディレイが別個に設定されているため、単純に除外だけは上手くいかないのではないかと思いました


 新生活も始まりお忙しいとは思いますが、何卒よろしくお願いします

Re: No title

>> imawo 様
コメントありがとうございます。

ここまで調べていただいて申し訳ないのですが、
今すぐに修正できないものも含まれていますので、
少々お時間をいただくことになると思います。
最短で次の土日、長くて来週の日曜あたりになると思います。

また他に修正する点やご要望などありましたらお気軽に仰ってください。
よろしくお願いいたします。

No title

ありがとうございます。

1~2週間と言わず、新生活が体に馴染むまで…くらいの範囲で見ていただいて構いません。
唯でさえ忙しい時期に重ねて無理を言う此方が全面的に悪いです、本当に頭が上がりません。

此方でももう後から修正点が出てこないよう、いくつかの攻撃パターンで検証をしてみます。
本当に申し訳ありませんが、宜しくお願い致します。

Re: No title

>>imawo様
返信が遅れ申し訳ありません。
修正に当たり分からない点がありましたので質問します。

まず、すべてのスキルについて、
カット前のディレイとカット後のディレイを教えて下さい。
現在のシミュレータは以下のようになっています。

■アルファ
ムーンストライク:510 → 420
ピアススラスト:660 → 480
シャドーストライク:360 + 300 + 90
フラッシュアサルト:450 → 360
Aスピンカッター:360 + 90
ローリングカーブ:1260
Aローリングアサルター:1260
ウインドカッター:720 → 540
ウインドストライク:810 → 630
Aストームブレイク:900

■ベータ
アッパースラッシュ:930 → 510
Aパワースタンプ:750
フロントスラッシュ:840 → 600
Aスローイングウェポン:480
ターニングドライブ:720 → 480
Aホイールウィンド:120*x
ギガクラッシュ:840 → 720
ジャンピングクラッシュ:390 + 270
Aアースブレイク:1560

また、シャドーストライク、Aスピンカッター、Aアースブレイクについては、
タッグ切り替えによって剣気(衝撃波)をカットした場合のディレイを、
さらに、もし必要ならば、シャドーストライク、Aスピンカッターについて、
アルファの他のスキル使用によって剣気をカットした場合のディレイも
併記していただけると助かります。

対応が遅い上に今更こんな質問をして申し訳ありません。
以上、よろしくお願いいたします。

No title

お待たせして申し訳ありません、要請のあったディレイを調べて参りました。
それに加えて前回此方から申し上げたご報告についていくつか訂正させてください。


まず前回の
>3.剣気系のSkipActionFrame(以後SAF)では、スキルディレイが減少しません
について訂正です。


これは誤りでした。正しくは

『剣気系発動タイミングで他のスキルキーを押しっぱなしにしていると
剣気系スキルが発動せず、その剣気との連携によるスキルディレイの減少が発生しません』

となります。
徒に混乱を招いて申し訳ありませんでした。



次に
>4.シャドーストライク、Aスピンカッター、Aアースブレイクは、SAFでディレイが減少しませんが、
>  剣気(衝撃波)はそのタイミングで出現するため、
>  剣気発動前にタッグ切り替えを行うと剣気(衝撃波)が出ません

についても訂正します。
正しくは上述の通りです。

また衝撃波発生後は最速(発動後30ms)でタッグ等も可能なため、
本当の最適行動は『~~使用後~~msでタッグ』というような非現実的なものになるかもしれません。
出来ればそのような実現の難しいパターンを除外するモードも用意していただけると助かります。



以下はディレイになります。
ご不明な点がありましたらまたご連絡ください。

一つだけご注意点として、剣気(衝撃波)系の扱いについて申し上げます。
以前お話ししたかもしれませんが、
内部では「攻撃本体の使用後自動で剣気スキルを連携発動する」という処理が行われております。

またアルファのローリング系統に関してはこれに合致しない結果が出たため、別途捕捉に説明を入れてあります。
一応掲載しましたが「壁際使用による移動キャンセル」については考慮しなくてよいと思います。



単体ディレイ 連携ディレイ 捕捉
■アルファ
ムーンストライク 510 420
ピアススラスト 660 480
シャドーストライク 360+660 360+300 ワープ(360)と攻撃(660/連携で300)でディレイが分かれている
シャドーストライクFA 90 - 他スキルおしっぱで衝撃波キャンセル
フラッシュアサルト 630 360
アドバンスドスピンカッター 840 360
アドバンスドスピンカッター剣撃 90 - 他スキルおしっぱで衝撃波キャンセル
アドバンスドローリングカーブ 1260 (960) 剣撃へ連携判定なし?(剣撃ディレイは考えなくて良い)、壁際で移動キャンセルしない限りアサルター連携は960ms固定(移動終了後)以降から、タッグは990ms固定から
アドバンスドローリングカーブ剣撃 (30) - 発生は300ms固定、壁で移動キャンセル時は30ms(上記スキル使用後即)発動
アドバンスドローリングアサルター 1260 (90) 剣撃へ連携判定なし?(剣撃ディレイは考えなくて良い)、タッグは600ms固定から
アドバンスドローリングアサルター剣撃 (30) - 発生は480ms固定、壁で移動キャンセル時は30ms(上記スキル使用後即)発動
ウインドカッター 720 540
ウインドストライク 810 630
アドバンスドストームブレイク 900 -


■ベータ
アッパースラッシュ 930 510 AS5では何故か870ms
アドバンスドパワースタンプ 750 - 衝撃波はFA扱い
アドバンスドパワースタンプ:ファイナルアタック - - FA扱いなのでタッグしようと何しようといつでも発動、しゃがむと発動しない
フロントスラッシュ 840 600
アドバンスドスローイングウェポン 480 - 召喚なのでAS無視
ターニングドライブ 720 480
アドバンスドホイールウィンド 120x

ギガクラッシュ 840 720 -
ジャンピングクラッシュ 870 390
ジャンピングクラッシュ衝撃波 270 270 他スキルおしっぱで衝撃波キャンセル
アドバンスドアースブレイク 1560 840
アドバンスドアースブレイク衝撃波 513(540) - 他スキルおしっぱで衝撃波キャンセル、データ上は513msだが30ms単位で丸められるため540ms


ゼロに関しては常に探り探りになってしまい、
また検証を行う度に今までの論と整合性の取れない事象が見つかってしまうため、中々上手く行きません。
今回もアルファのローリング系統に関しては、一体何を以ってそうなっているのかが分からず、
発生した事象をそのまま文字にするのが限界でした。
中途半端な仕事のままお引き渡ししてしまう事をお許し下さい。
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。