Привет, Хабр!
Меня зовут Ляленков Михаил, я инди-разработчик, и последние несколько месяцев проектирую игровую систему, которая кардинально переосмысливает прогрессию в 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. Найти Учителя и потратить «Очко Просветления» на обучение уникальному умению
Ключевое отличие: Прогресс требует осмысленных действий в мире, а не механического повторения одного действия.
Обратная сторона: пороки и деградация
Система двусторонняя. Персонаж может не только развиваться, но и деградировать:
Механика пороков:
Искушение — при низкой УД/настроении
Срыв — решение поддаться (выпить, обожраться)
Временная выгода — резкий рост настроения
Долгосрочный штраф — -УД, замедление прогресса
Зависимость — порок повышает ранг, усиливая штрафы
Пьянство (Ранг 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. Обучение игрока
Сложную систему нужно подать интуитивно. Решение:
Визуальная пирамида потребностей как основной интерфейс
Контекстные подсказки («Вы голодны — это блокирует рост УД»)
Постепенное введение — сначала только базовые потребности
Почему это может быть интересно игроку?
Осмысленность — каждое действие влияет на жизнь персонажа
Драма без скриптов — истории рождаются из взаимодействия систем
Свобода выбора — можно быть трудоголиком, социальным животным, затворником
Эмоциональная вовлечённость — падение персонажа чувствуется как личная неудача
Реиграбельность — разные стили жизни = разные игровые опыты
Вопросы, которые остаются открытыми
Не слишком ли сложно? Будет ли среднестатистический игрок разбираться в системе?
Где взять учителей? Если каждый NPC живёт своей жизнью, как гарантировать доступ к прокачке?
Как избежать «симулятора сиделки»? Чтобы игрок не чувствовал себя обслуживающим персоналом для своего героя.
Мультиплеер? Как такая система будет работать с несколькими игроками?
Текущий статус проекта
Концепция: Полностью проработана (60+ страниц дизайн-документа)
Технологии: C#, MonoGame
Стадия: Ранний прототип (FSM + базовая математика Wellness)
План: Первое демо через 3-4 месяца
Если хотите следить за разработкой — подписывайтесь на Telegram-канал.
Ваше мнение?
Что думаете о таком подходе к прогрессии?
Интересная идея, хотел бы поиграть
Слишком сложно для среднестатистического игрока
Видел подобное в других играх (поделитесь примерами!)
Есть конкретные предложения/критика
Где, по-вашему, могут быть скрытые проблемы? Особенно интересует мнение:
Геймдизайнеров, работавших со сложными системами
Психологов/социологов — насколько адекватна модель?
Инди-разработчиков — реализуемо ли это в сольном проекте?
Полезные материалы
Maslow's Hierarchy of Needs — психологическая основа системы
Disco Elysium Postmortem — как делать глубоких персонажей
RimWorld's AI Storyteller — эмерджентный сторителлинг
P.S. Это мой первый пост на Хабре, буду благодарен за конструктивную критику формата и содержания.
P.P.S. Если есть вопросы по технической реализации конкретных аспектов — спрашивайте в комментариях, постараюсь ответить развёрнуто.
