Як визначити обсяг досвіду, необхідний для вирівнювання


29

Питання, пов’язані з цією темою, можуть включати:

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

Чому голосування проти?

+1, оскільки я багато часу пробував тут, пробуючи різні речі.
Кейсі

1
Я подав заяву, бо вважав, що це занадто розпливчасте запитання. Подивіться на більшість відповідей - "не існує єдиної формули", "ви можете зробити її як завгодно", "це залежить від типу досвіду, який ви хочете створити для гравця". Боже, ти можеш бути більш неоднозначним ? Але, мабуть, ніхто більше не погоджується зі мною, тож ось воно ...
Циклоп

@Cyclops: Це так, щоб ми могли визначити, що стосується балів досвіду. Ви б хотіли мати багато питань, що базуються на досвіді кожного разу, коли людина запитує про свою гру, або ви хочете мати одне посилання, яке розповідає про всі різні аспекти, які потрібно враховувати. Я прийняв відповідь кодекса, тому що це чудове місце.

Відповіді:


13

Взагалі це робиться як невиразно експоненціальні криві. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview показує формули для Kingdom of Loathing, які є досить стандартними для жанру MMO.


Приємно! Я не мав уявлення, що існує фактичне рівняння!

Не існує єдиної формули, якою користуються всі, але це має бути з чого почати.
кодерангер

Важливо врахувати і XP, який ви отримуєте за кожну зустріч, оскільки це буде відігравати не менш важливу роль у тому, скільки часу потрібно на рівень.
Хенк

11

Я фактично висвітлюю цю саму тему, коли говорю про числові відносини в іграх: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

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

Ключ не в тому, щоб концентруватися тільки на кривій рівня XP або на кривій XP за зустріч, а на порівнянні двох з них. Якщо крива рівня XP зростає швидше, ніж XP за зустріч, гравець помітить, що вони з часом набирають рівня повільніше, що є досить стандартним для жанру. Однак небезпека полягає в тому, що якщо підйоми рівнів отримають ТОО декількох і далеко між ними у фінальній грі, то останньою пам’яттю гравця вашої гри буде колосальний мелірування, якого ви, мабуть, і не хочете. Тож з’ясуйте, скільки зустрічей на рівні вгору є прийнятними в кінцевій грі, і скільки зустрічей на рівень вгору, які ви хочете в першій грі, і інтерполюйте звідти.

Також слід зазначити, що ви МОЖЕТЕ мати системи, що перекривають нагороди, які перетинаються, крім XP / Levels. У деяких RPG є очки роботи (тому у вас є кілька систем вирівнювання / просування), так що це може пройти деякий час між (скажімо) вирівнюванням своєї майстерності бойових дій або вашої майстерності зцілення, але з достатньо різними речами, які вирівнюються, ви завжди просто кілька хвилин від збільшення ДІЯЛЬНОСТІ. В інших RPG є випадкові краплі предметів / обладнання, тому кожна нова зустріч не лише дає XP, але і невеликий шанс генерувати якийсь епічний награб, тому ви отримуєте додаткові випадкові нагороди лише за гру.


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, то кожен рівень забирає більше досвіду, ніж останній.

Наступна таблиця передбачає СКАЛЮ 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

У випадку з клоном Градіус ви можете скористатися іншою стратегією. Ви можете захотіти, щоб гравець послідовно піднімався, скажіть про кожні дві хвилини. Крім того, після того, як п'єса втратила життя і, отже, втратила всі свої здобуті сили, ви, можливо, захочете допомогти йому, швидше вирівнюючи його, доки він не досягне відповідного рівня для свого прогресу в грі. У цьому випадку ваша формула, ймовірно, буде більш лінійною, тим більше, що користувач не може зрозуміти, скільки досвіду він отримує за вбивство. Щось подібне, для досягнення нового рівня потрібно 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.