Привет, Хабр!

Меня зовут Ляленков Михаил, я инди-разработчик, и последние несколько месяцев проектирую игровую систему, которая кардинально переосмысливает прогрессию в RPG. Сегодня хочу поделиться концепцией Wellness System — попыткой заменить традиционный «фарм опыта» на осмысленное управление благополучием персонажа.

Эта статья будет полезна:

  • Геймдизайнерам, ищущим альтернативы скучным системам прокачки

  • Инди-разработчикам, которые хотят создавать глубокие симуляции

  • Всем, кому интересно, как психологические теории могут быть превращены в игровые механики

Проблема: почему «убил врага — получил опыт» — это скучно?

Традиционные RPG построены на простой петле:

Убить врага → Получить опыт → Повысить уровень → Убить более сильного врага

Со временем это приводит к:

  • Отсутствию осмысленности — игрок фармит ради цифр

  • Разрыву между геймплеем и нарративом — почему мой благородный рыцарь убивает 100 крыс ради «прокачки»?

  • Предсказуемости — вся игра сводится к наращиванию статистики

Можно ли сделать прогресс осмысленным, нарративно оправданным и тесно связанным с миром?

Решение: Wellness System

Идея: Что если прогресс персонажа будет определяться не количеством убитых врагов, а качеством его жизни?

Представьте, что у персонажа есть пирамида потребностей, как в теории Маслоу, но в игровой форме:

┌─────────────────┐
│ Самореализация   │ ← Творчество, смысл, потенциал
├─────────────────┤
│ Уважение/Статус  │ ← Репутация, признание, достижения
├─────────────────┤
│ Любовь/Дружба    │ ← Отношения, семья, принадлежность
├─────────────────┤
│ Безопасность     │ ← Жильё, стабильность, защита
├─────────────────┤
│ Физиология       │ ← Еда, сон, здоровье
└─────────────────┘

Чем полнее удовлетворены потребности — тем выше Удовлетворённость (УД) персонажа. А УД — это валюта для качественного роста.

Как это работает технически?

1. Математическая модель

Удовлетворённость рассчитывается как средневзвешенная сумма всех потребностей:

УД = Σ(Значение_Потребности_i × Вес_i) / Σ(Весов)

Где:

  • Значение_Потребности ∈ [-100, 100] (от катастрофы к идеалу)

  • Вес — важность потребности на текущем ранге развития

2. Динамика изменения

УД не статична — она стремится к целевой величине, определяемой текущим состоянием потребностей:

ΔУД_за_шаг = (УД_целевая - УД_тек) × Скорость × Множитель_Настроения

Настроение здесь — ключевой множитель:

  • +50% → Ускоренный рост (персонаж мотивирован)

  • < +50% → Замедленный рост (апатия)

  • < 0% → Регресс (депрессия, УД падает даже при хороших условиях)

3. Ранги развития

При достижении УД = 100% персонаж повышает Ранг. Каждый ранг:

  • Открывает новые потребности

  • Повышает требования к старым

  • Даёт доступ к новым возможностям

Ранг 1: Выживание     (базовые потребности)
Ранг 2: Стабильность  (комфорт, безопасность)
Ранг 3: Признание     (репутация, статус)
Ранг 4: Самореализация (профессия, творчество)
Ранг 5: Просветление  (постоянный +100 к УД)

Прогресс через гармонию, а не фарм

Традиционная система:

1. Убить 10 гоблинов
2. Получить 100 опыта
3. Достичь 2 уровня
4. Разблокировать умение «Сильный удар»

Wellness System:

1. Построить безопасное жилище (+Безопасность)
2. Завести друзей в деревне (+Социальность)
3. Заняться ремеслом по душе (+Самореализация)
4. Достичь высокой УД → Повысить Ранг
5. Найти Учителя и потратить «Очко Просветления» на обучение уникальному умению

Ключевое отличие: Прогресс требует осмысленных действий в мире, а не механического повторения одного действия.

Обратная сторона: пороки и деградация

Система двусторонняя. Персонаж может не только развиваться, но и деградировать:

Механика пороков:

  1. Искушение — при низкой УД/настроении

  2. Срыв — решение поддаться (выпить, обожраться)

  3. Временная выгода — резкий рост настроения

  4. Долгосрочный штраф — -УД, замедление прогресса

  5. Зависимость — порок повышает ранг, усиливая штрафы

Пьянство (Ранг 3) = -30% к скорости роста УД

Персонаж может скатиться на социальное дно, потеряв все достижения. Это создаёт драматические сценарии без скриптовых событий.

NPC как полноценные агенты

Самое интересное: каждый NPC в игре живёт по той же системе.

У кузнеца в деревне:

  • Свои потребности (работа, отдых, общение)

  • Свой характер (трудоголик → быстрее теряет энергию)

  • Свои пороки (может спиться, если игрок постоянно заказывает оружие)

  • Своё развитие (может стать мастером или остаться подмастерьем)

Это создаёт эмерджентные истории:

  • Учитель, у которого вы хотели учиться, может потерять интерес к жизни

  • Друг может помочь в беде или, наоборот, предать ради своих потребностей

  • Вражеский лагерь может распасться из-за внутренних конфликтов

Техническая реализация: вызовы

1. Производительность

Одновременная симуляция сотен NPC с комплексной логикой — ресурсоёмкая задача. Решение:

  • Упрощённая FSM для фоновых NPC

  • Приоритетная обработка NPC в зоне видимости игрока

  • Job System-подобная архитектура для параллельных вычислений

// Упрощённый пример FSM-состояний NPC
public enum NPCState {
    Idle,          // Ожидание
    Hungry,        // Ищет еду (при голоде < 30)
    Tired,         // Ищет место сна (при энергии < 20)
    Working,       // Работает по профессии
    Socializing,   // Общается (при социальности < 40)
    Addicted       // Удовлетворяет порок (при активации)
}

2. Балансировка

Настроить веса потребностей, скорости изменений и пороги — чудовищная задача. Подход:

  • Итеративное прототипирование с минимальным набором (3 потребности, 2 ранга)

  • Адаптивная сложность — система подстраивается под стиль игры

  • Экстремальное тестирование — что будет, если игрок целый день только ест/спит?

3. Обучение игрока

Сложную систему нужно подать интуитивно. Решение:

  • Визуальная пирамида потребностей как основной интерфейс

  • Контекстные подсказки («Вы голодны — это блокирует рост УД»)

  • Постепенное введение — сначала только базовые потребности

Почему это может быть интересно игроку?

  1. Осмысленность — каждое действие влияет на жизнь персонажа

  2. Драма без скриптов — истории рождаются из взаимодействия систем

  3. Свобода выбора — можно быть трудоголиком, социальным животным, затворником

  4. Эмоциональная вовлечённость — падение персонажа чувствуется как личная неудача

  5. Реиграбельность — разные стили жизни = разные игровые опыты

Вопросы, которые остаются открытыми

  1. Не слишком ли сложно? Будет ли среднестатистический игрок разбираться в системе?

  2. Где взять учителей? Если каждый NPC живёт своей жизнью, как гарантировать доступ к прокачке?

  3. Как избежать «симулятора сиделки»? Чтобы игрок не чувствовал себя обслуживающим персоналом для своего героя.

  4. Мультиплеер? Как такая система будет работать с несколькими игроками?

Текущий статус проекта

  • Концепция: Полностью проработана (60+ страниц дизайн-документа)

  • Технологии: C#, MonoGame

  • Стадия: Ранний прототип (FSM + базовая математика Wellness)

  • План: Первое демо через 3-4 месяца

Если хотите следить за разработкой — подписывайтесь на Telegram-канал.

Ваше мнение?

Что думаете о таком подходе к прогрессии?

  1. Интересная идея, хотел бы поиграть

  2. Слишком сложно для среднестатистического игрока

  3. Видел подобное в других играх (поделитесь примерами!)

  4. Есть конкретные предложения/критика

Где, по-вашему, могут быть скрытые проблемы? Особенно интересует мнение:

  • Геймдизайнеров, работавших со сложными системами

  • Психологов/социологов — насколько адекватна модель?

  • Инди-разработчиков — реализуемо ли это в сольном проекте?

Полезные материалы

  1. Maslow's Hierarchy of Needs — психологическая основа системы

  2. Disco Elysium Postmortem — как делать глубоких персонажей

  3. RimWorld's AI Storyteller — эмерджентный сторителлинг

P.S. Это мой первый пост на Хабре, буду благодарен за конструктивную критику формата и содержания.

P.P.S. Если есть вопросы по технической реализации конкретных аспектов — спрашивайте в комментариях, постараюсь ответить развёрнуто.