Какова подходящая шкала сложности для эффективности оружия по сравнению с трудностью?

8

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

Я рассматриваю возможность создания шкалы от 1 до 10, где оружие на 1 наименее мощное, а оружие на 10 самое мощное. Я думал о том, чтобы сделать материалы, чтобы сделать оружие наиболее распространенным для оружия уровня 1, и в 10 раз менее распространенным для самого мощного оружия, но если вы посмотрите на майнкрафт, алмазы встречаются только в 0,1% блоков, и они все еще кажутся слишком распространенными, если вы не склонны к смерти, конечно.

В соответствии с фокусом приключений, было бы лучше, если бы более высокие уровни оружия исходили только из дропов монстров, или из комбинации редкого дропа монстров и добываемого предмета, или есть другие обычные игровые механики, которые я мог бы использовать, чтобы иметь супер мощное оружие, которое тоже трудно достать, но стоит ли тратить на него время?

Если сформулировать вопрос иначе, для инвестиций во время, должно ли оружие, обладающее 10-кратным мощным, занять в 10 раз больше времени, или в 20 раз или выше? Существуют ли какие-либо исследования, показывающие какую-либо связь между «забавой» в том, как долго игроки будут искать предмет, и подходящей шкалой времени для приобретения снаряжения?

кругозор
источник
Я думаю, что способ, которым этот вопрос в настоящее время задается, не подходит для сайта. Вы можете изменить его, чтобы спросить об исследованиях, алгоритмах или другой фактической информации. В противном случае вы просто получаете мнения. Это интересная идея, поэтому я думаю, что вы должны попытаться переработать ее.
MichaelHouse
В ответ на часто задаваемые вопросы я думаю, что мой вопрос относится к этой категории, «дизайн игры (дизайн уровней, геймплей, механика и т. Д.)», Учитывая, что я спрашиваю о применимой в глобальном масштабе игровой механике, а именно о проблеме временных затрат на мощное оборудование. , Однако я изменил свой вопрос, чтобы запросить больше фактических данных, а не мнений.
Кен
1
Я не уверен, что когда-либо видел термин «Fun and Grind» в предложении, которое не было уничижительным.
Джеймс
7
Вы предлагаете линейную шкалу, 10х как сильная, так и 10х как дорогая. Однако как в реальной жизни, так и в других играх этот процесс не является линейным. Автомобиль, который едет вдвое быстрее, стоит в 10 раз больше, автомобиль, который едет в три раза быстрее, стоит в 100 раз больше. И т. Д. Вы должны попытаться найти хорошую экспоненциальную кривую, такую ​​как cost = c ^ (power). Где c - хорошая константа, которую вы можете настроить, чтобы почувствовать себя правильно.
Рой Т.
7
Чтобы использовать науку или, по крайней мере, психологию, мы говорим о графике усиления с переменным соотношением. Усиление было изучено довольно мало, и вы можете прочитать об этом здесь: en.wikipedia.org/wiki/Reinforcement
буксиры

Ответы:

11

Я собираюсь ответить на это ортогонально:

Все, что вы выберете, будет неверным.

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

Единственный способ определить, какое количество гринда подходит для конкретной игры, стиля игры, пользователей и интерфейса, - это попробовать и повторить, максимизируя при этом удовольствие для игрока (или вашу прибыль ...)

Следствие: убедитесь, что изменить эти цифры легко!

Это означает, что эти цифры будут изменены. Много. Так что вам лучше убедиться, что вам не нужно перекомпилировать игру или копаться в коде для балансировки магических чисел.

Опция 1

Выберите то, что вам кажется правильным при реализации, но поместите его в перезагружаемый файл конфигурации. ( .iniJSON, XML, S-Exprs, все, что вам больше нравится ...) И убедитесь, что вы можете перезагрузить конфигурацию, не переписывая большую часть своей игры.

Вариант 2

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

#
# Power on a scale up to 10.
#
# Examples of probability scaling function
#

def probability_of_v1(power):
  """ series """
  a, b, c, d = (1,4,16,210)
  return a - x/b + (x^2)/c - x^3/d

def probability_of_v2(power):
   """ linear """
   return 1 - (power/10)

def probability_of_v3(power):
   """Sinusoidal, starts at 1, is 0 at power=10"""
   return 0.5 * cos( x / pi ) + 0.5

#
# Then, use your function instead of your probability 
# when dropping loot or creating gems
#
class Monster:
  # ...
  def on_die(self):
    if random.random() < probability_of(self.power):
      self.drop_loot()
    else:
      pass
  # ...

Попробуйте уравнения онлайн, чтобы увидеть, как они выглядят.

Brice
источник
Почему, спасибо, Корт! Я должен признать, что это мудрость, рожденная из опыта. Однажды я написал симулятор насекомых с магическими числами, разбросанными по всему коду, и провел пару неприятных дней, изменяя второстепенные параметры, когда симуляцию пришлось модифицировать. Не повторять эту ошибку снова!
Брайс
7

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

Тем не менее, Terraria действительно экспериментировала с этими идеями, которые вы упоминаете. Они увеличили количество материалов, необходимых для создания оружия, доспехов и т. Д. (Это было несколько уравновешено тем фактом, что материалы часто находились в значительных скоплениях). Они также реализовали редкие и обычные монстр-дропы, которые можно было получить только с помощью дропов.

Стоит потратить некоторое время на изучение Terraria, чтобы увидеть, каково это - использовать эту механику; тогда я уверен, что вы будете в лучшем положении, чтобы принять решение о том, как вы хотите сбалансировать количество предметов и распределение материалов.

Джейсон Х
источник
+1 за пример игры. Кроме того, я бы сказал, что это то, что нужно много тестировать, вы не можете иметь рабочий дизайн, не имея возможности испытать это.
Лоран Кувиду
4

Там нет правильного ответа. Некоторые хорошие игры сложны, некоторые легки. Некоторые игроки любят повторяющиеся испытания, некоторые любят быстрые награды. Я думаю, что правильный ответ - сначала найти свою потенциальную толпу. Как только у вас будет альфа-версия, найдите кого-то с общим складом ума, который, как вы надеетесь, будет у толпы вашей игры, и дайте им поиграть в нее. Пока вы правильно пишете код, корректировка переменных в дальнейшем не должна быть сложной, а игровое тестирование и балансировка - это этапы, которые вы должны пройти, даже если вы думаете, что достигли золотого сечения или нет.

Так что не парьтесь с цифрами во время программирования - нет теоретически правильного ответа, и позже у вас будут конкретные ответы тестировщиков.

Но, если вы все еще хотите попытаться набрать магические числа, исследования показали, что измельчение (в данном случае майнинг) эффективно только до тех пор, пока оно находится в пределах ожидаемого времени игрока. Чем больше игрок тратит время, тем дольше он может ждать следующего вознаграждения, но оно всегда должно быть в пределах досягаемого периода времени, не более чем на величину, превышающую последний период перед последним вознаграждением. Итак, я думаю, что 10-кратное увеличение времени подходит, но я не думаю, что разница между двумя уровнями оружия должна быть 10-кратной - разрыв между уровнями остается довольно широким.

Удачи!

nihohit
источник
Ух ты ... Я думал о 10-кратном увеличении между уровнями 1 и 10, но думаю, что до 10-кратного увеличения между отдельными уровнями может сработать, учитывая увеличение отдачи, как только вы начнете использовать лучшее оборудование.
Кен