FC2ブログ
10 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 12

完成、与ダメージ計算式! 





与ダメージ計算できるやつをつくったよー(^o^)ノ






┼目次(各段落をクリックでその場所までスクロール。忙しい人にはまとめがオススメ!


◆ 公開…の前に   1 out of 5 Paragraphs of this entry.
                         

非常に月並みになってしまうんですが、まず今までの検証に協力して下さった方にお礼を言わせて下さい。

この記事が投稿されている「与ダメージ計算について」というテーマから遡り、
ブログを始めた約2年前から、与ダメージの謎を明かすために様々な検証をし、記事を書いてきました。
検証自体に協力してくださった方から、ブログに貴重なコメントを残してくださった方、検証動画を上げてくださった方、
セカンドWikiに情報を反映してくださった方、一人一人の力があってここまで辿り着くことができました。

決して言い過ぎや大袈裟ではないと思っています。本当にありがとうございます。


そして与ダメージ計算を追究するにあたって、初期に式の原型を導き出したNさん(伏せてるわけじゃないよ!)、
セカンドWikiの管理人であり同サイトに与ダメージスクリプトを作成した先駆者でもある伏流さん、
このお二方が僕を含める多くのユーザーのバトオペライフに大きく寄与したことは言うまでもありません。ありがとうございます。


最後になりますが、いつもブログを見てくださっている方にも感謝の言葉を。
好きなことを好きなように調べて、分かったことを共有したいと続けてきたブログですが、僕も人の子なので反響を気にします。
その時にブログを見てくださる方、コメントを下さる方の力は非常に大きな力になりました。感謝しています。



最盛期を過ぎたオンラインゲームの零細ブログですが、続けてきて良かったと思います。
改めて皆さん本当にありがとうございました!







でも終わらねぇよ!?



これから性懲りもなくバトオペをプレイしていくつもりですのでよろしくデス!
まだまだ調べてないこと沢山あってさ…なんだよシールド補正って…本当なんだよ、やめてくれマジで…
やっぱ終わるかもしんない



◆ 与ダメージ計算スクリプト Ver.Co   2 out of 5 Paragraphs of this entry.
                         

閑話休題。


さて、いよいよお披露目となります。
この度完成したダメージを計算できるスクリプト、その名も与ダメージ計算スクリプト Ver.Co
そのまんまだ

”Co”は勿論僕の名前のかしらm… え?自己主張が激しい? いやいや、ちょっと待って下さい。





この間スクリプトの名前をtwitterでアンケートしたんですよ。
非常に沢山の投票があって嬉しかったです。これも僕の人徳かなー。徳積み過ぎたかなー。ちょっと徳減量しないとなー。

2つの候補を用意しどちらが相応しいか選んでもらったところ、この名前が多数に支持されました。
選択肢を用意したのは僕ですが、投票したのは皆さんですし、その結果選ばれた名称なのでこの名前は民意です!
だから名前がダサいとか、僕がダサいとか言うのははなはだお角違いですよ、反省してください。



え…? どっちもダサかったから投票してない…?



◆ 使い方   3 out of 5 Paragraphs of this entry.
                         

閑話休題。(2度目)


茶番が長くてすみません、真面目にやりましょう。完成したスクリプトのURLはこちらになります。



与ダメージ計算スクリプト Ver.Co



※ 注意 ※
この計算機はjavascriptで動作しています。使用する際はjavascriptが有効な環境でページを開いて下さい。
なお環境はPC、OSはWindows Vista以降のバージョン、ブラウザはGoogle Chromeを強く推奨します。
スマートフォンでも不都合がなければ計算可能ですが、画面が小さい、広告が邪魔などの理由で計算しにくいかもしれません。
またできれば1280×720以上の解像度のディスプレイでご覧ください。



それでは使い方を説明していきたいと思います。

まず与ダメージ計算式に最低限必要となる情報は3つです。
その3つを入力するとこのスクリプトは自動的に計算します。計算ボタンはありません。




e47_01.jpg


スクリプトのページを開くと枠が緑色になっているテキストボックスがあると思います。
実際の場所を示すと、画像の赤い丸の部分です。ここに必要な情報を入力します。


改めて説明しましたが、いつものように計算するだけです。
実際に別ウィンドウなどでスクリプトを開いて適当に数値を入力しながら記事を読み進めていって頂ければ。



最初に入力するであろう武器威力は、上にあるテキストボックスです。
値を入れようとタイプして気付かれたかもしれませんが、現バージョンでは半角数字しか入力を受け付けていません。
正確に言うと半角数字”.”(半角ピリオド)、少しの制御キーのみです。他の2つも同様です。

一応無効なキーが入力されるとダイアログが表示されるようにしていますが、入力を受け付けないからといってバグではありません。
要望次第で入力規則を緩和したりすることも考えています。また、今後のアップデートでもうちょっと利口にするかもしれません。
不便かもしれませんが、スクリプトを使う際は入力モードを半角英数にするなどしてください。



武器威力が入力できたら、次は補正値装甲値ですね。

補正値からいきましょう。
仕組みを説明するために、じゃあガンダムLV1の射撃補正である60を入力してみましょう。
入力できたらフォーカスを移す(適当なところをクリックする)か、Enterを押してみてください。

すると攻撃側の領域の下のステータスバーに「絶対補正値に換算」と表示されて、
テキストボックスの横に(59.5)という数値が出てきたと思います。

これが割と便利なゲーム上の数値を絶対補正(装甲)値に変換する機能です。
領域の真ん中辺りの絶対補正値と書かれたところにも59.5と表示されているはずです。

この絶対補正(装甲)値に変換するシステム(今名付けた)、何といっても利点はゲームでのダメージを完全再現できる点です。
あとは述べたように絶対補正(装甲)値を調べる必要がないという点ですね。
カスタマイズ画面やWikiのステータスだけでシミュレーションできるのは助かります。主に僕が。


過去に記事や色んな機会で絶対補正(装甲)値のことを述べてきましたし、関連するスプレッドシートも沢山あるのですが、
それでもよく分からん!って人や、そもそも初めて見る人、バトオペの仕組みをよく分かってない人もいらっしゃると思います。
例え分かっていたとしても、逐一計算の度に絶対補正値対応表を見て絶対補正値を調べる人は少ないでしょう。

どちらにせよ誤差は微々たるものですが、せっかく仕組みが分かったのに活かさないのは勿体無いなーとも思いましたし、
逆に突き止めた側も計算をややこしくしちゃったし、もう少し分かりやすくすることは出来ないかなーとも考えていました。
それがこのスクリプトを作るきっかけだったのですが、蓋を開けてみたらこれより他の機能を実現する方が何倍も大変でした。



ただし注意点がいくつかあって、まず強化後の数値を入力してはいけません。
ゲームではMSのステータスにせよ、カスタムパーツにせよ四捨五入された数値が採用されているので、
それらを足し合わせた合計値は正しくないことが多々あります。
ガンダムLV1の射撃補正:60(59.5) + 射撃強化プログラムLV2:7(6.5) = 67(66.0)

なので必ずMSがカスタムパーツなどによって能力が強化される前のデフォルトの数値を入力してください。
強化内容はそれより下の項目で適宜付け足していってください。
とはいっても、現バージョンでは全くといっていいほど充実してないのですが…


次に、補正値の上昇が特殊なMSの補正値を入力する時です。
該当するMSは、装甲強化型ジム(格闘補正)ヘビー・ガンダム(射撃補正)デザート・ゲルググ(両方)の3機です。

装甲強化型ジムで考えてみましょう。
補正値の上昇値は1.3が最小単位なので、そのパターンは1.32.63.9…となりますが、コイツは3.25です。
2.6と3.9の中間の値ってだけなんですが、これが四捨五入されて表示されるとなると非常にややこしい。

LV絶対格闘補正表示
140.040
243.2543
346.547
449.7550
453.053

装甲強化型ジムの各レベルの格闘補正です。
赤文字になっている4350ですが、入力しても分かるように正しい絶対補正値に変換してくれません。だって例外だもん。
この3機以外のMSが全て同じ法則に則っているからこそ変換が可能なので、例外には弱い作りになってしまっています。


なのでスクリプトでは通常の変換機能に加えてもう1つ、絶対補正(装甲)値の直接入力にも対応させました。

そのまま示す通り、絶対補正値、または絶対装甲値を直接入力できます。
ガンダムLV1の絶対射撃補正は59.5でしたが、これを直接入力しても計算に適用されるようになっています。
通常ならば特に必要のない機能ですが、上昇値が例外の3機のように、値が特殊なMSのステータスを入力する場合に役立ちます。

絶対補正(装甲)値を熟知しているという方は直接入力の方が使いやすいかもしれませんから、是非利用してみて下さい。


もう1つ注意すべきなのは、補正値が40以下の場合です。

絶対補正値が40未満だと変換が非常に面倒であることは、今までの記事を見て下さっている方なら分かると思います。
分かんなくてもこのスクリプトはいい感じに変換してくれるんですが、特定のケースだけ注意が必要になります。

LV絶対格闘補正表示
133.534
234.836
336.137
437.438
538.740
640.040
741.341

最初のケースはドム重の格闘補正で考えてみましょう。
見て分かる通り、ゲーム上ではLV6、LV7共に格闘補正が40と表示されています。

絶対補正値が40未満の場合、その表記は+0.9されたあとに四捨五入されて表示されるという変な仕様があって、
その法則に則ると40.0から1.3低い38.740と表示されてしまいます。
40がちょうど境目なのでこういう謎の現象が起こります。40は不惑の年って言うもんね(?)

勿論同じなのは表示上だけで、ダメージも変わってくるので区別しなければなりません。
”40”と入力してみれば分かるのですが、スクリプトでは後者の40.0を採用しています。
攻撃倍率1.00の基本となる数値であり、活用頻度も高いだろうという理由からです。

なのでもし絶対補正値の38.7(攻撃倍率:0.99)で計算を行いたい場合は直接入力して下さい。


加えて40未満の補正値で計算する時にもう1つだけ注意して欲しいことは、絶対補正値の1.0、14.0、27.0を直接入力する場合です。
例えば絶対補正値を直接入力しようとして”27”と打つと、何故か変換されて絶対補正値は25.7となります。
直接入力したはずなのに勝手に変換されて違う補正値になってしまいます。

これも補正値が40未満の時だけに起こる現象で、
小数部分が無い(=ゼロである)絶対補正値を入力すると別の補正値が参照されてしまいます。バグでは無いのですが…

対策というかこれは考え方なのですが、

補正値を「変換」して欲しい場合は整数だけを入力し、
対して絶対補正値を「直接入力」する場合は例え0であっても小数点以下まで入力する


以上を励行して頂ければ、確実に入力と変換を制御することができます。
よって先ほどの例では”27”ではなく、”27.0”と入力すると正しく認識します。
また、ゲーム上では28と表示されているので、仕様を逆手に取って”28”と入力するのも手かもしれませんね。



使用頻度の低い注釈ばかりが長くなってしまいましたが、とにかく補正値を入力し終えると対応する絶対補正値が参照されます。
するとその下に補正倍率やら、特殊倍率最終攻撃倍率に数値が表示されたと思います。


補正値の入力が正常に終わると同時に倍率が計算されます。
それぞれの倍率がどういうものかは実際に触って変化を見たり、他の記事を見てもらったりして理解してもらいましょう。

強化プログラムLV1をクリックしてみてください。倍率が増えます。
よく見ると、絶対補正値の数値の横の灰色の文字列+2.6と出てきましたね。これがLV1の上昇値です。

何となく分かると思いますが、各数値の右に=(イコール)で続く形で表示されている数式はその数値の内訳です。
チェックボックスをチェックしたり外してみたりすると、各数値だけでなく内訳も変化するのが分かります。
特に最終攻撃倍率の内訳は「= (基礎倍率:1.00) + (補正倍率) + (特殊倍率)となっています。

色々試してみてください。



装甲値も全く同じです。補正値と違って例外が無いので入力はシンプル。無論、絶対補正値の直接入力も可能です。



◆ 今後の更新予定   4 out of 5 Paragraphs of this entry.
                         

他にも武器のタイプ属性の変更のしかたや色々説明できることはあるのですが、
直感的なインターフェースにしているつもりなので、いじったら分かってくると思います。
というか分かって。分からなかったら聞いて。
投げやりすぎでは

まだver.0.100は未完成も未完成で、とりあえず計算ができてだいたいのレイアウトが固まったから公開したというだけなので、
これから少しずつにはなりますがバージョンアップさせていく予定です。
拡張性の高いコードにして機能は追加しやすくつもりなので、細かい演算ができるようになるまでもう少しお待ち下さい。


当面のアップデートは、

・攻撃倍率、防御倍率に影響を与える要素の追加

に専念します。カスタムパーツとか、勲章とか、再開発とかですね。
あと伏せ変形なども該当します。枠に収まるかめちゃくちゃ不安です。


・全体倍率に影響を与える要素の追加

そのあとに、連撃補正部位補正関連を煮詰める感じで。
前者は様々なパターンがありますし、そもそもタイプによって連撃できる回数も違うので、
中央の属性を変化させる処理と連動させるとなるとちょっとややこしくなります。

現在で既に部位補正を実装してはいるんですが、色々な機能を実装していくにつれどんどん複雑になります。
部位へのダメージには反映されない装甲性能補正だとか、そもそも部位へ攻撃した時は有効にならない撃墜章とか、
部位補正を引き上げるデータベースリンクとか、結構外的なもので値が変動します。

部位補正のUI自体もその場凌ぎ感が強いので、将来スライダーを実装してつまみで調整できるようにしたいなぁ…(願望)



まだまだ後になりますが、将来こんな機能を実装予定です。


・最終倍率の直接指定機能
・タックル、カウンターなどの無属性武器のタブ追加


最終倍率の直接指定は割とよく計算を行う人にとって利便性が高い機能です。
無属性攻撃の計算はあると便利ですし、以降に実装する機能と非常に親和性が高いです。


・ログの記録、及び再現
・ログとの比較、若しくは合計ダメージを計算


計算だけでなく、他のことができるようになるアップデートです。
現在の最終ダメージより下の欄にログを自動的ないし手動で記録できるようにし、
現在のダメージと比較、若しくはいくつかのログを組み合わせて合計のダメージを計算できるようにします。
後者はコンボなどを研究する際に役立ちます。無属性攻撃の追加はこの伏線でもあります。


・MSや武器のリファレンスを作成し、参照できるようにする

実装はかなり先になると思いますが、
要はパラメータを全く知らなくてもMSや武器を指定するだけで計算できるようになります。

ドロップダウンリストにするか、はたまたテキストボックスでの入力形式にするか決まっていませんが、
例えばユーザーが攻撃側でとあるMSを指定すると、その補正値やタイプを自動で参照してくれるだけではなく、
レベルに応じた兵装やその武器威力も割り出して計算してくれます。防御側も同様のことができます。
更に機能が進化すればログにも記録されるようになるかもしれません。ゲームを起動しなくても擬似ダメージ検証ができます。
ただ凄まじい労力が必要になるので、実装されなかったらごめんなさい。それか先にバトオペが終わったらごめんなさい。

バトオペじゃなくてポケモンですが、僕がやりたいのはこんな感じの機能です。ポケモン名に「あ」と入力してみてください。
非常によく作られているスクリプトです。有名ゲームに敵うはずがなかったよ…



◆ 最後に   5 out of 5 Paragraphs of this entry.
                         

以降のアップデート情報は基本的にサイト用アカウントのtwitterで告知していきますので、
まだフォローしていない方などがいらっしゃいましたらこの機会にフォローしてみてください。


もし計算が正しくない、上手くいかないなどの計算関連の不具合、または最初に載せた画像のような画面にならないなどの
レイアウト関連の不具合
がありましたらコメントやtwitterにてお知らせ下さい。環境などを伺い次第対応します。

モニターテストをあんまりしてないので確実にどこか不具合はあります。ぜひ協力のほどお願いします!


また「この機能を実装して欲しい」 「これはこうした方が使いやすい」などの意見も募集中です。
感じたことや思ったことはすぐさま報告して頂けるとありがたいです。勿論質問などでも結構です。
応援コメントも受け付けてマス!


それでは今日はこの辺で。

スポンサーサイト



category: 検証

thread: 機動戦士ガンダム バトルオペレーション

janre: ゲーム

Posted on 2015/11/28 Sat. 20:46  edit  |  tb: 0   cm: 0  

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://fml9.blog.fc2.com/tb.php/47-a99bb6d2
この記事にトラックバックする(FC2ブログユーザー)