DHQの雑記とか

mugen関連でいろいろと

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

作品準拠キャラの少数以下のダメージの扱いについて

ライフの標準値が1000ではない格ゲーのシステムに準拠したキャラの、
少数以下のダメージの扱いについて気になったことがあったので少し。
補正が絡む多段技がやたら減ったり減らなかったりする人は読んでみるといいと思われます。


ライフの標準値が1000ではない格ゲーに準拠したキャラを作る場合、
原作でのダメージに、(1000*1.0)/(そのゲームでの標準値)をかけて
mugenでのダメージとすることが多いと思われます。
が、補正によって小数点以下のダメージが発生した場合、
単純にさきの数字をかけるだけでは
原作でのダメージからかけ離れたダメージになることがよくあります。

例えば、ライフの標準値が100のゲームに準拠した場合を考えます。
そのゲームでは、補正などによって小数点以下のダメージが発生した場合、
内部処理で端数は全て切り捨てられるものとします。
そのゲームで、生当てではダメージが10になる攻撃に0.95倍の補正倍率がかかると
9.5という小数点以下の数値を含むダメージが発生しますので、
最終的に受けるダメージは切り捨てによって9になります。
またこの時、ダメージの総ライフに対する割合は9%となります。

このような攻撃をmugenに移すにあたって
hitdefのdamageパラメータを
damage=floor(10*(補正値)*(1000*1.0)/(元のゲームでのライフ標準値))とし、
補正値に0.95、元のゲームのライフ標準値に100が代入された場合を考えます。
floorのついたカッコ内の(10*(補正値)*(1000*1.0)/(そのゲームでのライフ標準値))の
計算結果は95となります。
ここにfloorによる切り捨てがかかってもdamageは95のままなので、
相手に与えるダメージの総ライフに対する割合は9.5%となり、
実質的に元のゲームよりもダメージが大きくなります。
この影響は小数点以下の端数部分によってはかなり大きくなり、
元のゲームで3割減るところが4割近く減ることもごく当たり前のように起こります。

この現象を回避するためには、上記の式にもう1個floorを加えて、
damage=floor(floor(10*(補正値))*(1000*1.0)/(そのゲームでのライフ標準値))
とします。要するに、mugenと元のゲームのライフ換算を行う前に、
元のゲームで行われる切り捨て計算をするだけです。

既存の記述を書き換える際には、damageのパラメータをひとつひとつ書き換えるのは
手間がかかるので、置換やキーマクロなどが使えるテキストエディタを使うことをオススメします。

  1. 2012/09/03(月) 01:44:56|
  2. キャラ製作の豆知識
  3. | トラックバック:0
  4. | コメント:0
<<プレイヤー操作動画上げてみました その27 | ホーム | プレイヤー操作動画上げてみました その26>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dhq.blog137.fc2.com/tb.php/68-d2f78851
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

DHQ

Author:DHQ

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
お知らせ (2)
mugenの仕様 (16)
mugenのAI (3)
キャラ製作の豆知識 (31)
動画について (32)

FC2カウンター

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

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