1read 100read
2011年10月1期ゲ製作技術【SRPG】理想的なダメージ計算
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
ノウハウ板民で同人ゲームを作るスレ
Netゲー製作のヒント下さい。
ゲーム甲子園
家庭用ゲーム機のエミュレータ <I>
【SRPG】理想的なダメージ計算
- 1 :02/12/31 〜 最終レス :09/10/04
- 戦闘力、士気、兵力、地形効果などおまえらの考える理想的なダメージ
計算式を教えてください。
- 2 :
-
- 3 :
- 2*3=5
- 4 :
- http://taat.fi/taat/porrasturvat/
- 5 :
- ゲームシステムにあった計算式にしろ。
- 6 :
- __(^^) <ペイピッポォ
/__ \
| | | |
(_) (__)
- 7 :
-
- 8 :
- 攻撃力
Σ log ( n+1 ) ^ 2
n=0
- 9 :
-
- 10 :
-
- 11 :
-
- 12 :
- 攻撃力×(士気/士気標準値)^2
- 13 :
-
- 14 :
-
- 15 :
-
- 16 :
-
- 17 :
-
- 18 :
- 攻撃力×攻撃力×3.14
- 19 :
- 1+1=田中の田
- 20 :
- 腕力×スピード×握力
- 21 :
-
- 22 :
- 日 凸 ▽ ∇ U
≡≡≡≡≡≡≡ ∧ ∧ / ̄ ̄ ̄ ̄ ̄
U ∩ [] % 曰 (゚Д゚ ;) < こねぇなぁ。
_________|つ∽)_ \_____
―――――――――――
━┳━ ━┳━
 ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
- 23 :
- (^^)
- 24 :
- ノ~~~ヽ
( ´ {}`)のいぽー
l|l|l|l|l|l|
( )
|||
(__)_)
- 25 :
-
- 26 :
- ダメージの計算を考えていたら、
適当な確率分布に従う乱数を発生させる方法が重要かなって思います。
たぶん、普通のゲームだと正規分布とかを使うんでしょうが、
ゲームの味付けとして、
攻撃力→分布の中央値(平均値)に影響を与える
素早さ→分布の分散に影響をあたえる(もしくは分布関数の形自体を変える)
とか、そうゆう感じでやるといいかなって思います。
実際は離散的な処理になるので、おもった通りの確率分布関数に従う乱数を
発生させるのは難しいかもしれません。(連続的な関数を考えて、それに従うようにするには
一旦一様分布に従う乱数を発生させて、それから条件処理などで形に合うものを作るのが現実的かな)
ちょっとスレの意図とちがくなったか。
- 27 :
- >>26
俺は常にこれでやってる
(rand()+rand()+rand()+rand()+rand()+rand()+
rand()+rand()+rand()+rand()+rand()+rand())/6
素早さで分散を変化させる実験をやったけど、あんまり意味が無かったよ。
変化がほとんど実感できないしね。(実感できるようにすると今度はバランスがやばくなる)
実はばらばらのほうが強かったりする場面もあったりして(防御力の高い敵など)、
素早さで分散を変えるのは結構難しいと思うよ。
やはり、ダメージの分散は武器でやるべきだと思う。
選択肢として常に交換できるようなほうがいいんじゃないかな?
- 28 :
- 〜(___)(^^) <カメモナー
| |
- 29 :
- >>27
正規分布だけでなく、ほかの分布を利用したりするのが戦略的に
面白くなるかもとおもいます。
あるRPGで大ダメージか0かといった武器が有ると思いますが、
それと同じ様に、自分でいろんな要素によるダメージの確率分布を考えながら、
ユニットや武器を選択するようにできると、結構どの武器が確実に強い
という概念がなくなってくるのではと思っています。
素早さで分散を変えるだけでなく、たとえばダメージの上限を変えずに
分布をひずませて、中央値だけ高くなるように設定するとか
そういう風にすれば、防御力の高い敵に大きなダメージを与える
ことがなくなると思います。
まあ、ちょっと面倒くさいかもしれません。
- 30 :
- ∧_∧
( ´∀`)<http://www.boreas.dti.ne.jp/~keitarou/ten.html
/, つ
( ((_(_, )) )
しし'
- 31 :
- >>29
う〜ん、そういう方法もあるわけか。
分布をひずませる式で使えそうなのって、
俺にはせん断とガンマ補正くらいしか思いつかないんだけど、
せん断は線形代数の式だしなぁ、ひずませすぎると逆流
(っていう表現で通じるかな?値が一意に定まらなくなるってことです)
しそうな予感もする。やっぱりガンマ補正が適してるかな?
ほかに良いアイデアはがあるなら教えていただけますか?
と、いうことでガンマ補正の実験してみよ〜っと。
良いアイデアthx。
- 32 :
- >>31
ひずませるって言うと、ちょっと簡単な方法は思いつきません。
ガンマ補正はなんとなくわかるんですが、定式化するのは面倒かもと思います。
これは単にアイデアですが、
もし、離散的に任意の確率分布をもつ乱数がつくれるならば、正規分布でなくても
それを近似したものや、言ってしまうと2次関数で上に凸のような物(もちろん値域は0以上)でも
ある程度ごまかせると思います。(確率密度関数が二次関数で上に凸です)
すると上限の設定や、中央値の設定は非常に簡単になるかもと思います。
積分して確率が1になるように設定するだけですから、
2次間数をいくつか組み合わせれば不連続でもリーマン積分可能な物で、
その結果が1であれば確率を決定する事が出来ると思います。
(イメージ的には、上に凸の2次関数の山がはえているといった感じですか)
まあ、アイデアで実装した訳でないので簡単かどうかわかりません。
実装に関しては、たぶん一様分布に従う、離散的な乱数を発生させて、
それを設定した関数にあわせて階段状に組み合わせるというイメージで
なんとかなると思います。
- 33 :
- 俺は微積とか忘れたので結構適当。
与えるダメージが100ポイントとしたら、そこから乱数で
ダメージ値の±20%(最大)の付加をつける、という感じにする。
低脳でスマンが。
- 34 :
- ∧ ∧
/ ・ / ';,
/ '; / ';
/ ;______/ ;
/ \
/ / \ \
/´ ( ) |____| ( ) |
| ///// ( | :| ) ///// |
| ( ) :| | ( ( |
| ) ( | | ) ) |
| ( ) '; / ( ( /
\ ) ( \/ ) ) ../
ヽ ........:::::::<
いいスレだったモナー 〜 お し ま い 〜
- 35 :
- >>33
うん、その乱数の発生方法と加工方法についての議論だよ。
- 36 :
- http://www.gx.ws16.arena.ne.jp/cgi-bin/flash/updir/test.swf
適当にflashで作ってみました。
細かいところはいいかげんに作ってますので、まあ余興程度に。
最初は良いアイデアだと思ったんですが、
普通にもっと簡単な計算式を用いた方が良さそうです。
- 37 :
- (・∀・)イイネ
- 38 :
- 単純化するためTRPGのごとくダイスを使いたいんだけど
xdy(x回y面ダイスを振る)の分散を調べるには
x層の再起呼び出し構造にしないとだめなのかな。
できれば再起呼び出しは使いたくないんだけど…。
- 39 :
- >>38
ループでは同じプログラムを書けない?
- 40 :
- ∧ ∧
/ ・ / ';,
/ '; / ';
/ ;______/ ;
/ \
/ / \ \
/´ ( ) |____| ( ) |
| ///// ( | :| ) ///// |
| ( ) :| | ( ( |
| ) ( | | ) ) |
| ( ) '; / ( ( /
\ ) ( \/ ) ) ../
ヽ ........:::::::<
いいスレだったモナー 〜 お し ま い 〜
- 41 :
- この板、もうちょい前に来たときもう少し活気があったと思ったんですが・・
なんだかさみしいですね・・。
それとも受験、試験と関係あるのかな・・。
>>38
上にあるようにループのほうが簡単かもしれないです。
再帰でも可能でしょう、でも使い方としてはループと同じかな・・(たぶん)。
- 42 :
- / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧w∧ < オワリじゃ
__( ゚π ゚ )__ \________
\ y/ //
〈っ ==_cノ
(_†________)
- 43 :
- s=0;
for(i=1;i<=x;i++){
s+=rand() % y;
}
- 44 :
-
- 45 :
- λ
( ・∋・)
彡、 )
|_ |_
__< `Д´> クケー!
/__ \
| | | |
(_) (__)
- 46 :
- こうしてみるとFEは傑作だと思う
- 47 :
- __(^^) <ペイピッポォ
/__ \
| | | |
(_) (__)
- 48 :
-
- 49 :
- aa
- 50 :
- >>46
なんで?
というか、攻撃命中率に何か納得いかない。
これぐらいの命中率なら当たるだろと思ったらはずすし、
これならかわしてくれるだろと思ったら食らうし。
もしや俺開発者の手のひらの上で躍らされてる?
つーかスレ違いスマソ
- 51 :
- ______________
/:\.____\
|: ̄\(∩´∀`) \ <先生!こんなのがありました!
|:在 |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/wara/
- 52 :
- >>50
100%でなく255%が最大値だったりして
- 53 :
-
- 54 :
- 攻撃力-守備力
- 55 :
-
- 56 :
-
- 57 :
-
- 58 :
-
- 59 :
-
- 60 :
-
- 61 :
-
- 62 :
-
- 63 :
- http://life.fam.cx/
- 64 :
- http://homepage.mac.com/hiroyuki43/hankaku10.html
- 65 :
-
- 66 :
-
- 67 :
-
- 68 :
-
- 69 :
-
- 70 :
- >>38
xdyの分散は、
x*(y^2-1)/12
です。
- 71 :
- >>70
低脳
- 72 :
- いまSRPG作ってるんだが
攻撃力=ダメージ
防御力とか地形とか一切無し
防御すれば1/2になるけど
- 73 :
- >>72
今の所まだ入れていないのか、使わないゲームなのかどっち?
後者ならどんなゲームなんだろう。HPと守備を一緒にする感じなのかな。
- 74 :
- >>73
マジックギャザのようなものだろうね。
意外と「防御力はダメージの軽減率とする」ってレスが無かったな。
- 75 :
- >>73
FFTは防御力の概念がない。
防具はHP上昇。
- 76 :
- もっと良スレに育っても良さそうなテーマなんだがな‥
- 77 :
- SRPGに策敵の概念を取り入れられないかと考えてる。
自分の射程外の見えない所から狙撃される恐怖を演じさせてみたい。
- 78 :
- 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;}
理解できるよな
- 79 :
- >>78
理解できません
解説おながいします
R1・R2・R3、それぞれ1〜VAL値の乱数を発生させる関数だと思うのですが
3個も用意する意味がわかりません
「rand()」と「1-rand()」は同じ結果になると思うのですが・・
- 80 :
- さげ
- 81 :
- >>77
大戦略とか、昔の戦争モノは策敵範囲があるのが普通じゃなかったっけ
とりあえず偵察車両前に出して策敵、ってのが基本だったかと
- 82 :
- CPU相手だとズルされてるって感じしかしないんだよ
- 83 :
- 麻雀と同じく「ズルしてません」って売りにすればいい。
- 84 :
- 僕が今作っているのは、FEトラキアの暗闇マップみたいな、
視界のみ表示されるシステムがある。
暗闇と言う概念はまだ無いけど、昼間の方に普通に使っていて、20マスが視界。
室内では、壁のさえぎりが入った上での20マス。
FE聖戦よりもっと大きい、128X128とかの1枚の大きいマップで
戦闘が行われるので、マップ全体を調べれてしまうと思考時間が
えらい事になるので、制限する為に取り入れた。
>>77みたいな視界外から攻撃される事は、20マスだから無いけど、
いつのまにか敵の軍団に囲まれているという事はある。
- 85 :
- SLGなどで、数百人の兵士が1ユニットになったユニット同士が戦闘することがあるけど
双方の兵の損失はどうなるんだろうね?
(真三國無双みたいに1人がウリャウリャとやるゲームじゃないよ)
- 86 :
- 騎馬戦みたいなもんか
- 87 :
- >>85
1・武器が剣や槍の場合、敵と接している兵士の数x兵士の能力=攻撃力
○=味方 ▽=敵で、記号は10×10の100人による方陣とし、
兵士の能力は1とする。
○▽○
○
こんな感じで敵を囲んでたら、面しているのは3面だから、双方に30のダメージ。
2・武器が矢や鉄砲だと、兵士の数x兵士の能力=攻撃力
上の例で、兵士の能力が0.1の場合
だと、味方は10のダメージ。敵は30のダメージ。
- 88 :
- 人数 = HP
攻撃力 = 人数 x 装備攻撃力 + 指揮官補正or熟練度補正
こんな感じか?
- 89 :
- このスレの奴ってマンチェスターの法則を知っている奴居るんだろうか。
- 90 :
- マンチェスターの法則だとおもしろくないバランスにならないか?
- 91 :
- age
- 92 :
- >>89-90
ひどいつりですね(^^;
- 93 :
- おまえら……魂(イノチ)込めろ……!
- 94 :
- >>89
実際やってみたらわかるけど、そのまま二乗法則を適用すると人数多いほうが強すぎて
なってゲームにならんかった。うまく調節するのは難しいと思う。
- 95 :
- ランチェスターの法則だろ
ゲ板の人間なら誰でも知ってる
- 96 :
- >>94
ランチェスターの法則は戦闘に参加する人数で考える
人数でも前線にいるのと後ろで余剰戦力になってるのは別
弓や銃で後列からでも攻撃参加できるなら加える
- 97 :
- ドルフィンよりテンマの方が好き
- 98 :
- なぜ日本人女性は韓国男性に憧れるのだろうか。
まず韓国人男性は紳士的な振る舞いをします。
そして女性を大切に扱います そして情熱的です。
このような韓国人男性の振る舞いに日本人女性はコロリと落ちるのです。
日本人のような幼児的な男性にあきあきしてる裏返しの行動でしょう。
韓国人男性に憧れる日本女性は週末になるとソウルを訪れるそうです。
ソウルで運命的なを期待しての訪韓です
ソウルでは毎週末にお見合いパーテーが開かれています
日本女性と韓国男性のお見合いパーテーです
日本女性の参加者が圧倒的に多く韓国男性を集めるのに苦労するそうです。
日本女性は婚前交渉に積極的だと聞きました。 韓国では婚前交渉はタブーです。
お見合いパーテーで知り合い、その日のうちに関係を持つカップルが多いと聞きます。
「日本人女性は優秀な遺伝子を求めて韓国で股を開く」と韓国のWEBサイトで話題になっていました。
韓国では不道徳なものは、東から来ると言われています。
韓国は日本から多くの不道徳を持ち込まれています。
すべて事実だ。 日本の女は乱で男はまったく魅力がないインポ。
かわいそうな劣等民族
- 99 :
- そだね
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
ノウハウ板民で同人ゲームを作るスレ
Netゲー製作のヒント下さい。
ゲーム甲子園
家庭用ゲーム機のエミュレータ <I>