Как определить количество опыта, необходимое для повышения уровня


29

Связанные вопросы по этой теме могут включать:

  1. Как мне определить, сколько очков опыта нужно, чтобы перейти на следующий уровень?
  2. Какие факторы участвуют в этом?
  3. Как сделать так, чтобы игрок не развлекался достаточно долго, пока он не выровняется?
  4. Как я могу изменить способ, которым игрок получает очки опыта?

Почему голосование за?

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

1
Я понизил голос, потому что я думал, что это был слишком расплывчатый Вопрос. Посмотрите на большинство Ответов - «нет единой формулы», «вы можете сделать это так, как вы хотите», «это зависит от типа опыта, который вы хотите создать для игрока». Ну и дела, вы можете быть более двусмысленным ? Но, видимо, никто не согласен со мной, так что вот оно ...
Циклоп

@Cyclops: Это так, чтобы мы могли определять вещи, связанные с очками опыта. Вы бы предпочли иметь тонну вопросов, основанных на баллах опыта, каждый раз, когда человек спрашивает об их игре, или вы бы предпочли одну ссылку, в которой рассказывается обо всех различных аспектах, которые вам необходимо принять во внимание. Я принял ответ Coderanger, потому что это отличная отправная точка.

Ответы:


13

Вообще говоря, они сделаны как неопределенно экспоненциальные кривые. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview показывает формулы для «Королевства ненависти», которые являются довольно стандартными для жанра MMO.


Ницца! Я понятия не имел, что существует реальное уравнение!

Не существует единой формулы, которую все используют, но с нее следует начинать.
Coderanger

Также важно учитывать XP, которую вы получаете за столкновение, поскольку она будет играть не менее важную роль в том, сколько времени потребуется, чтобы выровнять уровень.
Хенк

11

Я действительно затрагиваю эту тему, говоря о числовых отношениях в играх: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

Вы можете сделать это как хотите, хотя, как правило, он находится на возрастающей кривой (поэтому каждый уровень требует больше XP, чем предыдущий), потому что встречи / квесты, как правило, дают больше XP по мере вашего продвижения.

Ключ не в том, чтобы сконцентрироваться исключительно на кривой уровня XP или в зависимости от опыта на столкновение, а в том, чтобы сравнить их. Если кривая XP-Level увеличивается быстрее, чем XP-per-Встреча, игрок заметит, что со временем он набирает уровни медленнее, что является довольно стандартным для жанра. Тем не менее, опасность состоит в том, что если в эндшпиле уровень поднимется СЛИШКОМ и далеко друг от друга, то последним воспоминанием игрока о вашей игре будет колоссальный удар, чего вы, вероятно, тоже не хотите. Так что выясните, сколько столкновений на уровень приемлемо в конечной игре, и сколько столкновений на уровень вы хотите в ранней игре, и выполните интерполяцию оттуда.

Кроме того, я должен отметить, что вы МОЖЕТЕ иметь перекрывающиеся системы вознаграждений, отличные от XP / Levels Некоторые РПГ имеют рабочие места (так что у вас есть несколько систем прокачки / повышения), так что может пройти некоторое время между (скажем) повышением уровня вашего боевого навыка или навыка исцеления, но с достаточным количеством разных уровней, повышающих уровень, вы всегда всего лишь несколько минут от увеличения ЧТО-ТО. Другие РПГ имеют случайные выпадения предметов / снаряжения, поэтому каждое новое столкновение не только дает ХР, но и небольшой шанс получения некоторого эпического лута, поэтому вы получаете дополнительные случайные награды только за игру.


3

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

В случае с RPG ваша система, вероятно, работает в предположении, что игрок никогда не теряет опыта. Точно так же он, вероятно, захочет действовать, исходя из предположения, что относительно легко получить некоторый уровень мастерства в чем-то, но трудно овладеть им (как и большинство вещей в реальном мире). В этом случае вы можете разработать формулу (например, предложенный кодрангером), которая в некоторых отношениях будет экспоненциальной. Где количество опыта, необходимое для достижения следующего уровня, каким-то образом экспоненциально зависит от вашего текущего уровня. Однако важно учитывать скорость, с которой ваш игрок будет получать опыт во время игры. Например, игрок, убивший Огненного Демона 63-го уровня, мог бы получить больше опыта за свое убийство, чем если бы он убил Леди Баг 2-го уровня. Так что при разработке вашей формулы, убедитесь, что вы принимаете во внимание вашу систему XP. Тем более, что если вы этого не сделаете, то убить божью коровку будет так же выгодно, как и убить более сильных врагов.


Пример 1 (скорее всего, вы не используете форму): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE

Пример 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE

Где XP_TO_LEVEL - это XP, необходимая для достижения следующего уровня. CURRENT_LEVEL - текущий уровень игрока. XP_BASE - это произвольное число для определения того, сколько «стоит» каждый уровень в XP. SCALE - показатель, определяющий, как быстро масштабировать XP, необходимую для уровня. Если SCALE равен 1, то каждый уровень будет проходить опыт XP_BASE. Если SCALE меньше 1, то каждый уровень будет занимать меньше опыта, чем последний уровень. Если SCALE больше 1, то каждый уровень потребует больше опыта, чем последний уровень.

В следующей таблице предполагается, что SCALE равен 1.1, а XP_BASE - 100, как в примере 2.

Current Level   XP Needed   Increase from Last Level
1               158         0
2               339         181
3               530         191
4               728         198
5               930         202
...
10              1995        218

Пример 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1.5) * XP_BASE

Где SCALE все еще определяет, как быстро масштабировать XP_TO_LEVEL, но он работает немного по-другому.

В следующей таблице предполагается, что SCALE равен 22, а XP_BASE - 10, как в примере 3.

Current Level   XP Needed   Increase from Last Level
1               28          0
2               80          52
3               146         66
4               226         80
5               316         90
...
10              894         130

В случае клона Gradius, вы можете выбрать другую стратегию. Вы можете захотеть, чтобы игрок постоянно повышался, скажем, каждые две минуты. Кроме того, после того, как игра потеряла жизнь и, следовательно, потеряла все его приобретенные способности, вы можете помочь ему в этом, повышая его / ее уровень быстрее, пока он не достигнет соответствующего уровня для своего прогресса в игре. В этом случае ваша формула, скорее всего, будет более линейной, тем более что пользователь не видит, сколько опыта он получает за убийство. Примерно так, для выхода на новый уровень требуется 50 XP, а каждый враг стоит 1 XP. Это прекрасно работает, если вы снабжаете его относительно устойчивым потоком врагов. Но когда игрок умирает, он теряет все это! Чем вы сейчас занимаетесь? Каждый враг должен стоить больше 1 XP, чтобы достичь цели, чтобы догнать его, чтобы игра снова была честной.

Пример: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Где XP_FROM_EACH_ENEMY - это количество XP, которое враг получит, будучи убитым. BASE_XP - это сколько XP стоит врагу по умолчанию (может варьироваться в зависимости от типа врага). CURRENT_LEVEL - это уровень игрока. DESIRED_LEVEL - это уровень, на котором, по вашему мнению, должен находиться игрок.


2

Лично я пользуюсь.

C / (A x B)

Где: A = Время столкновения / убийства (средний легкий, нормальный и сильный враг) B = Опыт за убийство. (средний легкий, нормальный и сильный враг) C = Время, потраченное на повышение уровня игрока.

Примечание: все это относительно темпа и точки в игре.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.