Как вы масштабируете сложность игры с кривой? - PullRequest
0 голосов
/ 30 сентября 2018

Я просто хотел бы начать с того, что мое исчисление ужасно, и у меня практически нет опыта его использования.

Я пытаюсь найти алгоритм, который поможет масштабировать мою игру.В частности, он должен масштабировать количество волн, которые появляются на уровне.В идеале это будет любое число в качестве уровня вплоть до максимального целочисленного значения.Также будет минимальное значение и максимальное значение, которое будет минимальными волнами и максимальными волнами.Итак:

уровень = от 0 до бесконечности
minValue = 3
maxValue = 40

result = алгоритм, который будет иметь максимальную кривизну максимального значения и не должен превышать ее нетНеважно, какое значение имеет уровень.Я не уверен, как рассчитать это, но я думаю, что ему также понадобится некоторый порог, который я мог бы контролировать, чтобы диктовать кривизну, основанную на уровне.

1 Ответ

0 голосов
/ 30 сентября 2018

Попробуйте следующий подход:

 mult = Min(1, (level/MaxLevel)**Somepower))
 minValue + (maxValue - minValue) * mult

Выберите Somepower значение, подходящее для ваших задач.Например, значение 2 дает параболу (обратите внимание, что значение может быть меньше 1)

Если вы хотите более сложную кривую, покажите изображение желаемой формы.

Редактировать:

Для случая, когда кривая имеет тенденцию, но не становится выше некоторого уровня, вы можете выбрать некоторую функцию с горизонтальной асимптотой.Например:

max * x /(x+1)
or 
max * arctan(k*x) * 2 / Pi
...