トップページ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層の再起呼び出し構造にしないとだめなのかな。
できれば再起呼び出しは使いたくないんだけど…。
0039名前は開発中のものです。03/01/20 07:13ID:JfkG9jA0
>>38
ループでは同じプログラムを書けない?
0040名前は開発中のものです。03/01/20 09:31ID:3I/Bf5vZ
                ∧            ∧
              / ・           / ';,
             /  ';          /  ';
             /   ;______/   ;
          /                  \
         /    /          \     \
        /´   (  ) |____|  (  )      |
       |  /////  (  |     :|    )  /////    |
       |    (   ) :|      |  (   (       |
        |    )  (  |     |   )   )      |
        |   (   ) ';    /   (   (     /
         \  )  (   \/    )   )  ../
           ヽ              ........:::::::<
               いいスレだったモナー           〜 お し ま い 〜
00412603/01/20 23:31ID:5A06PKBj
この板、もうちょい前に来たときもう少し活気があったと思ったんですが・・
なんだかさみしいですね・・。
それとも受験、試験と関係あるのかな・・。

>>38
上にあるようにループのほうが簡単かもしれないです。
再帰でも可能でしょう、でも使い方としてはループと同じかな・・(たぶん)。
0042名前は開発中のものです。03/01/21 02:25ID:pd2KrwgN
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧w∧  <  オワリじゃ
__( ゚π ゚ )__  \________
\ y/ //
〈っ ==_cノ
(_†________)
0043名前は開発中のものです。03/02/01 21:05ID:nKlZlaof
s=0;
for(i=1;i<=x;i++){
  s+=rand() % y;
}
0044名前は開発中のものです。03/02/02 21:30ID:QHyJs7PL

0045名前は開発中のものです。03/02/03 16:57ID:2SFMFRGk
        λ
      ( ・∋・)
     彡、   )
        |_ |_  
   __< `Д´> クケー!
  /__ \
  | |   |  |
  (_) (__)
0046名前は開発中のものです。03/02/03 21:12ID:JPJIqU86
こうしてみるとFEは傑作だと思う
0047名前は開発中のものです。03/02/04 12:06ID:byf8yUEe
   __(^^) <ペイピッポォ
  /__ \
  | |   |  |
  (_) (__)
0048あぼーんNGNG
あぼーん
0049名前は開発中のものです。03/02/06 16:13ID:TaEDzNps
aa
0050名前は開発中のものです。03/02/06 18:47ID:hJ+VRGMl
>>46
なんで?

というか、攻撃命中率に何か納得いかない。
これぐらいの命中率なら当たるだろと思ったらはずすし、
これならかわしてくれるだろと思ったら食らうし。
もしや俺開発者の手のひらの上で躍らされてる?

つーかスレ違いスマソ
0051名前は開発中のものです。03/02/06 19:21ID:0TGi2Mbq
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/wara/
0052sage03/02/06 19:36ID:Grc2R/JX
>>50
100%でなく255%が最大値だったりして
0053あぼーんNGNG
あぼーん
0054名前は開発中のものです。03/02/27 14:03ID:cqSVIWs7
攻撃力-守備力
0055あぼーんNGNG
あぼーん
0056あぼーんNGNG
あぼーん
0057あぼーんNGNG
あぼーん
0058あぼーんNGNG
あぼーん
0059あぼーんNGNG
あぼーん
0060あぼーんNGNG
あぼーん
0061あぼーんNGNG
あぼーん
0062あぼーんNGNG
あぼーん
0063名前は開発中のものです。03/05/30 23:22ID:4fOaNFX7
http://life.fam.cx/
0064_03/05/30 23:50ID:rHB/wVmt
http://homepage.mac.com/hiroyuki43/hankaku10.html
0065あぼーんNGNG
あぼーん
0066あぼーんNGNG
あぼーん
0067あぼーんNGNG
あぼーん
0068あぼーんNGNG
あぼーん
0069あぼーんNGNG
あぼーん
0070混沌太郎04/03/07 04:00ID:8OsKSULi
>>38
xdyの分散は、
x*(y^2-1)/12
です。
0071名前は開発中のものです。04/03/07 14:53ID:zdZbkyy9
>>70
死ね低脳
0072名前は開発中のものです。04/03/19 01:31ID:Es9gfikz
いまSRPG作ってるんだが
攻撃力=ダメージ
防御力とか地形とか一切無し
防御すれば1/2になるけど
0073名前は開発中のものです。04/03/19 06:35ID:QGkp3Hf9
>>72
今の所まだ入れていないのか、使わないゲームなのかどっち?
後者ならどんなゲームなんだろう。HPと守備を一緒にする感じなのかな。
0074名前は開発中のものです。04/03/20 13:40ID:X1KH8t8I
>>73
マジックギャザのようなものだろうね。

意外と「防御力はダメージの軽減率とする」ってレスが無かったな。
0075名前は開発中のものです。04/04/03 15:10ID:/VX1eYxW
>>73
FFTは防御力の概念がない。
防具はHP上昇。
0076名前は開発中のものです。05/02/06 21:11:09ID:dqLXo3/j
もっと良スレに育っても良さそうなテーマなんだがな‥
0077名前は開発中のものです。05/02/08 12:20:40ID:7/e+Xm51
SRPGに策敵の概念を取り入れられないかと考えてる。
自分の射程外の見えない所から狙撃される恐怖を演じさせてみたい。
0078えせ壊人05/02/09 00:43:38ID:UN48S2s5
sub R1(VAL){return int(rand(VAL));}
sub R2(VAL){return int((R1(VAL^2))^0.5);}
sub R3(VAL){return (VAL-R2(VAL));}
## int(X)→Xを小数点以下切り捨て
## rand(X)→0〜Xの範囲の乱数
## X^Y→XのY乗


## 加害者攻撃力:ATK_DMG
## 被害者防御力:DEF_DMG
## 加害者素早さ:ATK_SPD
## 被害者残HP:DEF_HP
## 経過ターン数:FIG_TRN

(中略)
TMP_DMG = R2(ATK_DMG)-R3(DEF_DMG);
if ((R2(ATK_SPD+FIG_TRN) >= R3(DEF_SPD)) && (TMP_DMG > 0))
 {DEF_HP = DEF_HP - TMP_DMG;}

理解できるよな
0079名前は開発中のものです。05/02/09 08:15:06ID:0Xrh/WIB
>>78
理解できません
解説おながいします
R1・R2・R3、それぞれ1〜VAL値の乱数を発生させる関数だと思うのですが
3個も用意する意味がわかりません
「rand()」と「1-rand()」は同じ結果になると思うのですが・・
0080名前は開発中のものです。05/02/10 08:21:58ID:se4nz7bO
さげ
0081名前は開発中のものです。05/02/10 16:50:17ID:phKQ0SUc
>>77
大戦略とか、昔の戦争モノは策敵範囲があるのが普通じゃなかったっけ
とりあえず偵察車両前に出して策敵、ってのが基本だったかと
0082名前は開発中のものです。05/02/11 15:59:08ID:VBoNlmWU
CPU相手だとズルされてるって感じしかしないんだよ
0083名前は開発中のものです。05/02/11 19:35:49ID:5gJsXFuy
麻雀と同じく「ズルしてません」って売りにすればいい。
0084名前は開発中のものです。05/02/12 01:22:13ID:pbjUy+66
僕が今作っているのは、FEトラキアの暗闇マップみたいな、
視界のみ表示されるシステムがある。
暗闇と言う概念はまだ無いけど、昼間の方に普通に使っていて、20マスが視界。
室内では、壁のさえぎりが入った上での20マス。

FE聖戦よりもっと大きい、128X128とかの1枚の大きいマップで
戦闘が行われるので、マップ全体を調べれてしまうと思考時間が
えらい事になるので、制限する為に取り入れた。

>>77みたいな視界外から攻撃される事は、20マスだから無いけど、
いつのまにか敵の軍団に囲まれているという事はある。
0085名前は開発中のものです。2006/01/20(金) 23:58:05ID:vIbsZxkQ
SLGなどで、数百人の兵士が1ユニットになったユニット同士が戦闘することがあるけど
双方の兵の損失はどうなるんだろうね?
(真三國無双みたいに1人がウリャウリャとやるゲームじゃないよ)
0086名前は開発中のものです。2006/01/21(土) 18:59:54ID:Id0+JgOl
騎馬戦みたいなもんか
0087名前は開発中のものです。2006/02/08(水) 18:10:21ID:Eo4hbqRV
>>85
1・武器が剣や槍の場合、敵と接している兵士の数x兵士の能力=攻撃力

○=味方 ▽=敵で、記号は10×10の100人による方陣とし、
兵士の能力は1とする。

○▽○
  ○ 

こんな感じで敵を囲んでたら、面しているのは3面だから、双方に30のダメージ。

2・武器が矢や鉄砲だと、兵士の数x兵士の能力=攻撃力

上の例で、兵士の能力が0.1の場合
だと、味方は10のダメージ。敵は30のダメージ。
0088名前は開発中のものです。2006/06/05(月) 10:27:10ID:i1247oeR
人数 = HP
攻撃力 = 人数 x 装備攻撃力 + 指揮官補正or熟練度補正

こんな感じか?
0089名前は開発中のものです。2006/07/22(土) 14:19:49ID:PER465AT
このスレの奴ってマンチェスターの法則を知っている奴居るんだろうか。
0090名前は開発中のものです。2006/09/14(木) 18:47:00ID:VLWxXGcm
マンチェスターの法則だとおもしろくないバランスにならないか?
0091名前は開発中のものです。2006/09/16(土) 12:48:51ID:rhTJIX2b
age
0092名前は開発中のものです。2006/09/16(土) 17:27:22ID:WKI3OWkG
>>89-90
ひどいつりですね(^^;
0093名前は開発中のものです。2006/09/16(土) 20:05:33ID:XQM64a8Y
おまえら……魂(イノチ)込めろ……!
0094名前は開発中のものです。2006/09/16(土) 22:27:44ID:sUvOs8VX
>>89
実際やってみたらわかるけど、そのまま二乗法則を適用すると人数多いほうが強すぎて
なってゲームにならんかった。うまく調節するのは難しいと思う。
0095名前は開発中のものです。2006/09/17(日) 00:03:29ID:kr32qvF1
ランチェスターの法則だろ
ゲ板の人間なら誰でも知ってる
0096名前は開発中のものです。2006/09/17(日) 00:05:24ID:kr32qvF1
>>94
ランチェスターの法則は戦闘に参加する人数で考える

人数でも前線にいるのと後ろで余剰戦力になってるのは別
弓や銃で後列からでも攻撃参加できるなら加える
0097名前は開発中のものです。2006/09/17(日) 00:46:57ID:LDs3llaV
ドルフィンよりテンマの方が好き
0098名前は開発中のものです。2006/09/17(日) 04:25:55ID:8leR5WGy
なぜ日本人女性は韓国男性に憧れるのだろうか。
まず韓国人男性は紳士的な振る舞いをします。
そして女性を大切に扱います そして情熱的です。
このような韓国人男性の振る舞いに日本人女性はコロリと落ちるのです。
日本人のような幼児的な男性にあきあきしてる裏返しの行動でしょう。
韓国人男性に憧れる日本女性は週末になるとソウルを訪れるそうです。
ソウルで運命的な出会いを期待しての訪韓です
ソウルでは毎週末にお見合いパーテーが開かれています
日本女性と韓国男性のお見合いパーテーです
日本女性の参加者が圧倒的に多く韓国男性を集めるのに苦労するそうです。
日本女性は婚前交渉に積極的だと聞きました。 韓国では婚前交渉はタブーです。
お見合いパーテーで知り合い、その日のうちに関係を持つカップルが多いと聞きます。
「日本人女性は優秀な遺伝子を求めて韓国で股を開く」と韓国のWEBサイトで話題になっていました。
韓国では不道徳なものは、東から来ると言われています。
韓国は日本から多くの不道徳を持ち込まれています。
すべて事実だ。 日本の女は淫乱で男はまったく魅力がないインポ。
かわいそうな劣等民族
0099名前は開発中のものです。2006/09/17(日) 04:47:52ID:8L1iwNlX
そだね
0100名前は開発中のものです。2006/09/17(日) 19:01:47ID:Okc/EW+b
質問です。
ここでやってるみたいに戦術ゲームをつくるのにおすすめの開発ツールを教えてください
0101名前は開発中のものです。2006/09/18(月) 17:25:26ID:+aEjx699
あげ
0102名前は開発中のものです。2007/04/04(水) 20:15:05ID:aUoOaV8f
>98
なんかよくわからんが、まとめると
日本の淫乱な女が韓国に行ってるってことだな。
韓国の優秀な遺伝子は日本の淫乱な遺伝子と交わるってことか?
日本の淫乱な遺伝子は日本から出て行ってくれてるってことか?

韓国の紳士が次々に日本の淫乱女子に堕ちてるのがそんなにうれしいのだろうか?
なんか日本を貶めたいと必死な韓国人なのか知らんが、韓国が堕ちていくだけにしか見えないのが非常にかわいそう。
日本の膿が出て、韓国に取り込まれているということなら、「どうだ、韓国は優秀な国だ、すげーだろ」なんて言ってないで、「韓国人なら日本人の淫乱女と結婚するな」と同胞に訴えた方がいいんじゃないか?

とスゲースレ違いレスをしてみる。
0103名前は開発中のものです。2007/05/14(月) 00:11:52ID:RGDNLj7T
てす
0104名前は開発中のものです。2007/05/14(月) 22:20:13ID:LojTh7aO
0105名前は開発中のものです。2007/05/14(月) 22:31:35ID:oH+WAj9F
 
0106名前は開発中のものです。2007/05/19(土) 21:23:09ID:F6ueKMFC
>>89-90
RTSだと大群同士で戦うことがあるから、もろにランチェスター効いてくるね。
ただ、バランスとるために、RTSによっては、一体集中攻撃時にダメージを減らす処理を入れていたりする。
(Lise of Legendとか)
0107名前は開発中のものです。2007/06/01(金) 16:38:12ID:yuZN7ouG
もしかして、Rise of Legend 出したのが失敗ですか?
0108名前は開発中のものです。2007/08/10(金) 14:59:41ID:7d6NBURm
abon
0109名前は開発中のものです。2008/09/06(土) 13:17:33ID:erZM/Cbp
現実を模倣すればいいと思う
0110名前は開発中のものです。2008/09/06(土) 20:32:19ID:aHZrvY9Z
現実って意外とつまらんぞ
0111名前は開発中のものです。2008/10/07(火) 08:17:18ID:yz4QFBYL
dmg = (攻撃力 * 2 - 防御力) / 2;

もうこれでいいじゃん
0112名前は開発中のものです。2009/07/12(日) 20:24:09ID:L8dmDw8n
これが出せたら、最高のSRPG作れるな
0113名前は開発中のものです。2009/07/18(土) 16:04:14ID:iW1cwlW/
多段HITとか複数回攻撃の意見をください。

今は基本dmg × 配列[i]%
でやってるが、最後の一撃のみ算出式が別とかにしたいんだ。
でもそういうのを組み込むと今度は
スキル選択でのヒント表示の際に
対応しきれなくなっちゃうんだ…
0114名前は開発中のものです。2009/10/02(金) 18:04:19ID:DDdL3NNr
ダメージでなくターンの順についてだけど
戦闘参加者のパラメータを別変数に格納して
全員分の(乱数×素早さ)が一番大きい物が攻撃できる。
攻撃したキャラはその計算値を素早さから引かれる
戦闘終了まで、攻撃されたキャラは防御力が一割減って攻撃力が一割増える。

このシステムを使えば個性が上手く出せないかな?
0115名前は開発中のものです。2009/10/04(日) 21:34:55ID:9UzeKwvu
余程上手くやらないと素早さマンセーゲーになるか素早さ意味ネーゲーになる
■ このスレッドは過去ログ倉庫に格納されています