我正在开发一款开放式战略游戏。我使用以下公式来计算损害:
$rand = rand($a, $b) + $c;
$damage = $rand * sqrt(($d / 20) * $c));
$a
,$b
,$c
和$d
都是用户可以在游戏过程中通过购买更好的商品来修改的值( $a
和$b
),投资项目($c
),或投资他们的角色$d
。
我现在要做的是为等式的结果增加一些随机性。但是,因为游戏是开放式的:
所以,我想添加一个随机值较小的随机值,随着输入的增加而增长,但收益递减。我确定我需要某种对数公式,但我不确定该怎么做!
答案 0 :(得分:4)
如果您计算原始伤害,因为D和R在[-1,1]中是随机的,您有很多选择。你不想要静电:
D = D + 1 * constant * R
或百分比
D = D + D * constant * R.
介于两者之间的东西可能是
D = D + sqrt(D) * constant * R.
常数和线性之间的任何D函数都会给你一个不同的平衡。