東方妖々夢 小ネタ

注:このページに書かれている内容が絶対に正しいという保証はできません。
  掲載された情報に基づいて損害を被ったとしても、当方はいかなる責任を負うものではありません。

●ボスの誘導
●点符取得時の得点
●予告線被弾
●ショット威力
●桜点の上がりやすさ
●霊符の謎仕様
●効率のいいショットの当て方
●桜点上昇値表

●ボスの誘導

ボスの大半の形態では、ボスは移動の際基本的に自機のいる方向に動きます。
しかし時々よく分からない挙動をしますので仕様を解き明かしていきましょう。

1.基本

ボスは形態突入時にまず画面内で移動可能な範囲を設定します。
ボスはこの範囲内から外に移動する事はできません。
下の画像の赤い部分がそれに相当します。
移動可能範囲

ボスが移動するフレームになると、まずボスは移動する角度を自機方向の水平±45度の範囲からランダムに決めます。

次に、ボスの現在位置が移動可能範囲の境界に近い場合、境界から離れる移動になるように角度を反転させます。
具体的には以下の順番で判定し処理します。ある反転が実行されても後の判定・処理が飛ばされたりはしません。
①角度が左向きで境界の左側に近い場合、角度を左右反転
②角度が右向きで境界の右側に近い場合、角度を左右反転
③角度が上向きで境界の上側に近い場合、角度を上下反転
④角度が下向きで境界の下側に近い場合、角度を上下反転
また、境界に近いと判定される境界からの距離は、横方向なら96、縦方向なら48になります。

角度が確定したら移動に要するフレーム数Tと移動速度v、そして移動の仕方を表す関数f(t)(0<=t<=T)を設定します。
fはf(0)=0、f(T)=1を満たす関数で、二次関数だったり三次関数だったり約6種類あります。
移動時、ボスはtフレーム目に角度方向に「Tv(f(t)-f(t-1))」の距離だけ動きます。
(つまり、大抵の移動は等速直線運動ではありません)
もし動いた後の位置が移動可能範囲の境界を越えていたら、縦または横方向に境界まで戻します。

2.移動可能範囲が狭い場合

上で境界に近いと判定される境界からの範囲の画像をあえて載せませんでしたが、それは範囲が重なると混乱させてしまうからです。
ボスを誘導できるほとんどの形態では、以下の画像のように上下の範囲が重なっています。
↑黄色い部分が重なっている

範囲が重なっている位置にボスがいると何が起きるかというと、もし角度が上向きの場合、判定③で上下反転して下向きになりますが、さらに判定④でも上下反転して結局上向きに戻ります。
つまり上移動が発生しやすい事になります。
左右に関しても範囲の幅が192未満なら同様の現象が発生し、左移動が発生しやすくなります。
移動可能範囲が狭すぎる例

3.バグ

実は角度の判定②にはバグが存在し、角度が右上向きの場合なぜか処理後の角度が「180度-前回の移動時の最終角度」になります(「180度-角度」なら正しく左右反転になる)。
最終角度と書いたのは、前回の移動の途中でもし境界にぶつかった場合、最終角度が「境界を無視した場合の移動後の位置」と「実際の移動後の位置」を結んだ直線の角度になるためです。

実際移動時に境界にぶつかる可能性ですが、前述の通り上下の範囲が狭く判定③と④を同時に満たす範囲にいると上向きに移動するため、結構な形態で上の境界にぶつかる動きをします(アリスの通1や通3など)。
上の境界にぶつかると最終角度はほぼ真上(-90度)になりますから、処理後の角度はほぼ270度になります。
(実際は1フレーム分だけ270度からずれます)

一方、このゲームの仕様では角度は-180度~180度の範囲をとるものとされており、判定③で上向きと判定される条件は角度が負である事であり、判定④で下向きと判定される条件は角度が正である事です(座標軸は上下が反転している)。

ゆえに、前回の移動時の最終角度が負の場合に画面右にいるボスを右誘導しようとし、ランダム角度が右上方向だった場合、まず判定②の後に角度が180度よりも大きくなり上向きになります。そして判定③では角度が正であるために条件を満たさず上下反転は発生しなくなります。

以上の事から、ボスを右に誘導し続けて右上移動で上の境界にぶつかった時に、さらに右誘導しようとしてランダム角度が上向きだったら、判定後の角度はほぼ真上(270度)になり、ボスは移動しようとしてもすでに上の境界にいるためまったく動けなくなります。
これがボスが時々移動しない現象の正体です(境界にぶつからなければそれほど変な挙動にはなりません)。
上下真ん中にいるが絶対に上へ行く
境界にぶつかって最後水平移動になり、最終角度は垂直になる
ランダム右上を引くとバグにより真上移動しようとして動けない

このバグの回避手段としては、ボスに重なる時はボスの左側を取るようにする事や、左右どちらに誘導してもよい場面では左に誘導するようにする事が挙げられます。

●点符取得時の得点

・ゲーム画面について
 画面サイズ:横384×縦448
 上部回収ライン:霊夢128.0、魔理沙156.0、咲夜128.0
 (y座標は画面の上を0、下を448とする)
・点符の得点
 取得時のアイテムのy座標が基準。自機の座標は影響しない。
 ①上部回収[Int(アイテムy座標-上部回収ライン)が0以下]の時、または結界による自動回収時
  得点 = Max(桜点,50000)
 ②下部回収[Int(アイテムy座標-上部回収ライン)が1以上]の時
  得点 = 50000-Int(アイテムy座標-上部回収ライン)*100+Max(桜点-50000,0)/5
 ※①上部回収の場合でも、アイテムy座標>上部回収ラインなら得点の表示色は白になる

●予告線被弾



ちなみに他のレーザーでも予告線被弾は同じ原理で発生します。
某トッププレーヤーがとある大会中に八部咲で遭遇してしまった事もあり、
決して無視できない現象なのです。

<他レーザーでも予告線被弾するの図>


●ショット威力

注:このトピックでは、特に魔理沙について正確でない可能性が高いです。
  魔符の爆風や恋符レーザーの持続は別カウントと思われます。
霊符高速 霊符低速 夢符高速 夢符低速 魔符高速 魔符低速 恋符高速 恋符低速 幻符高速 幻符低速 時符高速 時符低速
検証:パワー最大で敵に密着して全部のショットが発射と同時に当たったと仮定した場合の、
   60フレーム間の威力を計算。
威力の単純合計 キャップ含合計
機体 高速 低速 高速 低速
霊符 1,552 1,432 960 968
夢符 2,328 1,632 1,608 1,524
魔符 1,336 1,172 1,240 1,136
恋符 900 608 846 608
幻符 1,296 1,168 792 1,120
時符 2,084 2,156 1,480 1,480
   高速の方が単純な火力は出ていますが、キャップのおかげで結果的に低速の方が強くなっています。
   また、高速はショットが全部当たらない場合が多く、さらに威力は下がるものとみられます。
   当然、敵から離れればショットごとに速度が違うため、キャップの影響も変わってきます。

●桜点の上がりやすさ

ダメージに対する桜点上昇値の計算式は以下の通りです。

ダメージ÷ステージ係数×10
※1の位以下切り捨て
※ステージ係数
Stage1 Stage2 Stage3 Stage4 Stage5 Stage6 Ex Ph
道中高速 Or ボス低速 28 26 24 22 20 20 20 20
ボス高速 10 9 8 8 7 7 7 7

スペルカード中は桜点上昇値計算後にダメージが1/7倍されます(1~6の場合は1)。
また、桜点上昇値の計算結果が0でもダメージが>0だった場合、桜点は10上昇します。

ただし、ダメージ・桜点上昇値ともに70を超えた分はカットされます。
桜効率の機体差は、上記計算式の割り算余り切り捨て、ダメージ上限、およびボス無敵時間に撃ち込める量によるものです。
魔符のミサイル爆風はダメージが1なので、すさまじい桜効率になります。

●霊符の謎仕様

自機が霊符の場合、以下の現象が発生します。

桜点上昇値はダメージ減少前のダメージ量で決まるので、桜効率が良くなるととれるかもしれません。

●効率のいいショットの当て方

下の桜点上昇値表を見てもらえれば分かりますが、
例えば5面以降のスペカ時の高速ショットの場合、ダメージ56以上で桜効率が落ちます。
ボスに密着しすぎると1フレーム内にたくさんの弾が命中して大ダメージを与えてしまいます。
密着しなくても、メインショットの威力が高い機体は要注意です。

夢符で考えると、針が5本当たる位置にいた場合それぞれの針の速度は異なるのですが、
ダメージが66になるフレームが一定周期で存在してしまうので、桜効率だけ考えると
無敵時間中はボスにある程度密着して撃ち込み、無敵時間が終わったら
下がってボスの真正面から少し外れた所から打ち込むことになるでしょう。

時符でも、メインショットの威力が100超と非常に高く設定されています。
ということはボスの真下にいるとダメージ:桜 = 1:1になることが多く、
桜効率が悪くなります。

いっぽう幻符はそんなこと気にする必要がないので神機体ですぞwww (密着しすぎるとダメらしい)

応用として、サブショットを1本のみ当て続けることでボスの体力をほぼ正確に割り出すこともできます。

●桜点上昇値表