黒往生Exに対する不満点(移植度は除く)。

まぁ、タイトルで言いたいことは、半分ぐらい言ってたりするんだわな。
で、プレイを始めてから、不満点というか、不具合に関する部分とか。

既出分。

これは、3/9でネタに使ってるので、そっちを見てもらうのが早いか。
けど、メニューの完成度の低さだけは……
移植作を、その原作ゲームの認知度を高めるための方策と考えているにしては、お粗末だと言わざるを得ないような。


でも、本題もそのままにすると長くなるんで、折ることに。

こっから本題。

とりあえず報告では、優先順位を上げる方が重要と思われる案件から報告したんだけど、こっちでは、低い順に。

エクステンド判定にタイムラグがある

マキシマム状態やコンボ継続中の場合は目立たないんだけど、ステージリザルトや、道中でも加点処理が空白になる*1タイミングで蜂を取ってしまった場合などで、認識してしまうタイムラグ。
スコア自体は、エクステンドを越えているのに、エクステンドチャイムが鳴らず、残機数も増えていない、という状況が発生する。
挙動から、加点処理ルーチンでは、スコアに加算されるよりも早くエクステンド判定が行われているから、と考えるほか無い。

1回の加点処理では、10点〜10億-10点までの点数しか加算できない。

これは、前に「8桁ロールオーバー」または「10億ロールオーバー」と呼んだ現象。
どういう現象なのか、ってのは前に書いたと思うから、今回は、なら、それは原作では影響しなかったのか、って方向から。
まず、最大1億*2という実処理得点だけど、瞬間最大得点となるだろう蜂アイテムの得点で考えると、黒往生にせよ、白往生にせよ、蜂アイテムの最大素点は、2-5、つまり、二周目の五面まで全ての面で蜂パーフェクトを成立させた場合の、2-5最後の蜂での2万((蜂パーフェクト成立回数9+1)×1000×2)点。なので、実処理時の素点は、この10%である2000となる。
で、この2000で、1億を割ってみると、5万という係数が導出される。この係数5万というのが、蜂アイテム取得時で、ロールオーバーを発生させるための最小Hit数*3って事になる。
ところが、この5面で全繋ぎを成立させたとしても、Hit数をのばしやすいだろう黒往生でも4000hit。全然程遠い数字だったりするので、このロールオーバーという現象とはまったく無縁になるわけだ。
なら、GPSでの影響はどうか、って言うと、この4000hitで1億という数字を割ると、今度は一機平均2万5千という数字が算出される。ここで計算したのは、実処理時の点数なので、表示上での得点なら一機平均25万点が、GPSでの累計素点でロールオーバーを発生させるための最低素点と言うことになる。が、実際に設定されている素点には、一万点を超えるものは無い。
よって、この1億ロールオーバーという仕様は、スコア的に一切影響を与えない「そんな仕様もあったんだ」程度でカタがつく。


ところが、Xモードでは、弾を消すことでもHitカウンタが回り*4、それだけでなく、蜂アイテムの素点も、原作の100倍となる。そのために、一周しかできないとは言え、このモードでの蜂アイテムの最大素点は、五面最後の蜂でオールパーフェクト成立の100万((蜂パーフェクト成立回数4+1)×100000×2)点と、原作の50倍をマークすることになる。そのため、左記では5万という係数も、こちらでは、その1/50の1000というかなり小さい係数になってしまう。それ以外にも、左記の条件から五面道中時の蜂アイテムの素点は、50万点。境界係数は、2000と導出できる。
ところが、5面というのは最終防衛戦も兼ねているために、めったやたらに弾をばら撒く敵が多い。このために、ただでさえ回りやすいXモードのHitカウンタが、ぐるぐる回ることになり、生存優先でも2000hitを越えることは造作もないことになってしまう。
稼ぎに走るつもりがなくても、蜂アイテムの得点が、大赤字になって「にょろーん」と言いたい気分になってしまうと、そんなところ。
その対策を取るとするなら……加点処理を拡張する*5他ないんだけども……
蜂アイテムの点数計算などの処理が、どのように行われているのか、知るよしもない一プレイヤーには、どこまでその拡張による影響が及ぶのかが、想像付かなかったりもする。
けども、蜂アイテムの得点が、符号無し32bitバイナリで計算されているのなら、オーバーフローは無いかな。
ただ、このバイナリ値から、パックドBCDに変換する際に、48bit長にするか、64bit長にするか、ってところなのか。

リプレイの異常再生……

潰していなかった要素を提示されたんで、それを潰すために、余りHDDを引っ張り出して、メモリカードにタグを入れて、追試。


リプレイがないことを確認し、白A-Lのリーダーボードから自分のリプレイデータをDL。
……やっぱり、自分で登録したリプレイは、序盤で70hit行く前に途切れるとか、1面中ボス突破してる、と言う状況。
70hit行く前に途切れるのがおかしいんじゃないのか? とか言われそうだけど……
そのプレイを撮ったとき、実際にそういう動きをしてたんだから仕方ないじゃないか!
って事で、正常再生された、って話。
なんだけど、やっぱり、xA-Sのトップスコアのリプレイをダウンしてきて、再生させてみたら……

      _ _  ξ
    (´   `ヽ、
  ⊂,_と(    )⊃

いや、正直言えば、再生できて欲しかった……
大騒ぎしてるのが、ばかばかしくなるぐらいに。
やっぱり示す挙動は、同じ。小刻みに左に移動し、ボム連打。


で、ここまでの実験で結果をまとめると、

DL個体
個体A個体B
UL個体個体A
個体B×*6

となるか、

DLゲーマータグ
ゲーマータグAゲーマータグB
UL
ゲーマータグ
ゲーマータグA
ゲーマータグB×*7

となるような印象。
まぁ、ここまでは追い込んだんだけど……唯一残ってる「?」をつぶせなかったのがね。
タグは、左に張ってあるゲーマータグのままなんで、誰かDLして実験したら報告してほしいなぁ、とかなんとか。


ちなみに、リプレイに記録されている時間の長短は関係ないのか、って事になると、関係ないと判断するしかないような気がするんだわな。xA-Sのトップスコアも、おいらが1-2面で終わったへっぽこリプレイも、ダッシュボードで表示されるファイルのサイズが600kで同じだったもんでね。


とは言え……なぁ……
リプレイファイルに、実際にプレイしたプレイヤーのタグが記録されていないからなのか他人のリプレイでも、自分のタグとして表示されるんだよな……
これをなんとかするだけで、リプレイ再生できるようになとかなって欲しいんだけど。
どうなるんだろうな……この辺りは。


そんな話。うん。
10億ロールオーバーは、仕様で割り切られても文句は言わんが、リプレイの再生異常だけは、改善されんとXBox360で有る必要性が無いような気がしてくるんだわな。リーダーボードでのスコアランキングってだけでは。
メーカー側にイニシャルコストって意味で、意味があるのかも知れんが、それはプレイヤー側には関係のない話だし。
はぁ……

*1:GPケージは残っているが、コンボが発生しない

*2:実処理得点では、最後に『点』をつけず、表示得点では、最後に『点』をつけることで区別する。

*3:蜂アイテムの取得点は、素点×Hit数。

*4:それ以外にも、攻撃の当て方でHitカウンタがより早く回る。

*5:具体的には、32bit符号無しバイナリ形式整数値を、一旦、1億で除算して、商と余りを導出。それぞれを32bit符号無しパックドBCD形式整数値に変換して、実質64bit長符号無しパックドBCD形式数値にして、加点処理にパラメータとして受け渡す。このように変更すれば、最大43億弱まではロールオーバーを起こすことなく計算することが可能になる。

*6:個体認証が一致するなら、再生可能。

*7:タグが一致した場合は、再生可能。