
Зачем Nexus
Делать игры сложно
Годы разработки. Каждый раз - изобретение механик и выстраивание их в системы. Хочешь добавить голод - пишешь систему голода. Хочешь, чтобы голод вызывал миграцию - добавляешь миграцию и выстраиваешь между ними связи. Хочешь, чтобы миграции вызывали войны - ещё одна связь, ещё один код, ещё месяцы работы.
Каждая новая механика умножает сложность. Не потому что идея сложная, а потому что разработка так устроена: каждая связь между системами - это отдельный код, отдельная отладка, отдельная поддержка. Чем глубже мир - тем больше связей - тем сложнее всё удержать.
Самые глубокие игры в индустрии разрабатываются десятилетиями. Цена глубины мира - годы работы.
Копирование механик
Из года в год выходит больше видеоигр. С генеративным ИИ этот поток ускорится. Игроков тоже становится больше, но не так быстро. Конкуренция за каждого игрока растёт.
При этом большинство игр внутри одного жанра устроены одинаково. RPG похожи на другие RPG, стратегии - на другие стратегии. Различия - в деталях, графике, лоре. Но каждая студия каждый раз пересобирает базу с нуля: систему боя, экономику, AI, события. Одни и те же механики переизобретаются тысячами студий параллельно.
Даже игры-песочницы остаются набором отдельных жёстких систем. Разнообразие - за счёт количества систем, а не за счёт другого подхода к самой архитектуре.
Классический подход и его пределы
Стандартный подход в индустрии: смотреть на текущие тренды и предлагать оригинальные решения, комбинируя идеи из успешных проектов.
Три основных подхода к разработке:
- Экспериментирование, "игра мечты" - максимально оригинальные проекты. Рискованно, но даёт шанс создать необычный хит.
- Клонирование - производство игр с минимальными изменениями. Самый низкорисковый путь.
- Промежуточный вариант - сочетание проверенных идей и новых элементов. Так работает большинство разработчиков.
Какой путь ни возьми - процесс остаётся эволюционным. Берёшь идею, которая выглядит перспективной прямо сейчас, и пытаешься реализовать. Итог заранее неизвестен. Даже после успешной игры следующая фактически начинается с нуля. Деньги и проверенные схемы не гарантируют результат.
Но главная проблема даже не в этом. Классический подход не масштабируется в глубину. Сложность растёт не пропорционально количеству систем, а гораздо быстрее - из-за связей между ними. Поэтому глубокие миры на классическом подходе требуют десятилетий.
Другой подход
Я использовал концепцию Идеального Конечного Результата из инженерного метода ТРИЗ. Суть: успешный проект - не результат перебора, а результат точной постановки задачи.
Первый шаг - поставить цель. Чего я хочу? Каков идеальный конечный результат? Чем точнее цель, тем проще оценивать любые идеи и тренды.
Идеальная игра как ориентир
Идеальную игру обычно описывают как симуляцию, неотличимую от реальности, где игрок может делать что угодно. Из этого определения вытекают требования:
- Игрок может быть участником событий или наблюдателем
- Нет заранее заданных жанров - игра подстраивается под запросы
- Нет разделения на одиночную и сетевую игру
- Мир реагирует естественно, без скриптов. Рутинный поход в магазин может превратиться в приключение.
Создать такую игру сейчас невозможно. Но она задаёт направление.
Любую новую идею или механику можно "примерить" к этой линии. Ложится ли она на курс, уводит в сторону или поворачивает назад. Идеи ближе к идеальной игре обладают большим потенциалом.
Популярность песочниц с реиграбельностью и модами растёт - индустрия движется в эту сторону.
Растущие ожидания игроков
Игроки хотят больше свободы, реиграбельности и возможностей - и эти запросы движутся в ту же сторону, что и идеальная игра. Они хотят экспериментировать, сочетать то, что раньше казалось несовместимым. Устоявшиеся жанры всё чаще смешиваются.
Но чем больше свободы и глубины - тем сложнее разработка. Самые перспективные направления оказываются самыми трудными.
Решение: плоская сложность
Я решил создать систему, в которой сложность не растёт с количеством механик. Как строительные блоки: камень, дерево, кирпич. Можно построить замок из миллиона блоков, и сама система не усложняется. Блоки одинаковые. Правила одинаковые. Растёт только количество, не сложность. Nexus применяет тот же принцип ко всем игровым механикам.
Добавление новой механики не должно усложнять систему. Не новый код, не новая подсистема - а новый факт в той же плоской структуре.
Основа - триплеты (факты), формат из баз знаний и семантических сетей: субъект, предикат, объект. "Засуха вызывает голод" и "война вызывает миграцию" - одна и та же структура. Не важно, описываешь ты природные явления или социальные процессы - формат один.
Формальный язык фактов масштабируется без роста сложности. Десять фактов о мире и десять тысяч фактов - та же структура, те же правила, тот же движок.
Nexus строится на фактах (утверждениях о мире), а не на коде (инструкциях для компьютера). Факты можно добавлять, убирать, комбинировать - и мир перестраивается сам.
Почему именно так
Причинно-следственные цепочки вместо скриптов. В обычной игре "засуха → голод" - это скрипт, написанный руками. В Nexus это факты: "засуха уменьшает траву", "нет травы → голод травоядных", "голод → миграция", "миграция → столкновения". Каждый факт простой.
Жанры как модули. Если механики - это факты, то жанр - это набор фактов. Подключил факты про стратегическое управление - получил стратегическую механику. Подключил факты про карточный бой - получил карточную механику. Подключил и то, и другое - получил стратегию с карточными боями.
Существующие платформы строят миры из скриптов и редакторов. Nexus строит миры из фактов - утверждений о том, как мир работает.
Опыт Clarus Victoria
За 13 лет Clarus Victoria выпустила семь игр - от исторических стратегий Stone Age и Egypt: Old Kingdom до фэнтезийной RPG Next Run. Каждая покрывала узкий сеттинг с ограниченным набором механик. Всё это время игроки просили: сделайте другие эпохи, сделайте Рим, Китай, Междуречье. И действительно, хотелось их сделать.
Всё шло неплохо, пока эпохи были малоизученными. Но когда дело дошло до периодов с обилием источников и механик - старые подходы перестали справляться. На классическом подходе это уже не годы разработки, а десятилетия. Поэтому я начал делать Nexus.
Михаил Васильев
