движки миров_ Оглавление
03
Блок I · Инженерия миров · Глава 3 из 10

Живые миры и эмерджентность

Dwarf Fortress, RimWorld, The Sims и X4 как работающие прототипы «движка компании»: теория эмерджентности, четыре архитектуры агентных «мозгов», LOD симуляции — и самые дорогие провалы жанра.

~4 900 слов~25 мин чтения8 схем8 кейсов-досье

Эта глава — о жанре игр, который ближе всего подошёл к задаче, ради которой пишется весь учебник: к симуляции организации как живого мира. Dwarf Fortress, RimWorld, The Sims, X4: Foundations — это, по существу, работающие прототипы «движка компании»: в них десятки и тысячи агентов с потребностями, эмоциями и памятью производят ресурсы, торгуют, конфликтуют, выгорают и создают истории, которые никто не писал заранее. Здесь же лежат и самые дорогие уроки: SimCity (2013) показал, что бывает, когда агентную симуляцию превращают в маркетинговый лозунг, а Cities: Skylines II — что глубина симуляции бесполезна, если её экономический контур несбалансирован и непрозрачен. Мы разберём теорию эмерджентности и spectrum «скриптованный дизайн — симуляция», затем технический инструментарий агентных «мозгов» (utility AI, GOAP, behavior trees, needs-модели) и уровни детализации симуляции, а затем — детальные кейсы. После ключевых разделов — врезки с прямыми переносами на движок управления компанией.

24 года
Dwarf Fortress в разработке с 2002-го — практически одним программистом
700 тыс.
строк кода Dwarf Fortress — самый радикальный эксперимент simulation-first
42%
«пути к симуляции бытия» — полушутливая самооценка Тарна Адамса
×0,5–1,5
множитель силы инцидентов у рассказчика Рэнди в RimWorld — чистая случайность
30%
вероятность выстрела турели X4 в low attention — цена расхождения уровней LOD
эмерджентность — незапрограммированное поведение системы GOAP — агент сам планирует цепочку действий (A*) utility AI — выбор действия по функции полезности smart objects — объекты рекламируют действия агентам needs-модель — убывающие потребности управляют выбором AI-рассказчик — драматургический дозатор событий LOD-пузырь — полная симуляция только вокруг наблюдателя world states — событийные переключатели состояния мира апофения — игрок достраивает смысл в пробелах

3.1 Эмерджентность и два полюса дизайна

Эмерджентность (emergence) — это появление у системы свойств и поведения, которых нет ни у одного из её компонентов и которые не были явно запрограммированы. Классическая формула Уилла Райта (Will Wright), создателя SimCity и The Sims, из доклада «Dynamics for Designers» (GDC 2003): динамика — это «правила и принципы, управляющие тем, как структуры меняются во времени», а эмерджентность позволяет «моделировать большие пространства возможностей простыми компонентами» (видео в GDC Vault). Райт настаивал: дизайнер эмерджентной системы проектирует не результат, а ландшафт возможностей — и должен мыслить как учёный (строить модели, проверять их прототипами), а не как автор сценария.

«Эмерджентность позволяет моделировать большие пространства возможностей простыми компонентами. Проектируйте не результат — проектируйте ландшафт возможностей».
Уилл Райт, создатель SimCity и The Sims — «Dynamics for Designers», GDC 2003

Отсюда два полюса проектирования миров. Скриптованный дизайн (scripted design) — автор заранее прописывает события, реплики, последовательности; мир — это декорация вокруг заготовленного контента. Он даёт полный авторский контроль над качеством каждой минуты, но контент конечен: сыгранный скрипт не повторяется, а стоимость каждого часа игры линейно оплачена трудом сценаристов. Симуляционный дизайн (simulation-first design) — автор прописывает правила и начальные условия, а события порождаются взаимодействием систем. Тайнан Сильвестр (Tynan Sylvester), автор RimWorld, в книге «Designing Games: A Guide to Engineering Experiences» (O'Reilly, 2013) формулирует это так: игра — «странная машина, движок переживаний» (engine of experience); дизайнер не пишет события, он проектирует механики, которые генерируют события во время игры (книга).

Теоретическую рамку для нарративной стороны дал Генри Дженкинс (Henry Jenkins) в эссе «Game Design as Narrative Architecture» (2004): гейм-дизайнер — не рассказчик, а «нарративный архитектор», и один из четырёх типов нарративной архитектуры — эмерджентный нарратив, где пространство игры «насыщено нарративным потенциалом», а историю собирает сам игрок (текст эссе). Дженкинс приводил в пример The Sims — задолго до Dwarf Fortress-ренессанса.

Важно понимать: полюса — это спектр, и все успешные «живые миры» гибридны. Crusader Kings III кладёт скриптованные события поверх симуляции характеров; RimWorld вручную настраивает вероятности инцидентов; даже Dwarf Fortress жёстко кодирует структуру мифогенерации. Вопрос дизайна не «скрипт или симуляция», а что именно симулировать честно, что аппроксимировать, а что заскриптовать — и весь опыт жанра, разобранный ниже, есть по сути каталог ответов на этот вопрос.

Скриптованный дизайн автор пишет события; контент конечен Simulation-first автор пишет правила; события вычисляются сюжетные AAA Crusader Kings III события поверх симуляции The Sims RimWorld рассказчик дозирует инциденты X4: Foundations Dwarf Fortress Все успешные живые миры — гибриды: вопрос не «скрипт или симуляция», а что симулировать честно
Рис. 3.1. Спектр «скриптованный дизайн ↔ simulation-first». Ни одна успешная игра не сидит на полюсе: CK3 кладёт скрипты поверх симуляции характеров, RimWorld дозирует события рассказчиком, и даже Dwarf Fortress жёстко кодирует структуру мифогенерации.
💡 Что взять для движка управления компанией

Движок компании — это принципиально simulation-first задача: события в бизнесе (уход ключевого сотрудника, срыв поставки, каскад перегрузки) не пишутся сценаристом, а порождаются взаимодействием агентов и ресурсных контуров. Но урок гибридности прямой: симулируйте честно только те контуры, где важна причинность (нагрузка → выгорание → увольнение), аппроксимируйте статистикой фоновые (рынок труда в целом), и скриптуйте редкие регуляторные/внешние события как «инциденты от рассказчика». Проектируйте пространство возможностей, а не прогноз.

3.2 Мозги агентов: четыре архитектуры принятия решений

Живой мир стоит на агентах, и сорок лет игрового ИИ выработали четыре основные архитектуры их «мозгов». Они различаются по одной оси: сколько авторского контроля вы сохраняете против того, сколько неожиданного поведения получаете.

Конечные автоматы (Finite State Machines, FSM) — исторический базис: агент находится в одном из состояний («патрулирует», «атакует», «бежит»), переходы прописаны вручную. Просто, предсказуемо, но комбинаторно взрывается: каждое новое состояние требует продумать переходы со всеми существующими.

Деревья поведения (behavior trees) — ответ на этот взрыв. Дэмиан Исла (Damian Isla) в докладе «Handling Complexity in the Halo 2 AI» (GDC 2005) показал, как иерархическая декомпозиция решений — дерево, где узлы-селекторы выбирают ветку по приоритету и условиям, — даёт «масштабируемую архитектуру мозга»: поведение остаётся авторским и отлаживаемым, но новые ветки добавляются локально, без переписывания всего автомата (материал GDC). Деревья поведения стали индустриальным стандартом для реактивных агентов, но плохо порождают неожиданное: дерево делает только то, что в него вписали.

Планировщики (GOAP, Goal-Oriented Action Planning) — следующий шаг к автономии. Джефф Оркин (Jeff Orkin) в знаменитой работе «Three States and a Plan: The A.I. of F.E.A.R.» (GDC 2006) описал архитектуру шутера F.E.A.R.: у агента всего три состояния FSM, но набор целей и библиотека действий с предусловиями и эффектами, а последовательность действий агент планирует сам алгоритмом A* — тем же, что используется для поиска пути, только в пространстве действий (PDF доклада). Следствие: солдаты F.E.A.R. сами «изобретали» опрокидывание шкафов ради укрытия и обходы с фланга — дизайнеры добавляли действия, а комбинации возникали эмерджентно. Цена — потеря прямого контроля и сложность отладки: «почему он это сделал?» требует реконструкции плана.

Утилитарный ИИ (utility AI) — доминирующая архитектура именно для симуляций живых миров. Идея: каждое возможное действие оценивается численно — функцией полезности от текущего состояния агента и мира, — и агент выбирает действие с наилучшим счётом (или взвешенно-случайно из лучших). Библия подхода — книга Дэйва Марка (Dave Mark) «Behavioral Mathematics for Game AI» (2009): полезность строится из кривых отклика (response curves) — нелинейных преобразований «голод 90% важнее в десять раз, чем голод 50%». Марк с Кевином Диллом (Kevin Dill) продвигали подход в докладах GDC AI Summit «Improving AI Decision Modeling Through Utility Theory» (2010) (слайды), а в 2013-м Марк представил обобщённую архитектуру Infinite Axis Utility System — полностью data-driven систему, где дизайнер добавляет «оси» оценки без программирования (доклад «Architecture Tricks», GDC 2013). Сильные стороны утилитарного ИИ — плавность и контекстность: агент не «переключается» между режимами, а непрерывно переоценивает всё; слабая — та же, что у GOAP: поведение настраивается кривыми, а не читается из кода.

FSM конечные автоматы патруль атака бегство переходы прописаны вручную;комбинаторный взрыв Behavior Tree Halo 2 · GDC 2005 селектор бой поиск отход ветка по приоритету и условиям;масштабируемо, но не удивляет GOAP F.E.A.R. · GDC 2006 цель: убить врага A* в пространстве действий план: укрытие → фланг агент планирует сам;комбинации эмерджентны Utility AI The Sims · RimWorld есть: 0,91 спать: 0,55 общаться: 0,20 выбор: max полезности нелинейные кривые отклика;непрерывная переоценка максимум авторского контроля максимум автономии и эмерджентности
Рис. 3.2. Эволюция «мозгов» агентов и способ выбора действия в каждой архитектуре: FSM переключает состояния по вручную прописанным переходам, behavior tree спускается по дереву приоритетов, GOAP строит план алгоритмом A*, utility AI непрерывно пересчитывает полезность всех действий по кривым отклика.

Частный, но исторически важнейший случай утилитарного ИИ — needs-модель (needs/motives) The Sims, разобранная в §3.6: потребности агента убывают со временем, а объекты мира сами рекламируют, какие потребности они удовлетворяют.

💡 Что взять для движка управления компанией

Сотрудник в движке компании — это классический utility-агент с needs-моделью: оси «доход», «интерес», «признание», «перегрузка», «отношения с руководителем» и кривые отклика (недоплата на 10% почти незаметна, на 40% — доминирует всё). Behavior trees оставьте для регламентных процессов (онбординг, согласование), где нужна предсказуемость; GOAP — для «инициативных» агентов уровня руководителей, которые планируют последовательности действий к цели. Главный практический урок Дэйва Марка: полезности должны быть data-driven и настраиваемыми без перекомпиляции — в движке компании коэффициенты кривых это и есть «культура» и «политики», которые вы калибруете по реальным данным.

3.3 LOD симуляции: мир за пределами взгляда

Ни один живой мир не симулируется целиком на полной детализации — и честное признание этого факта есть отдельная дисциплина: уровень детализации симуляции (simulation LOD). Классическая формулировка — у Стивена Ченни (Stephen Chenney, «Simulation Level-of-Detail», GDC 2001): игрок воспринимает лишь малую область пространства, значит вне её симуляцию можно огрублять или выключать; хрестоматийный пример — Midtown Madness, где машины симулируются только внутри сферы вокруг игрока и «отражаются» от её границ (PDF).

Зрелые миры строят пузырь внимания (attention bubble) с несколькими ступенями. Эталон — X4: Foundations: всё внутри пузыря игрока живёт в режиме «high attention» (полная физика, попадания снарядов, манёвры), всё снаружи — в «low attention»: бой превращается в квази-пошаговый расчёт с вероятностями попадания и модификаторами урона. Ступени дают огромную экономию, но порождают собственный класс багов правдоподобия: сообщество X4 документирует, что в low attention турели стреляют лишь с 30-процентной вероятностью, из-за чего корабли, зависящие от турелей, за пределами взгляда игрока систематически слабее (разбор сообщества, видеотесты). Урок: разные LOD должны давать статистически совпадающие исходы, иначе мир «жульничает», и игроки это обнаруживают.

остальная галактика: агрегаты и статистика игрок high attention low attention квази-пошаговый расчёт боя полная физика: снаряды, манёвры Баг правдоподобия в low attention турели стреляютс вероятностью лишь 30% —корабли «за кадром» слабее Требование к LOD разные уровни детализацииобязаны давать статистическисовпадающие исходы
Рис. 3.3. Пузырь внимания X4: полная физика внутри (high attention), вероятностный расчёт снаружи (low attention), статистика — за границей пузыря. Экономия огромна, но если правила ступеней расходятся (турели с 30% вероятностью выстрела), мир «жульничает» — и игроки это обнаруживают.

Обратный пример — Kenshi: мир огромен и производит впечатление живого, но в ванильной версии полноценно симулируется только окрестность игрока; рейды на вашу базу прекращаются, когда вы уводите оттуда камеру (обсуждение). Живость Kenshi достигается другим приёмом — реактивными состояниями мира (world states): смерть лидера фракции переключает состояние целых городов и регионов. Это дёшево и мощно, но событийно, а не непрерывно; характерно, что сообщество построило мод Kenshi Virtual Simulation Engine, добавляющий именно непрерывную фоновую жизнь — NPC физически путешествуют между городами по атласу мира (страница мода). Dwarf Fortress решает ту же задачу третьим способом: события «за кадром» (армии, миграции, интриги) считаются на абстрактном историческом уровне, тем же кодом, что и генерация истории мира.

💡 Что взять для движка управления компанией

LOD симуляции — центральная архитектурная идея для движка компании: подразделение «в фокусе» руководителя симулируется поагентно, остальные — агрегатами (статистические распределения нагрузки, текучести, выручки), с бесшовным «довыращиванием» деталей при наведении фокуса. Два обязательных требования из опыта X4 и Kenshi: (1) агрегатный уровень должен быть откалиброван так, чтобы давать те же средние исходы, что и поагентный — иначе выводы зависят от того, куда «смотрели»; (2) реактивные world states (уход ключевой фигуры переключает состояние целого контура) — дешёвый способ живости там, где непрерывная симуляция не окупается.

3.4 Dwarf Fortress: симуляция как мировоззрение

Dwarf Fortress братьев Тарна и Зака Адамсов (Tarn & Zach Adams) разрабатывается с 2002 года, содержит порядка 700 тысяч строк кода, написанных практически одним программистом (интервью Stack Overflow, 2021), и остаётся самым радикальным экспериментом simulation-first дизайна. Тарн Адамс полушутя оценивал прогресс как «42% на пути к симуляции бытия» (PC Gamer).

Генерация мира и истории. Перед игрой Dwarf Fortress генерирует не карту, а мир с прошлым: геология и климат, затем сотни лет симулированной истории — цивилизации растут и воюют, персонажи-исторические фигуры рождаются, совершают деяния, оставляют артефакты и могилы. Всё это записывается и доступно игроку в режиме «Легенды» (Legends mode) — фактически встроенной энциклопедии сгенерированного мира. Принципиально: история — не текстовая заглушка, а те же структуры данных, что живут в реальном времени; когда вы начинаете крепость, соседний гоблинский владыка — конкретная историческая фигура со счётами к вашей цивилизации.

Мифогенерация. На GDC 2016 в сессии «Practices in Procedural Generation» Адамс вживую показывал следующий слой — генератор мифов творения: система порождает связную космологию (мировое яйцо, войны богов, происхождение рас), и миф не остаётся текстом, а прошивается в механику — «осколки космического яйца» становятся континентами на карте, структура пантеона определяет магию и проклятия (запись в GDC Vault, разбор). Это ключевая идея DF: каждый новый слой симуляции обязан быть каузально связан с остальными, а не декоративен.

Симуляция персонажей. Дварф — это стек: физиология (тело по частям, вплоть до тканей), потребности, черты личности (несколько десятков фасетов по мотивам психологической «Большой пятёрки»), ценности культуры, навыки, отношения и — главное — память и эмоции. События проходят через фильтр личности и порождают эмоции из словаря более чем в сотню состояний; сильные переживания оседают в долговременную память и годы спустя влияют на психику (PC Gamer о «более человечных, чем люди» дварфах, GDC 2025). В докладе «Villains» (Roguelike Celebration 2018) Адамс описывал следующий уровень — систему злодеев: персонажи со сформированными обидами строят интриги, вербуют агентов, плетут заговоры через сети отношений (обсуждение).

Эмерджентные легенды. Канонический пример того, что из этого рождается, — «Boatmurdered» (2006): коллективное прохождение, где крепость пережила осаду стадами слонов, затопление, потоп магмы, сжёгший торговый караван, недели дыма, эпидемию безумия и финальный пожар, оставивший в живых одного ребёнка в комнате с костями (Wikipedia). Никто не проектировал этот сюжет — он вычислился.

Свежая динамика (2023–2026). После выхода Steam-версии (декабрь 2022) проект вошёл, по словам разработчиков, в «новую эру»: режим приключенца вышел в январе 2025 (GamingOnLinux), в ноябре 2025 вышло обновление осад, а серия обновлений Myth & Magic (магия, армии, дипломатия) заявлена на 2026 год; попутно процедурные генераторы существ и проклятий переведены в открытые Lua-скрипты для моддеров (devlog Kitfox, PC Gamer).

💡 Что взять для движка управления компанией

Три переноса. Первый: мир должен иметь прошлое — движок компании, стартующий с «нулевого дня», нереалистичен; инициализируйте его историей (сгенерированной или импортированной из реальных данных), потому что текущие отношения, обиды и репутации — функции истории. Второй: память агентов — сотрудник, «помнящий» отменённое повышение двухлетней давности, ведёт себя иначе; без долговременной памяти эмоциональная симуляция вырождается в шум. Третий: режим «Легенды» — движку компании нужен запросный слой над всей историей симуляции («почему департамент X потерял треть людей в Q3?»), т.е. каждое событие должно писаться с каузальными ссылками. И предостережение: DF разрабатывается 24 года — глубина каждого контура должна оправдываться решениями, которые она поддерживает, а не красотой самой симуляции.

3.5 RimWorld: рассказчик поверх симуляции

RimWorld Тайнана Сильвестра — самый поучительный кейс для практика, потому что это Dwarf Fortress, пересобранный с дисциплиной продакт-менеджера. В докладе «RimWorld: Contrarian, Ridiculous, and Impossible Game Design Methods» (GDC 2017) Сильвестр формулирует установку: RimWorld проектировался не как игра, а как генератор историй (story generator), и каждая механика оценивалась по одному критерию — порождает ли она историю (видео, слайды).

Отсюда два дизайнерских хода. Первый — осознанное упрощение: симулируется психология, бой, климат, торговля, болезни — но каждая система намеренно мельче, чем в DF, если глубина не конвертируется в сюжет. Второй — знаменитый AI-рассказчик (AI Storyteller): надстройка над симуляцией, которая дозирует события. Рассказчик — это алгоритм, выбирающий инциденты (рейд, груз с орбиты, психическая волна, нашествие) из категоризированной базы на основе статистик колонии. Ключевые входы: богатство колонии (стоимость построек, вещей, колонистов — от него линейно растёт сила рейдов), численность людей, недавние потери и время с последнего кризиса; система «адаптации» повышает давление, если игрок давно не терял колонистов, — баланс игры прямо предполагает потерю пешки каждые 20–30 игровых дней (RimWorld Wiki: AI Storytellers).

Три персонажа-рассказчика — это три политики дозирования одного и того же потока. Кассандра (Cassandra Classic) ведёт классическую кривую напряжения: удар — передышка — удар сильнее, примерно 1–2 рейда на ~10,6 дня с минимальным интервалом. Фиби (Phoebe Chillax) растягивает паузы (~16 дней между рейдами), но на высокой сложности бьёт так же больно. Рэнди (Randy Random) снимает расписание вовсе: чистые случайные броски с множителем силы от ×0,5 до ×1,5 — он может прислать два рейда подряд или молчать месяц, потому что «для него всё это — драма» (RimWorld Wiki). Обратите внимание на архитектурную чистоту решения: симуляция (колонисты, потребности, психика, экономика) полностью отделена от драматургического контура, и последний — маленький, дешёвый и настраиваемый.

Честная симуляция колонисты · психика · экономикаклимат · бой · болезни метрики AI-рассказчик богатство → сила рейдов (линейно)адаптация: нет потерь → давление ↑ Инцидент рейд · грузпсиховолна инцидент меняет состояние колонии — потери, богатство, драма → новые входы рассказчика Кассандра Cassandra Classic кривая напряжения: удар — передышка — сильнее Фиби Phoebe Chillax паузы ~16 дней, но бьёт так же больно Рэнди Randy Random без расписания: случайные броски ×0,5–1,5
Рис. 3.4. Драматургический контур RimWorld: честная симуляция отделена от рассказчика, который по метрикам колонии (богатство, потери, адаптация) выбирает инциденты. Кассандра, Фиби и Рэнди — три политики дозирования одного и того же потока событий.

Третий ход Сильвестра — ставка на апофению: человеческую склонность достраивать смысл. RimWorld намеренно оставляет пробелы (у персонажей скупые биографии, конфликты обозначены крупными мазками), и игрок сам дорисовывает мотивы и драму — «мы заставили игроков переживать содержание, которого в игре нет» (разбор Game Developer). Симуляция обязана давать правдоподобный скелет причинности; мясо истории игрок нарастит сам.

«Мы заставили игроков переживать содержание, которого в игре нет».
Тайнан Сильвестр, автор RimWorld — о ставке на апофению; GDC 2017 / Game Developer
💡 Что взять для движка управления компанией

Идея AI-рассказчика переносится почти дословно — как контур стресс-тестирования: отдельный от симуляции модуль, который дозированно вбрасывает инциденты (уход ключевого человека, срыв контракта, проверка регулятора, скачок спроса) по политикам «Кассандра» (регулярные нагрузочные волны для тренировки устойчивости), «Фиби» (редкие, но тяжёлые хвостовые риски) и «Рэнди» (моделирование подлинной случайности для оценки хрупкости). Масштабирование угрозы от «богатства» — готовая механика реализма: чем больше компания, тем крупнее её риски. И принцип Сильвестра как дисциплина скоупа: каждый контур симуляции обязан отвечать на вопрос «какое управленческое решение он улучшает?» — иначе он не нужен, сколь бы красив ни был.

3.6 The Sims: умные объекты и распределённый интеллект

The Sims (2000) — коммерчески самый успешный агентный симулятор в истории, и его архитектура — образец инженерной элегантности. Уилл Райт ещё в лекции 1996 года в Стэнфорде (проект тогда назывался «Dollhouse») описал ключевую инверсию, вдохновлённую муравьями: «муравьи глупы, но их интеллект распределён по среде… можно ли симулировать человеческий быт, перенеся интеллект из агента в окружение?» (конспект и видео Дона Хопкинса).

Реализация — умные объекты (smart objects). У агента-сима есть набор потребностей/мотивов (needs/motives): голод, энергия, гигиена, мочевой пузырь, комфорт, развлечение, общение, окружение — шкалы, дрейфующие вниз со временем. Сам сим почти ничего не «знает» о мире. Зато каждый объект рекламирует (advertises) действия и обещанное удовлетворение потребностей: холодильник транслирует «еда: +40 к голоду», кровать — «сон: +энергия». Агент собирает рекламу доступных объектов, взвешивает её текущими потребностями (реклама еды почти не слышна сытому симу), затуханием по расстоянию и личностными коэффициентами — и выбирает лучшее действие. Полезность считается по нелинейным кривым: потребность у критической отметки перевешивает всё (архитектура детально разобрана в лекции Джейми Дорнбоса и Кена Форбуса «Under the Hood of The Sims», Northwestern University (материалы курса) и в эссе Марка Брауна «The Genius AI Behind The Sims» (GMTK)).

Агент-сим почти ничего не «знает» о мире голод 82% энергия 45% общение 20% взвешивание: нелинейные кривые ×расстояние × личность Холодильник рекламирует: «еда → голод +40» Кровать рекламирует: «сон → энергия +» Телевизор рекламирует: «развлечение +20» реклама действий выбор лучшего действия: голоден → к холодильнику действие изменяет потребности → шкалы снова дрейфуют вниз → петля повторяется
Рис. 3.5. Петля smart objects: интеллект перенесён из агента в среду. Объекты рекламируют действия с обещанным приростом потребностей; агент взвешивает рекламу своими needs-кривыми, расстоянием и личностью — и выбирает лучшее. Новый объект приносит поведение с собой.

Следствия этой инверсии огромны. Во-первых, расширяемость без перепрограммирования агентов: каждый новый объект (в том числе из дополнений и от моддеров) приносит своё поведение с собой — агенты автоматически умеют им пользоваться. Именно это позволило франшизе двадцать лет наращивать контент. Во-вторых, баланс поведения настраивается данными объектов, а не кодом ИИ. В-третьих — неожиданный урок про геймплей: Райт признавался, что первую версию ИИ пришлось ухудшать, потому что симы на автопилоте жили лучше, чем под управлением игрока, — «почти всё, что делал игрок, было хуже автопилота» (PC Gamer). Оптимальность агентов и интересность мира — разные, иногда противоположные целевые функции.

💡 Что взять для движка управления компанией

Паттерн smart objects — вероятно, самый прямой архитектурный перенос всей главы: моделируйте не «всезнающих» агентов-сотрудников, а задачи, роли, проекты и вакансии как объекты, которые рекламируют себя («срочная задача: +признание, −ресурс времени, требует навык X»), и агентов, взвешивающих рекламу через свои needs-кривые. Это даёт то же свойство расширяемости: новый тип работы или стимула добавляется в движок как объект с рекламой, без переписывания логики агентов. Второй перенос — кривые критичности: сотрудник у порога выгорания должен реагировать на мир радикально иначе, чем «слегка уставший», и линейные модели это не ловят.

3.7 SimCity (2013) и GlassBox: агенты как лозунг и как ловушка

SimCity (2013) — главный поучительный провал жанра. Maxis построила новый движок GlassBox и сделала агентную симуляцию центральным маркетинговым тезисом: «мы симулируем каждого сима, а не статистику». Архитектура, представленная Эндрю Уиллмоттом (Andrew Willmott) в докладе «Inside GlassBox» (GDC 2012), по-своему изящна: мир состоит из ресурсов (вода, деньги, «счастье»), юнитов (здания), карт (слои вроде загрязнения) и глобалов, связанных правилами; агенты же — намеренно простые сущности, которые переносят ресурсы между юнитами — люди, машины, даже вода в трубах; правил они не исполняют, потому что их должны были быть десятки тысяч одновременно (страница доклада, разбор Game Developer, открытая реимплементация OpenGlassBox).

АРХИТЕКТУРА GLASSBOX (GDC 2012) Resources вода · деньги · «счастье» Units здания-контейнеры Maps слои: загрязнение и др. Globals глобальные величины Rules правила связывают всё агенты: простые переносчики ресурсовмежду юнитами (люди, машины, вода) АНАТОМИЯ ПРОВАЛА Анонимные агенты нет постоянного дома и работы:утром — в ближайшее свободное место;«каждый житель» оказался иллюзией Кратчайший путь маршрут «несмотря ни на что»:5 пожарных машин колонной к одномупожару, пробки на пустых сетках Потолок CPU агентность всего не влезла в бюджет:города урезаны до ~2×2 км —меньше, чем в SimCity 4
Рис. 3.6. GlassBox: Resources / Units / Maps / Globals связаны правилами, а агенты — лишь переносчики ресурсов. Провал случился на стыке трёх решений: анонимность агентов, примитивный поиск пути и вычислительный потолок, урезавший города до 2×2 км.

Провал случился на стыке трёх решений. Первое — анонимные агенты: у симов не было постоянного дома и работы; утром агент шёл в ближайшее свободное рабочее место, вечером — в ближайший свободный дом. Статистически потоки сходились, но «симуляция каждого жителя» оказалась иллюзией, что игроки быстро вскрыли (разбор «SimCity's Sims Don't Seem That Smart After All»). Второе — примитивный поиск пути: агент выбирал кратчайший маршрут и следовал ему несмотря ни на что; отсюда легендарные картины — пять пожарных машин колонной едут к одному пожару, десять мусоровозов обслуживают одну улицу, пробки на пустых сетках дорог (The Scientific Gamer). Третье — вычислительный потолок: агентная симуляция всего не влезла в бюджет CPU, и города пришлось урезать до площадок ~2×2 км — меньше, чем в SimCity 4 десятилетием раньше; добавьте требование постоянного онлайна с расчётом части симуляции на серверах — и катастрофический запуск марта 2013 года был предрешён.

Глубинный урок сформулировали критики транспортного планирования: агентная симуляция казалась более честной, но статистическая модель SimCity 4 давала более правдоподобные города, чем поимённые, но анонимные агенты SimCity 2013 (Human Transit). Агенты — не самоцель и не гарантия правды. Агентный подход окупается только там, где важна гетерогенность и причинность на уровне индивида; если агенты анонимны и взаимозаменяемы, честнее и дешевле считать потоки статистически.

💡 Что взять для движка управления компанией

Это глава-предостережение номер один. Тест GlassBox: если в вашей модели «агенты» лишены устойчивой идентичности (истории, привязок, памяти) — вы платите цену агентной симуляции, не получая её выгод; замените этот контур потоковой/статистической моделью. Второй урок — о валидации: маркетинг «мы симулируем каждого сотрудника» будет проверен пользователем-CEO на первом же противоречащем интуиции результате; прозрачность механики важнее её громкого названия. Третий — про масштаб: закладывайте вычислительный бюджет до, а не после выбора гранулярности; «города 2×2 км» в движке компании — это симулятор холдинга, который тянет только один департамент.

3.8 Cities: Skylines I/II: агенты, экономика и цена деталей

Colossal Order — маленькая финская студия — подобрала знамя, выпавшее из рук Maxis. Cities: Skylines (2015) выиграла именно на том, где SimCity сфальшивил: каждый житель — персистентный агент с конкретным домом, работой и маршрутом, и транспортная симуляция из этого честно следует. Cities: Skylines II (2023) подняла ставку — полная симуляция жизненного цикла горожан, детальная экономика — и наступила на грабли уже другого рода.

Запуск CS2 стал хрестоматийным кейсом цены деталей. Игра оказалась аномально требовательной к GPU; технический разбор сообщества обнаружил, among other things, что модели горожан не имели уровней детализации (LOD) и рендерились в полном качестве всегда — включая полностью смоделированные зубы, которых в игре в принципе не видно (разбор paavohtl); Colossal Order уточняла, что дело не в зубах как таковых, а в отсутствующих LOD в целом (TechRadar). «Зубы горожан» стали мемом-символом: детализация, не влияющая на опыт, — чистый убыток.

Второй акт — экономика. Выяснилось, что глубокая агентная симуляция стояла на несбалансированном и местами бутафорском экономическом контуре (правительственные субсидии маскировали убыточность, «виртуальный арендодатель» съедал ренту). В июне 2024 Colossal Order выпустила Economy 2.0 — фактически пересборку контура: субсидии удалены («вы полностью отвечаете за финансы города»), виртуальный арендодатель убран — содержание здания платят сами жильцы по формуле от стоимости земли, типа зоны и уровня здания; пересчитаны спрос (привязан к размеру и достатку домохозяйств) и стоимость городских служб (дневник разработки, часть 1, часть 2). Показателен сам язык дневников: ключевые слова — «прозрачность», «контроль игрока», «осмысленные решения». Симуляция ценна не глубиной, а тем, что игрок может прочитать её причинность и повлиять на неё.

💡 Что взять для движка управления компанией

Правило зубов: любой контур детализации обязан пройти тест «какое решение пользователя он меняет?» — иначе это зубы, которых никто не увидит, но за которые все заплатят производительностью и сроками. Урок Economy 2.0 глубже: в симуляции компании экономический контур — фундамент, а не обвес; если деньги в модели не сходятся (скрытые субсидии, «виртуальные» контрагенты, замалчиваемые дыры баланса), агентная надстройка лишь маскирует ошибку. И заимствуйте практику дневников Colossal Order: изменения модели должны публиковаться с объяснением формул — доверие пользователя к симулятору строится на читаемости правил.

3.9 X4: Foundations: экономика, которая существует на самом деле

Серия X студии Egosoft — эталон принципа «мир живёт без игрока» в экономике. В X4: Foundations (2018–2026) нет фоновой бутафории: сотни станций реально производят товары по цепочкам от руды и газа до корпусов кораблей, тысячи NPC-кораблей реально перевозят грузы, цены складываются локально из фактического предложения и спроса, а NPC-трейдеры возят товар туда, где маржа выше (экономический праймер сообщества, обсуждения). Впервые в серии всё — корабли, оружие, боеприпасы, сами станции — производится из симулируемых ресурсов; уничтоженный эсминец — это реально изъятые из экономики тысячи единиц корпусных деталей, которые кто-то должен произвести заново.

Из этой честности следуют три конструктивных решения. Первое: экономике нужен сток (sink) — в X4 это перманентная война; фракции непрерывно теряют флоты в конфликтах с ксенонами и друг с другом, и весь производственный контур работает на восполнение потерь. Без стока честная экономика насыщается и «останавливается». Второе: игрок — эндогенный участник, а не наблюдатель: его торговля, производство и диверсии реально сдвигают цены и военный баланс фракций; можно задушить войну противника, разбомбив его верфи снабжения. Третье: уже знакомый пузырь внимания (§3.3) — полная физика внутри, вероятностный расчёт снаружи — как цена, которую платят за то, чтобы вся галактика жила одновременно. Egosoft продолжает углублять систему: бесплатное обновление 9.00 «Empire» (июнь 2026) расширило управление флотами, строительство станций и «живую галактику» (анонс, Steam).

Оборотная сторона зафиксирована сообществом за годы наблюдений: честная экономика хрупка — локальные дефициты каскадируют (нет энергоячеек → встали верфи → фракция проигрывает войну → игрок теряет рынок), стартовый баланс галактики требует ювелирной настройки, а расхождения правил high/low attention создают систематические перекосы. Это не баги реализации, а фундаментальные свойства честных симуляций — те же, что у реальных цепочек поставок.

💡 Что взять для движка управления компанией

X4 — доказательство осуществимости «честного» контура: экономика компании в движке должна быть замкнутой (деньги, часы работы, компетенции никуда не исчезают и ниоткуда не берутся), со стоками (амортизация, отток клиентов, текучесть) и эндогенным пользователем — решения CEO двигают модель, а не рисуются поверх неё. Каскадные дефициты X4 — это готовый паттерн для моделирования операционных рисков: «встала одна фабрика энергоячеек» = «уволился единственный DevOps». И честное предупреждение: замкнутая симуляция требует калибровки стартового состояния — иначе она разбалансируется за первые «месяцы» модельного времени, и пользователь сочтёт её сломанной.

3.10 Мир без игрока: Kenshi, Mount & Blade, Crusader Kings III

Три кейса показывают три степени и три техники «жизни мира вне игрока».

Kenshi (Lo-Fi Games, 2018) создаёт сильнейшее ощущение безразличного к игроку мира — вы не избранный, а голодный бродяга в пустыне, и мир вас не ждёт. Технически, как разобрано в §3.3, это достигается экономно: полная симуляция — только вокруг игрока, а глобальная живость — через реактивные world states (смерть лидеров фракций перекраивает регионы). Kenshi — важный урок дешёвой правдоподобности: чувство живого мира создаётся безразличием мира к игроку и необратимостью последствий, а не тоннами вычислений.

Mount & Blade II: Bannerlord (TaleWorlds, 2020–2022) симулирует феодальную песочницу непрерывно: сотни лордов ведут собственную жизнь по тем же правилам, что игрок, — вербуют войска, воюют, женятся, зарабатывают с городов и деревень; цены на всё, от зерна до боевых коней, плавают по локальному спросу и предложению; клан, потерявший феоды, теряет доход и не может содержать армию (описание систем TaleWorlds, обсуждения экономики). Ключевой принцип — симметрия правил: ИИ-лорды играют в ту же игру, что и игрок, без «читов рассказчика», и потому мир проверяем — игрок может убедиться, что империя рухнула по причинам, а не по скрипту. Характерно, что моды вроде Living Economy углубляют именно экономический реализм — спрос сообщества на честность контуров устойчив.

Crusader Kings III (Paradox, 2020) — вершина жанра «симуляция персонажей как двигатель истории». Каждый из тысяч живущих персонажей имеет черты (traits), стресс, навыки, наследственность, отношения и амбиции; ИИ ведёт их через браки, заговоры и войны по всей карте независимо от игрока. Поверх симуляции лежит слой скриптованных событий, но философия Paradox явно сформулирована: скриптованный контент должен «ощущаться уместным относительно подлежащей симуляции», чтобы игроки «переживали и запоминали собственные истории, а не истории разработчиков» (разбор MDA-анализа CK3, дискуссии сообщества о нарративе). CK3 — образец гибрида: непрерывная симуляция характеров + событийная драматургия + генеалогическая память мира (династии помнят всё).

💡 Что взять для движка управления компанией

Симметрия правил Bannerlord — принцип для моделирования конкурентов и контрагентов: конкуренты вашей симулируемой компании должны жить по тем же экономическим правилам, а не быть фоном; только тогда сценарий «мы отняли у них рынок» что-то значит. От CK3 — слоёный пирог: непрерывная симуляция агентов + библиотека скриптованных «событий-шаблонов» (конфликт в команде, оффер от конкурента), триггеры которых берутся из состояния симуляции. От Kenshi — тезис о restraint: если бюджет ограничен, реактивные world states («ключевой клиент сменил CEO — все контракты в зоне риска») дают 80% ощущаемой живости за 20% цены.

Dwarf Fortress

Bay 12 · 2002–2026 · колония-сим

Мир с прошлым, память и эмоции агентов, Legends mode. Самый радикальный simulation-first: истории вычисляются, а не пишутся.

память агентовlegends mode

RimWorld

Ludeon · 2018 · генератор историй

Честная симуляция + дешёвый драматургический контур: рассказчик дозирует инциденты по богатству и потерям колонии.

ai storytellerапофения

The Sims

Maxis · 2000 · агентный сим

Интеллект перенесён в среду: объекты рекламируют действия, агенты взвешивают их needs-кривыми. Расширяемость без правки ИИ.

smart objectsneeds-модель

SimCity (2013)

Maxis · 2013 · сити-билдер

Агенты как лозунг: анонимные переносчики ресурсов + кратчайший путь + потолок CPU = главный поучительный провал жанра.

glassboxантипаттерн

Cities: Skylines II

Colossal Order · 2023 · сити-билдер

«Зубы горожан» и Economy 2.0: детализация без влияния на опыт — убыток; экономический контур — фундамент, а не обвес.

цена деталейeconomy 2.0

X4: Foundations

Egosoft · 2018–2026 · космо-сим

Экономика без бутафории: всё производится из ресурсов, война как сток, игрок эндогенен. Честность = хрупкость + каскады.

замкнутая экономикаattention bubble

Kenshi

Lo-Fi Games · 2018 · песочница

Дешёвая правдоподобность: безразличие мира к игроку, необратимость и реактивные world states вместо тонн вычислений.

world statesrestraint

Crusader Kings III

Paradox · 2020 · гранд-стратегия

Тысячи персонажей с чертами и амбициями + скриптованные события, «уместные относительно симуляции». Династии помнят всё.

симуляция характеровгибрид

3.11 Эмерджентный нарратив: как из симуляции рождаются истории

Соберём механизм воедино. История не «возникает из сложности» сама — эмерджентный нарратив требует конкретных инженерных ингредиентов, и по разобранным кейсам их можно выписать явно.

Память и внутреннее состояние кто-то пережил и запомнил:эмоции дварфов, обиды CK3 Необратимость последствий магму нельзя «отгрузить обратно»;permadeath как нарративное условие Каузальная связность слоёв истории рождаются на стыках:психология × погода × экономика Драматургический контур менеджер драмы дозирует темп:рассказчик RimWorld Читаемость и пересказываемость Legends mode, хроники династий;ценность реализуется в пересказах Пробелы для апофении недосказанность — ресурс:игрок достраивает мотивы сам
Рис. 3.7. Шесть инженерных ингредиентов эмерджентного нарратива. История не «возникает из сложности» сама: нужны агенты с памятью, необратимость, связность контуров, дозатор драмы, инструменты чтения причинности — и намеренные пробелы, которые заполнит человек.

Персонажи с внутренним состоянием и памятью. Событие становится сюжетом, только если кто-то его пережил и запомнил: эмоции и память дварфов, мемуары симов, обиды персонажей CK3. Без памяти симуляция производит происшествия, но не истории.

Необратимость и последствия. Boatmurdered — история потому, что магму нельзя было «отгрузить обратно». Автосейв-без-отката (permadeath-логика) — не садизм, а нарративное условие: последствия должны накапливаться.

Каузальная связность слоёв. Урок мифогенератора DF: каждый контур должен быть прошит в остальные (миф → рельеф → цивилизации → персонажи). Истории рождаются на стыках систем — психология × погода × экономика даёт «урожай погиб, повар в депрессии устроил драку в таверне», чего не даст ни одна система порознь.

Драматургический контур. Чистая симуляция даёт неровный темп: месяцы скуки, потом лавина. Рассказчик RimWorld — минимальный работающий образец «менеджера драмы» (drama manager), дозирующего напряжение поверх честной симуляции.

Читаемость и пересказываемость. Игрок должен уметь реконструировать причинность (иначе история воспринимается как рандом) и пересказать её. Отсюда инструменты: Legends mode в DF, хроники династий в CK3, арты и «социальные логи» RimWorld. Заметьте: значительная часть ценности реализуется вне игры — в пересказах на форумах; Boatmurdered — литературное произведение сообщества, выросшее на субстрате симуляции.

Пробелы для апофении. Парадоксальный ингредиент от Сильвестра: недосказанность — не дефицит, а ресурс; человек достраивает мотивы лучше любого генератора текста.

💡 Что взять для движка управления компанией

«История» в корпоративном движке — это объяснимый сценарий: «почему мы потеряли команду платформы» как причинная цепочка событий с участниками, а не как график headcount. Значит, движку нужны все шесть ингредиентов: агенты с памятью, накапливающиеся последствия, связность контуров (экономика × люди × клиенты), дозатор стресс-сценариев, и — критически — свой Legends mode: запросный слой, превращающий лог симуляции в связный нарратив для управленческой команды. Пересказываемость здесь не украшение, а канал доставки ценности: решение меняется тогда, когда CEO может пересказать правлению историю, которую показала симуляция.

Итог главы

Живые миры сходятся к одной архитектуре из пяти контуров: (1) агенты с потребностями, внутренним состоянием и памятью, решающие через utility/planning-модели; (2) среда из «умных объектов», рекламирующих возможности; (3) замкнутые ресурсные контуры со стоками; (4) LOD-пирамида симуляции с пузырём внимания; (5) драматургический слой, дозирующий события, и запросный слой, превращающий лог в истории. Успехи (DF, RimWorld, X4) и провалы (SimCity 2013, запуск CS2) различаются не количеством симуляции, а дисциплиной ответа на вопрос «какое переживание или решение оправдывает каждый контур». Для движка управления компанией это и есть проектная рамка — к её формализации мы вернёмся в синтезирующей главе.

5 · Драматургический контур рассказчик дозирует инциденты по состоянию мира (RimWorld) 1 · Агенты потребности · память · эмоцииutility / GOAP-мозги (DF, Sims) 2 · Среда умных объектов объекты рекламируют возможности,агенты выбирают (The Sims) 3 · Замкнутая ресурсная экономика со стоками ничего не берётся из ниоткуда; война/амортизация как сток (X4) богатство → сила инцидентов 4 · LOD-пирамида пузырь внимания: фокус поагентно, фон агрегатами 5 · Запросный слой «Легенды» лог с каузальными ссылками → пересказываемые истории
Рис. 3.8. Сводная архитектура живого мира из пяти контуров: агенты и среда умных объектов внутри замкнутой экономики, LOD-пирамида как способ всё это посчитать, а сверху — драматургический дозатор и запросный слой историй. Петля «богатство → сила инцидентов» замыкает мир на самого себя.

Источники и куда копать глубже

книга
Tynan Sylvester. Designing Games: A Guide to Engineering Experiences (O'Reilly, 2013)

Игра как «движок переживаний»; главы про эмерджентность и генерацию событий писал автор RimWorld.

книга
Dave Mark. Behavioral Mathematics for Game AI (Course Technology, 2009)

Математика utility AI: кривые отклика, взвешивание, архитектура IAUS.

книга
Game AI Pro (ред. Steve Rabin), тома 1–3, бесплатно онлайн

Практические главы про behavior trees, utility, планировщики от индустриальных AI-инженеров.

видео
Will Wright. «Dynamics for Designers» (GDC 2003)

Фундаментальная лекция об эмерджентности и проектировании пространств возможностей.

видео
Tynan Sylvester. «RimWorld: Contrarian, Ridiculous, and Impossible Game Design Methods» (GDC 2017)

«Игра как генератор историй», апофения, дисциплина упрощения.

видео
Tarn Adams, Tanya Short. «Practices in Procedural Generation» (GDC 2016)

Живая демонстрация мифогенератора Dwarf Fortress.

видео
Jeff Orkin. «Three States and a Plan: The A.I. of F.E.A.R.» (GDC 2006)

Каноническая статья про GOAP.

видео
Damian Isla. «Handling Complexity in the Halo 2 AI» (GDC 2005)

Behavior trees как масштабируемая архитектура.

видео
Andrew Willmott. «Inside GlassBox» (GDC 2012)

Архитектура движка SimCity 2013 из первых рук.

видео
Stephen Chenney. «Simulation Level-of-Detail» (GDC 2001)

Базовая работа про LOD симуляции.

видео
Плейлист докладов Тарна и Зака Адамсов

Включая «Villains» (Roguelike Celebration 2018) и лекции о генерации истории.

статья
Mark Brown. «The Genius AI Behind The Sims» (GMTK)

Доступный разбор motives/advertisements.

статья
Jamie Doornbos, Ken Forbus. «Under the Hood of The Sims» (Northwestern)

Техническая лекция об архитектуре The Sims.

статья
«700,000 lines of code, 20 years, one developer» (Stack Overflow, 2021)

Инженерия Dwarf Fortress изнутри.

статья
«Dwarf Fortress' creator on how he's 42% towards simulating existence» (PC Gamer)

Программное интервью Тарна Адамса.

статья
Henry Jenkins. «Game Design as Narrative Architecture» (2004)

Теоретическая рамка эмерджентного нарратива.

статья
«Thoughts: SimCity» (The Scientific Gamer, 2013)

Детальный разбор провала агентной модели SimCity.

статья
«Why Cities: Skylines 2 performs poorly» (paavohtl)

Технический post-mortem производительности CS2.

статья
Dev Diary «Economy 2.0», части 1–2 (Paradox/Colossal Order, 2024)

Пересборка экономического контура CS2.

статья
«[9.0] Economy Primer» (Steam Guide по X4)

Как устроена честная экономика X4.

статья
«GDC 2012: Breaking down SimCity's Glassbox engine» (Game Developer)

Конспект архитектуры GlassBox.

сообщество
Bay 12 Games devlog + форумы Dwarf Fortress

Первоисточник по планам Myth & Magic; devlog Kitfox: kitfoxgames.itch.io.

сообщество
Paradox Forums (Cities: Skylines II, CK3)

Дневники разработки и глубокие разборы механик сообществом.

сообщество
RimWorld Wiki: AI Storytellers

Точные числа механики рассказчиков (богатство, адаптация, интервалы рейдов).

сообщество
Egosoft Forums (X4)

Обсуждения attention-системы и экономики с участием разработчиков.

сообщество
r/BaseBuildingGames и r/dwarffortress

Живые сравнения симуляционной глубины колони-симов.

сообщество
OpenGlassBox

Открытая реимплементация движка GlassBox для изучения кода.

сообщество
Kenshi Virtual Simulation Engine

Мод, добавляющий непрерывную офскрин-симуляцию: наглядное пособие по LOD-компромиссам.

← Предыдущая глава
Архитектура симуляционных движков