399

スキル攻撃がおかしいってことですが、小数で計算しているのなら、誤差が出るかなと思う職業病のメモ書き。

by
エルク
文筆
文筆
エルク
葛の葉と果実の覚書から引用
ちなみにザキヤマさんからは、以前に
「wikiで使っている数値も、アゲアゲでいけるのにLFでいけない等の小数点レベルのズレがある」とか言われてます(前提条件)
======
仕事の話はしたくないんだけど、小数点を扱うなら、誤差はでるわなぁと、職業病が発症したので、書いておく

前提条件として……コンピュータは小数を扱うのが苦手です。
コンピュータは2進数を扱うのは上手ですが、10進数を扱うのは苦手です。
そして小数は10進数の得意分野ですが、2進数は苦手分野です。

コンピュータは2進数での計算結果を10進数に置き換えて表示しています。
そして、2進数でどうやって正確な小数を表現しているかというと、……私が説明するよりもwikipediaを見てもらった方が早いですね。

まぁ、具体的な部分は重要じゃないです。
大雑把に「コンピュータで小数を扱うと遅いうえに誤差が出る」ってことだけを知っておいてください。
(で、速度が重要なオンラインリアルタイムネットワーク対戦ゲームのWLWは極力小数の計算は排除していると思っているのですよ。)

さて、ある意味で本題。
小数だと遅くて不正確ってことは、何で表現しているか、です。

ここからは完全に推測の領域になりますが、おそらくWLWの内部では分数で表現していると思います。
最小のスキル攻撃力を持つ虚飾の七色羽飾り+は0.83%とwikiに書かれておりますが、この数値はちょうど1÷120と一致します。
(正確には1÷120=0.83333333……%になります。)
ほかのスキル攻撃力もx÷120で表現できる数値を取っていることを考えると、
wiki上のXX.x7%はXX.x66666666……%が正確な表現…と考えています。
(稀にいるXX.x6%も同じくXX.x6666……%と同義と思われます)

で、この方式だと……誤差が減るのですよ。コンピュータ上で計算するときに。
スキル攻撃力×(120+分子の合計値)÷120 となって、小数の計算が減りますから……。

なので、パーセント方式で計算したうえで、誤差が出ているのなら途中計算式の都合か、丸め誤差かなって思うのですよ。

じゃあ、HPやMPの小数点以下は何なのってなるかもしれないけど、こっちはもっと簡単。
内部的にはHP/MPの上限を10000(キャラクターの数値情報の100倍)にしておいて、
HP/MPのゲージに反映するときに10000に対する割合で書いておけば……ほら、矛盾はないでしょ?
作成日時:2024/06/01 13:59
コメント( 0 )
コメントするにはログインが必要です
シェア