dudeonthehorse
@dudeonthehorse
Email Developer

Как рассчитывать опыт и уровень персонажей?

Доброе утро,


посоветуйте где почитать по тема сабжа. Желательно ссылки на конкретные материалы, а не просто сайты по геймдеву. Диапазоны значений, баланс(для того, чтобы персонаж не слишком долго и не слишком быстро качался), примеры, нюансы.
  • Вопрос задан
  • 31604 просмотра
Пригласить эксперта
Ответы на вопрос 8
Ogra
@Ogra
Прогресс персонажа:

Вариант 1. Постоянный рейт — т.е. всегда 1000 XP на уровень
Вариант 2. Арифметическая прогрессия — 1000 XP + 100 * N на уровень
Вариант 3. Геометрическая прогрессия — 1000XP * (1.1)N

Прогресс XP, получаемый за выполнение игровых задач
1. Постоянный — время, затраченное на достижение нового уровня, всегда одинаковое
2. Уменьшающийся — чем выше уровень, тем больше требуется опыта.
Пример: пусть кол-во опыта на уровень постоянно: 1000 XP.
XP убийство моба = 100 * (10 + LVL моба — LVL игрока)/(10 + LVL игрока). На первом уровне нужно убить 10 мобов своего уровня, на десятом — двадцать.

Я советую вам взять любую простой вариант. Скажем, геометрическая прогрессия (формулы известны со школы). И начать экспериментировать с коэффициентами.
Ответ написан
Lerg
@Lerg
Defold, Corona, Lua, GameDev
В инете информации на эту тему немного. Но вы можете посмотреть как устроена такая система в разных играх. Я раньше играл в Ragnarok и для него есть специальные калькуляторы, которые расчитывают все показатели. Внутри нее есть все формулы игры (с достаточной точностью):
ro.doddlercon.com/calc/calcx.html
Тут можно одеть персонажа, прокачать и посмотреть как он дерется против разных монстров, расчитывается также показатель скорости прокачки.
Таблица опыта тоже есть в сети:
www.roempire.com/database/?page=misc&act=exptables
Ответ написан
@egorinsk
На такие вопросы (вообще на вопросы по гейм девелопменту) нет особого смысла искать ответа в статьях. Берете свою любимую игру и смотрите, как там сделано.
Ответ написан
@1x1
Никакие таблицы не будут правильными в отрыве от других факторов. Лично я предпочитаю 1000 опыта на уровень — всё равно от этого числа, по большому счёту, ничего не зависит.

Рассчитывайте время, через которое надо будет подогревать интерес, исходя из собственной игры, и подгоняйте к нему уровни (таблицы опыта общего/боевого/квестового/с триггеров/...).
Ответ написан
iZtiEV
@iZtiEV
Вот как это сделано в WoW: Experience point, XP to level.

Только там с ростом левела растет не только количество необходимого опыта для левел-апа, но и количество получаемого опыта от убийства мобов (своего уровня) и выполнение квестов: рост времени на уровне небольшой даже при сильном увеличении необходимых ХР, т.е прокачка персонажа с 81 до 82 уровня (2М опыта) займет ненамного больше времени прокачки с 84 по 85 уровни (9М опыта)
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Мне кажется, количество опыта, нужное для левел-апа — величина достаточно произвольная. Только надо будет потом балансировать количество экспы от монстров и квестов — вот где собака зарыта.
Допустим, на первый левел-ап нужно 1000 экспы, в нубятнике из монстров есть крысы и волки, и два квеста. Прикиньте, сколько нужно убить крыс и волков, чтобы за полчаса-час получить первый уровень, введите это значение в игру и попробуйте поиграть.

Как я понимаю, все эти параметры потом рассчитываются эмпирически гейм-дизайнерами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы