Как я могу добавить случайный «пух» к этой формуле, чтобы случайность уменьшалась при увеличении значений? - PullRequest
0 голосов
/ 24 декабря 2010

Я разрабатываю открытую стратегическую игру.Я использую следующую формулу для расчета урона:

$rand = rand($a, $b) + $c;
$damage = $rand * sqrt(($d / 20) * $c));

$a, $b, $c и $d - все значения, которые могут быть изменены пользователем в ходе игрылибо путем покупки лучшего предмета ($a и $b), вложения в предмет ($c) или вложения в их персонажа $d.

Что я хочу сделать сейчас, так это добавитьнемного случайности в результате уравнения.Однако, поскольку игра открыта:

  1. статическое значение со временем станет незаметным / незначительным.
  2. значение в процентах может привести к слишком большому количеству шума со временем.

Итак, я хочу добавить случайное значение, которое сначала мало, растет с увеличением входных данных, но имеет убывающую отдачу.Я уверен, что мне нужна какая-то логарифмическая формула, но я не уверен, как это сделать!

1 Ответ

4 голосов
/ 24 декабря 2010

Если вы рассчитываете свой первоначальный урон, когда D и R случайны в [-1,1], у вас есть много вариантов.Вы не хотели статического:

D = D + 1 * constant * R

или в процентах

D = D + D * constant * R.

Что-то среднее может быть

D = D + sqrt(D) * constant * R.

Любая функция D между постоянной и линейнойдать вам другой баланс.

...