Прогрессия и кривые опыта
Проектируем рост персонажа: уровни, опыт и форму кривой, по которой растёт сила.
Прогрессия — ощущение роста: как игрок становится сильнее, открывает новое и видит результат вложенного времени.
Зачем нужна прогрессия
Прогрессия отвечает на вопрос «что я получу, если продолжу играть?». Уровни, новые умения, лучшее снаряжение — всё это превращает время в ощутимый результат. Без прогрессии многие игры быстро надоедают: core loop приятен, но непонятно, ради чего его повторять. RPG целиком построены на прогрессии.
Под прогрессией лежит фундаментальный психологический механизм — чувство компетентности. Людям приятно становиться лучше, и игры дают это ощущение в концентрированной, гарантированной форме: в реальной жизни рост даётся годами и неочевиден, а в игре полоска XP заполняется на глазах, и каждый уровень — материальное «я стал сильнее». Прогрессия превращает усилие в видимый, измеримый, неотъемлемый результат — и именно это делает её таким мощным крючком удержания. Игрок продолжает не только ради геймплея, но и ради ощущения, что время потрачено не зря и что-то накапливается.
Полезно различать два слоя прогрессии. Прогрессия персонажа — то, что растёт внутри игры: уровни, экипировка, открытые зоны. Прогрессия игрока — рост его собственного мастерства: он реально лучше целится, лучше читает поведение врага, лучше планирует. Лучшие игры дают оба слоя. В Dark Souls прогрессия персонажа умеренная, а главный рост — это рост навыка игрока: вернувшись к раннему боссу, вы побеждаете не потому, что прокачались, а потому, что научились. В гриндовых RPG, наоборот, перекошен слой персонажа, и игрок «побеждает временем», а не умением. Когда прогрессия персонажа полностью заменяет прогрессию игрока, геймплей вырождается в ожидание нужного уровня.
Кривые опыта
Сколько XP нужно на каждый уровень? Форма этой зависимости — кривая опыта — задаёт темп игры. Три базовых типа:
- Линейная — каждый уровень требует одинаково (100, 200, 300...). Рост ровный, но поздние уровни берутся слишком легко.
- Экспоненциальная — каждый следующий заметно дороже (100, 200, 400, 800...). Поздние уровни — серьёзное достижение, но есть риск гринда.
- Степенная — золотая середина (растёт быстрее линейной, мягче экспоненты).
Как работает под капотом: считаем кривую
Сравним, как растёт «цена» уровня для линейной и экспоненциальной кривых.
print("Ур | Линейная | Экспонента")
for level in range(1, 8):
linear = level * 100
exp = int(100 * (1.6 ** (level - 1)))
print(f"{level:2} | {linear:8} | {exp:8}")Вывод:
Ур | Линейная | Экспонента 1 | 100 | 100 2 | 200 | 160 3 | 300 | 256 4 | 400 | 409 5 | 500 | 655 6 | 600 | 1048 7 | 700 | 1677
Видно: сначала экспонента даже легче, но к 7 уровню требует в 2.4 раза больше, чем линейная. Так дизайнер растягивает поздние уровни, чтобы они оставались целью на десятки часов. Подбор основания (тут 1.6) — тонкая настройка: 1.2 даст пологий рост, 2.0 — крутой гринд.
Но «сколько XP нужно» — лишь половина уравнения. Темп прогрессии определяется отношением кривой цены уровня к скорости притока XP. Если враги дают всё больше опыта по мере прокачки, крутая кривая цены может ощущаться ровной; если приток постоянный, а цена растёт — каждый уровень даётся дольше предыдущего. Посчитаем именно это: сколько боёв нужно на уровень, если враг даёт фиксированные 50 XP, а цена уровня растёт по той же экспоненте.
xp_per_fight = 50
print("Ур | Нужно XP | Боёв на уровень")
for level in range(1, 8):
need = int(100 * (1.6 ** (level - 1)))
fights = -(-need // xp_per_fight) # округление вверх
print(f"{level:2} | {need:8} | {fights:3}")Вывод:
Ур | Нужно XP | Боёв на уровень 1 | 100 | 2 2 | 160 | 4 3 | 256 | 6 4 | 409 | 9 5 | 655 | 14 6 | 1048 | 21 7 | 1677 | 34
Вот где экспонента превращается в гринд: первый уровень — два боя, седьмой — уже тридцать четыре. Если ничего не менять, к десятому уровню игрок будет убивать сотни одинаковых врагов ради одной полоски. Поэтому крутую кривую цены почти всегда уравновешивают растущим притоком: новые зоны дают больше XP за бой, квесты выдают крупные порции, а старые враги перестают приносить опыт вовсе. Кривая прогрессии — это всегда баланс двух потоков, а не одна формула, и здесь она напрямую смыкается с экономикой ресурсов из прошлого урока.
Прогрессия силы vs прогрессия возможностей
Важно различать два вида роста. Прогрессия силы — цифры растут (больше урона, HP). Прогрессия возможностей — открываются новые действия (двойной прыжок, новое заклинание). Второй вид сильнее: новая способность меняет то, как ты играешь, а не только числа. Metroid и Hollow Knight строятся на прогрессии возможностей — новые умения открывают и новые зоны.
У этих видов разная судьба во времени. Прогрессия силы линейна и быстро приедается: десятое «+5% урона» ощущается слабее первого, потому что мозг воспринимает изменения относительно, а не абсолютно (то же, что инфляция в экономике — числа растут, ценность каждого падает). Прогрессия возможностей, наоборот, даёт качественные скачки: получив крюк-кошку, игрок открывает не «больше того же», а целый новый способ взаимодействия с миром, и каждое такое открытие — отдельное событие. Поэтому в играх с долгой прогрессией силу обычно перемежают возможностями: чистый рост чисел нужен, чтобы давать частые мелкие награды между редкими крупными разблокировками.
| Тип | Что меняется | Пример |
| Сила | числа (урон, HP) | +10% урона |
| Возможности | новые действия | двойной прыжок |
Метапрогрессия и «горизонтальный» рост
Отдельно стоит метапрогрессия — рост, который сохраняется между забегами в играх со смертью и перезапуском. В Hades каждый забег начинается с нуля, но между ними копятся постоянные улучшения, новые открытия и сюжет — так игра остаётся честным roguelike, но не наказывает за неудачу полностью. Метапрогрессия решает классическую проблему roguelike: «я проиграл и потерял всё» превращается в «я проиграл, но что-то унёс с собой», что резко смягчает фрустрацию.
Есть и горизонтальная прогрессия — рост не «вверх» (сильнее), а «вширь» (больше вариантов). Открытие нового класса, билда, стиля игры не делает персонажа мощнее, но даёт свежий опыт и реиграбельность. Горизонтальная прогрессия особенно ценна в долгоживущих и соревновательных играх: она даёт чувство роста, не ломая баланс инфляцией силы. Игрок, открывший десятого героя, не сильнее новичка, но у него больше выбора — а выбор, как мы помним, и есть сердце геймплея.
Частые ошибки
Гринд-стена. Слишком крутая экспонента (как показал расчёт боёв) превращает прогрессию в нудную работу, где уровень берётся часами однообразного фарма.
Только числа. Если рост — лишь увеличение цифр без новых возможностей, он быстро перестаёт радовать. +5% урона не ощущается как достижение, особенно десятое подряд.
Прогрессия вместо мастерства. Если игра позволяет «победить уровнем» любую сложность, исчезает рост игрока — остаётся только ожидание нужной цифры, и геймплей вырождается в фарм.
Итог
- Прогрессия превращает время в ощутимый результат, даёт чувство компетентности и цель повторять core loop.
- Темп задаёт не одна кривая цены, а её отношение к притоку XP; крутую кривую уравновешивают растущим притоком, иначе она вырождается в гринд.
- Прогрессия возможностей (новые действия) даёт качественные скачки и сильнее простого роста чисел; метапрогрессия и горизонтальный рост расширяют опыт, не ломая баланс.