Як впровадити систему досвіду?


14

Зараз я пишу невеличку гру, яка ґрунтується на заробленні досвіду при вбивстві ворогів. Як завжди, кожен рівень вимагає більшого набуття досвіду, ніж рівень раніше, і на вищих рівнях, вбиваючи ворогів нагород більше досвіду.

Але у мене проблема з балансуванням цієї системи. Чи є якісь попередньо вбудовані алгоритми, які допомагають обчислити, як повинна виглядати крива досвіду, необхідна для кожного рівня? І скільки досвіду повинен забезпечити пересічний ворог на конкретному рівні?


Відповіді:


14

Ви хочете якоїсь експоненціальної кривої, ймовірно, щось подібне:

base_xp * (level_to_get ^ factor)

base_xp - константа, яка визначає, скільки xp потрібно, щоб підняти рівень.
level_to_get - рівень, якому ви прагнете; на рівні 1 це буде рівень 2.
Коефіцієнт - ще одна константа, яка визначає, скільки збільшення xp потрібно для кожного рівня.

Маючи base_xp 200 і коефіцієнт, скажімо, 2, дає щось подібне:

введіть тут опис зображення

Тоді як база_xp 50 і коефіцієнт 2,6 дає:

введіть тут опис зображення

Другий має значно нижчу швидкість запуску xp, але вам потрібно швидше більше xp.

Що стосується monster xp, то це те, що ви хочете перевірити. Спробуйте різні значення. Ви хочете чогось не надто високого (ви швидко переможете), але не занадто низького (гравці не хочуть молоти). Подумайте, скільки «стандартних» ворогів ви хотіли б, наприклад, гравця вбили для рівня 10-> 11.


3
Можливо, ви хочете більш різкої кривої, ніж наведені тут. Наприклад, у RuneScape є дуже крута крива, майже нагадує логарифмічну криву (перевернута / повертана, звичайно); дивіться це тут . Принаймні, в моєму особистому досвіді, це здається, що ДУЖЕ добре, щоб ви отримали багато швидких нагород на початку, і до моменту, коли ви досягнете більш високих рівнів, ви налаштовані на триваліші тривалість гри, поки останні кілька рівнів не займатимуться ЗАВЖДИ, але гравець якось терпить це. 99-ті досить часті, незважаючи на КРОК !! крива дістатися туди.
Ricket

Я б точно сказав, що криві тут будуть неглибокими.
Качка комуніста

будь ласка, не досвід. curve =, (- вирівнювання триває так довго з ним і ще довше, чим ближче ви до своєї мети, plssss no =. (
Дейв О.

Лінійна лінія не працюватиме. Якщо вам потрібно 1000xp більше на рівень, то, коли ви будете сильнішими, ви побачите, що це потребує все менше часу на рівень.
Качка комуністична

1
Показана функція ( base_xp * (level_to_get ^ factor)) - це насправді квадратична функція, оскільки level_to_getце значення x, а не коефіцієнт, і якщо я не помиляюся, base_xpслід додавати, а не помножувати, щоб перевести функцію вгору? Вибачте, якщо це я просто прискіпливий щодо семантики, я просто хочу переконатися в цьому, оскільки графік цієї функції точно не дає вам жодної старої експоненції.
chockie

6

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

Ця стаття - детальне розбиття рівня математики вирівнювання в Lineage II. http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/


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

4
Це посилання не існує. Ось старе посилання, яке працює: web.archive.org/web/20100303164314/http://www.tstonramp.com/…
Daniel Kaplan

Саме тому ми не посилаємось на сторінки; Ви не можете гарантувати, що вони завжди будуть існувати. Я схвалив та позначив вашу відповідь.
Krythic

@Krythic Я оновив посилання.
CiscoIPPhone
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.