トップページgamedev
115コメント31KB

【SRPG】理想的なダメージ計算

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/12/31 10:22ID:WNMKk/sT
戦闘力、士気、兵力、地形効果などおまえらの考える理想的なダメージ
計算式を教えてください。
0002あぼーんNGNG
あぼーん
0003名前は開発中のものです。02/12/31 12:02ID:QOQm3q7b
2*3=5
0004名前は開発中のものです。02/12/31 12:12ID:av2p0D21
http://taat.fi/taat/porrasturvat/
0005名前は開発中のものです。02/12/31 16:18ID:5FjExtCd
ゲームシステムにあった計算式にしろ。
0006名前は開発中のものです。03/01/03 03:11ID:/nc7Stea
   __(^^) <ペイピッポォ
  /__ \
  | |   |  |
  (_) (__)
0007あぼーんNGNG
あぼーん
0008名前は開発中のものです。03/01/04 23:45ID:LMdbArdl
攻撃力
Σ log ( n+1 ) ^ 2
n=0
0009あぼーんNGNG
あぼーん
0010あぼーんNGNG
あぼーん
0011あぼーんNGNG
あぼーん
0012名前は開発中のものです。03/01/07 08:58ID:xqQZ3H2A
攻撃力×(士気/士気標準値)^2
0013あぼーんNGNG
あぼーん
0014あぼーんNGNG
あぼーん
0015あぼーんNGNG
あぼーん
0016あぼーんNGNG
あぼーん
0017あぼーんNGNG
あぼーん
0018名前は開発中のものです。03/01/10 18:45ID:sA5KHB8y
攻撃力×攻撃力×3.14
0019名前は開発中のものです。03/01/10 19:11ID:kRXKW7Z1
1+1=田中の田
0020名前は開発中のものです。03/01/10 20:54ID:2hvjyTyN
腕力×スピード×握力
0021あぼーんNGNG
あぼーん
0022名前は開発中のものです。03/01/12 19:51ID:5Tw5MiHq
日 凸  ▽ ∇ U
≡≡≡≡≡≡≡  ∧ ∧   / ̄ ̄ ̄ ̄ ̄
 U ∩ [] % 曰 (゚Д゚ ;) < こねぇなぁ。
_________|つ∽)_  \_____

―――――――――――

 ━┳━   ━┳━
 ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
0023山崎渉03/01/13 12:54ID:E42cj5iD
(^^)
0024名前は開発中のものです。03/01/14 17:28ID:pqsO8Vcn
ノ~~~ヽ
( ´ {}`)のいぽー
l|l|l|l|l|l|
(   )
||| 
(__)_)
0025あぼーんNGNG
あぼーん
0026名前は開発中のものです。03/01/16 07:37ID:OEJBzXz2
ダメージの計算を考えていたら、
適当な確率分布に従う乱数を発生させる方法が重要かなって思います。
たぶん、普通のゲームだと正規分布とかを使うんでしょうが、
ゲームの味付けとして、
攻撃力→分布の中央値(平均値)に影響を与える
素早さ→分布の分散に影響をあたえる(もしくは分布関数の形自体を変える)
とか、そうゆう感じでやるといいかなって思います。

実際は離散的な処理になるので、おもった通りの確率分布関数に従う乱数を
発生させるのは難しいかもしれません。(連続的な関数を考えて、それに従うようにするには
一旦一様分布に従う乱数を発生させて、それから条件処理などで形に合うものを作るのが現実的かな)

ちょっとスレの意図とちがくなったか。
0027名前は開発中のものです。03/01/16 10:25ID:bGny01Ek
>>26
俺は常にこれでやってる

(rand()+rand()+rand()+rand()+rand()+rand()+
rand()+rand()+rand()+rand()+rand()+rand())/6

素早さで分散を変化させる実験をやったけど、あんまり意味が無かったよ。
変化がほとんど実感できないしね。(実感できるようにすると今度はバランスがやばくなる)
実はばらばらのほうが強かったりする場面もあったりして(防御力の高い敵など)、
素早さで分散を変えるのは結構難しいと思うよ。

やはり、ダメージの分散は武器でやるべきだと思う。
選択肢として常に交換できるようなほうがいいんじゃないかな?
0028名前は開発中のものです。03/01/17 02:05ID:RC6oUTxs
 〜(___)(^^) <カメモナー
   | |
0029名前は開発中のものです。03/01/17 06:33ID:oqgVQwdr
>>27
正規分布だけでなく、ほかの分布を利用したりするのが戦略的に
面白くなるかもとおもいます。

あるRPGで大ダメージか0かといった武器が有ると思いますが、
それと同じ様に、自分でいろんな要素によるダメージの確率分布を考えながら、
ユニットや武器を選択するようにできると、結構どの武器が確実に強い
という概念がなくなってくるのではと思っています。

素早さで分散を変えるだけでなく、たとえばダメージの上限を変えずに
分布をひずませて、中央値だけ高くなるように設定するとか
そういう風にすれば、防御力の高い敵に大きなダメージを与える
ことがなくなると思います。

まあ、ちょっと面倒くさいかもしれません。
0030名前は開発中のものです。03/01/17 07:10ID:qFrUFLxe
     ∧_∧
    ( ´∀`)<http://www.boreas.dti.ne.jp/~keitarou/ten.html
    /,   つ
  ( ((_(_, )) )
     しし'
00312703/01/17 10:15ID:kCZSInih
>>29
う〜ん、そういう方法もあるわけか。
分布をひずませる式で使えそうなのって、
俺にはせん断とガンマ補正くらいしか思いつかないんだけど、
せん断は線形代数の式だしなぁ、ひずませすぎると逆流
(っていう表現で通じるかな?値が一意に定まらなくなるってことです)
しそうな予感もする。やっぱりガンマ補正が適してるかな?
ほかに良いアイデアはがあるなら教えていただけますか?

と、いうことでガンマ補正の実験してみよ〜っと。
良いアイデアthx。
003226と2903/01/18 00:14ID:KwdA7bi8
>>31
ひずませるって言うと、ちょっと簡単な方法は思いつきません。
ガンマ補正はなんとなくわかるんですが、定式化するのは面倒かもと思います。

これは単にアイデアですが、
もし、離散的に任意の確率分布をもつ乱数がつくれるならば、正規分布でなくても
それを近似したものや、言ってしまうと2次関数で上に凸のような物(もちろん値域は0以上)でも
ある程度ごまかせると思います。(確率密度関数が二次関数で上に凸です)

すると上限の設定や、中央値の設定は非常に簡単になるかもと思います。
積分して確率が1になるように設定するだけですから、
2次間数をいくつか組み合わせれば不連続でもリーマン積分可能な物で、
その結果が1であれば確率を決定する事が出来ると思います。
(イメージ的には、上に凸の2次関数の山がはえているといった感じですか)

まあ、アイデアで実装した訳でないので簡単かどうかわかりません。
実装に関しては、たぶん一様分布に従う、離散的な乱数を発生させて、
それを設定した関数にあわせて階段状に組み合わせるというイメージで
なんとかなると思います。
0033名前は開発中のものです。03/01/18 01:13ID:BwLoFhwf
俺は微積とか忘れたので結構適当。
与えるダメージが100ポイントとしたら、そこから乱数で
ダメージ値の±20%(最大)の付加をつける、という感じにする。
低脳でスマンが。
0034名前は開発中のものです。03/01/18 05:44ID:BpNkvBQa
                ∧            ∧
              / ・           / ';,
             /  ';          /  ';
             /   ;______/   ;
          /                  \
         /    /          \     \
        /´   (  ) |____|  (  )      |
       |  /////  (  |     :|    )  /////    |
       |    (   ) :|      |  (   (       |
        |    )  (  |     |   )   )      |
        |   (   ) ';    /   (   (     /
         \  )  (   \/    )   )  ../
           ヽ              ........:::::::<
               いいスレだったモナー           〜 お し ま い 〜
0035名前は開発中のものです。03/01/18 08:28ID:T1dSp7sm
>>33
うん、その乱数の発生方法と加工方法についての議論だよ。
003626と29と3203/01/20 02:10ID:FMqS9pi7
http://www.gx.ws16.arena.ne.jp/cgi-bin/flash/updir/test.swf

適当にflashで作ってみました。
細かいところはいいかげんに作ってますので、まあ余興程度に。

最初は良いアイデアだと思ったんですが、
普通にもっと簡単な計算式を用いた方が良さそうです。
0037名前は開発中のものです。03/01/20 06:18ID:pjuQaBtX
(・∀・)イイネ
0038名前は開発中のものです。03/01/20 06:55ID:aQ3gHXNf
単純化するためTRPGのごとくダイスを使いたいんだけど
xdy(x回y面ダイスを振る)の分散を調べるには
x層の再起呼び出し構造にしないとだめなのかな。
できれば再起呼び出しは使いたくないんだけど…。
■ このスレッドは過去ログ倉庫に格納されています