Генерация уровней в роглайках: что выбрать и сколько это стоит
Студия делает роглайк — игру, построенную на повторных забегах, в духе Hades, Dead Cells или Spelunky. Игрок пройдёт уровни не один раз, а сотни: уровни должны каждый раз собираться заново и при этом ощущаться сделанными вручную. Бюджет при этом конечен.
Запрос в такой ситуации звучит не «нужен алгоритм генерации», а проще и жёстче: нужны интересные уровни по оптимальной цене производства. Это исследование отвечает на него сравнением: какие стратегии производства уровней существуют, что каждая из них даёт дизайнеру, сколько стоит — на старте и на каждой единице контента — и какой студии какая подходит.
И сразу разберёмся с главным ожиданием: «прикрутим генерацию — получим бесконечную игру почти бесплатно». Практика обратная. У реиграбельности есть ёмкость; интересную — а не просто работающую — генерацию делать долго, дорого и сложно; и для небольшой игры она выходит дороже ручной работы на порядок. Это не аргумент против генерации — это аргумент за расчёт: ниже посчитаем, где она окупается, а где разоряет.
Почему это решение такое важное
Способ генерации уровней — не деталь реализации, а фундамент производства. Вокруг него строится всё: редактор, в котором дизайнеры делают контент, формат этого контента (целая комната, шаблон с вариациями, правило сборки), процесс тестирования. Через год работы у студии будут сотни единиц контента в выбранном формате. Поменять стратегию в этот момент — значит переделать не генератор, а контент: это самые дорогие правки, какие бывают. Поэтому выбирать стоит до начала массового производства — и осознанно.
Что значит «интересный уровень» в роглайке
Чтобы сравнение было честным, зафиксируем, по каким целям меряем. В жанре повторных забегов у уровня пять обязанностей:
- Темп забега. Чередование боя, передышки и выбора — игрок должен чувствовать ритм, а не ровный шум.
- Риск и награда. Лучшая добыча лежит за опасностью, и игрок видит этот выбор.
- Читаемость. За первую секунду в комнате понятно, куда можно идти и что здесь опасно.
- Свежесть между забегами. Двадцатый забег не должен ощущаться копией третьего.
- Лицо биома. Каждая зона игры узнаваема: её геометрия, враги и правила отличают её от соседних.
Скоуп исследования — роглайки с покомнатной структурой (как у трёх игр выше). Открытые миры, выживалки и ММО — другая задача, здесь её не касаемся.
Четыре стратегии производства
Подходов к генерации описано много, но с точки зрения производства они складываются в четыре стратегии. Различаются они одним: что делает руками дизайнер, а что отдано алгоритму. Это спектр — от «всё видимое сделано человеком» до «человек задал правила, картинку собрала машина».
Чем правее — тем больше вариантов даёт машина и тем меньше прямого контроля у человека.
1. Готовые комнаты, процедурный забег
Каждую комнату целиком делает дизайнер: геометрию, укрытия, точки появления врагов. Генерации отдан сам забег: какие комнаты попадут в этот заход и в каком порядке, какая награда ждёт за какой дверью, какие волны врагов наполнят комнату. Так устроен Hades — и он показателен: уровни процедурные, но ни одна комната не сгенерирована (разбор Kotaku, доклад дизайнера Эдуардо Горинстейна). И эта сборка — не перетасовка, а режиссёр с правилами: биом открывается небольшими комнатами, крупные арены ждут ближе к концу; награда видна за дверью заранее, так что выбор пути — это механика; бои эскалируются по глубине. Генерация здесь настоящая — просто её кирпичи — готовые комнаты, а не тайлы.
Дизайнер контролирует всё, что игрок видит. Алгоритм решает последовательность и наполнение. Контент производят левел-дизайнеры и художники; программной работы минимум.
2. Комнаты-шаблоны со сборкой
Дизайнер рисует не комнаты, а заготовки: куски уровня с размеченными местами, где машина может подставить варианты — открыть или закрыть проход, поставить ловушку, заменить площадку. Алгоритм складывает уровень из заготовок и «дорисовывает» мелочи. Классика — Spelunky: сетка 4×4, по ней прокладывается гарантированный путь от входа к выходу, на каждую клетку подбирается шаблон по роли (проходная, спуск, площадка), внутри шаблона срабатывают вариации (разбор генератора). Один шаблон порождает десятки непохожих комнат.
Дизайнер контролирует характер и сложность кусков. Алгоритм решает компоновку и вариации. Контент производят дизайнеры — шаблоны и их вариации живут в редакторе. Инженерная часть — генератор сборки и правила стыковки: их пишет и сопровождает программист.
3. Сначала структура, потом геометрия
Здесь генерируется не картинка уровня, а его сюжет: граф «вход → развилка → ключ → запертая дверь → босс», с петлями вместо коридоров-тупиков. И только потом этот граф разворачивается в геометрию. Самый известный пример — Unexplored с его циклической генерацией: уровень строится как замкнутая петля с обходными путями, отчего ощущается спланированным, а не случайным (разбор в Game Developer, детальный разбор Бориса Брейва). Правила переписывания графа называют грамматиками — по аналогии с правилами языка.
Дизайнер контролирует драматургию: где замки́, ключи, секреты, петли. Алгоритм решает и топологию, и геометрию. Контент производят по-прежнему геймдизайнеры и художники — в редакторах, поверх заготовок, которые им отдаёт система: словарь комнат, типы узлов и циклов. Инженерная работа здесь — сама система: написать и отладить правила, по которым заготовки собираются в уровни.
Сюда же примыкает гибрид попроще — Dead Cells: структура уровня задана графом, сделанным вручную под каждый биом, а в узлы графа подставляются комнаты-шаблоны (разбор студии Deepnight). Половина стратегии 3, половина стратегии 2 — и это типично: в продакшне границы между стратегиями размыты.
4. Сборка из тайлов по правилам соседства
Самый алгоритмический полюс. Дизайнер задаёт набор тайлов — плиток, из которых складывается карта, — и правила, что с чем может соседствовать. Дальше алгоритм (известный как Wave Function Collapse, а в близкой форме — Model Synthesis, сравнение от автора последнего) заполняет пространство так, чтобы все правила были соблюдены. На этом построены городки Townscaper и уровни Caves of Qud (реализация Гумина и список игр).
Дизайнер контролирует только словарь и грамматику стыковок. Алгоритм решает всё остальное. Шикарно там, где нужна органика без жёсткого сценария: застройка, пещеры, природные пространства. Слабое место разберём в экономике, а конкретные алгоритмы этого семейства — и их альтернативы попроще — в разделе «Алгоритмы».
А нейросети?
В 2026 генерация уровней нейросетями — включая большие языковые модели — остаётся вспомогательным инструментом, а не пятой стратегией: модели не гарантируют проходимость и баланс, а проверка каждого результата стоит дороже, чем классическая генерация (обзор PCGML, обзор интеграции LLM). Рабочие ниши уже есть — черновики комнат, вариации декора, — но фундамент производства на них пока не строят.
Экономика: считаем деньги
Прилагательные «дёшево» и «дорого» бизнесу не нужны — нужен расчёт. Построим его на модельной студии. Все цифры ниже — модельные: они нужны, чтобы увидеть структуру затрат и точки окупаемости. Формулы даны, подставьте свои ставки и получите свой ответ.
Допущения модели
Ставки ниже — среднерыночные зарплаты специалистов в РФ (мидл-уровень), пересчитанные в полную стоимость рабочего дня для студии: зарплата плюс налоги, взносы и накладные. Подставьте свои — структура расчёта не изменится.
| Специалист | Полная стоимость дня |
|---|---|
| Левел-дизайнер | 10 000 ₽ |
| Художник окружения | 10 000 ₽ |
| Программист | 15 000 ₽ |
| Тестировщик | 7 000 ₽ |
Плюс менеджмент — продюсер, координация, согласования, приёмка: считаем как ~15% поверх производственных строк. В строках отрисовки время указано с учётом итераций правок — арт без согласований не сдаётся.
| Параметр | Значение | Комментарий |
|---|---|---|
| Цель | 40 часов свежей игры, 4 биома | типовой коммерческий роглайк |
| Игрок видит | ~30 комнат в час | бой + переход, 1.5–2 мин на комнату |
| «Живучесть» голой комнаты | ~5 показов | дальше геометрия выучена |
| Процедурное наполнение (враги, награды) | ×3 к живучести | главный дешёвый множитель жанра |
Итого нужно пережить 40 ч × 30 показов = 1200 показов комнат. Комната с процедурным наполнением живёт 5 × 3 = 15 показов.
Опорная цена: всё руками
Стратегия готовых комнат — наша точка отсчёта. Комнат нужно: 1200 / 15 = 80 (по 20 на биом — кстати, это масштаб реального Hades). Смета:
- левел-дизайн — геометрия, укрытия, наполнение, полировка: 80 комнат × 1.5 дня = 120 дней = 1.2 млн ₽;
- отрисовка — окружение и реквизит, с итерациями правок: 80 × 1.5 дня художника = 120 дней = 1.2 млн ₽;
- разработка — мета-код игры (порядок комнат, награды за дверями, волны врагов): ~2 месяца программиста = 0.65 млн ₽;
- тестирование — проходка каждой комнаты и системных сценариев: ~50 дней = 0.35 млн ₽;
- менеджмент — ~15% производственной сметы = 0.5 млн ₽.
Этот мета-код, заметим, нужен игре при любой стратегии — генератор его не отменяет. Итого ~3.9 млн ₽ за 40 часов. Запомним и вторую цифру: каждый следующий час свежей игры в этой стратегии стоит ~80 000 ₽ (контент, его проверка и менеджмент) — затраты растут линейно и не останавливаются.
Шаблоны: первая ступень генерации
Шаблон с пятью-шестью точками вариации заменяет собой ~4 готовые комнаты (по ощущаемому разнообразию, не по числу раскладок — костяк игрок запоминает). Шаблонов нужно: 80 / 4 = 20. Смета:
- левел-дизайн — спроектировать костяк, слоты и их сочетания (дороже, чем одну комнату): 20 шаблонов × 3 дня = 0.6 млн ₽;
- отрисовка — куски и наборы подстановок, с итерациями правок: 20 × 3 дня художника = 0.6 млн ₽;
- разработка — генератор сборки с гарантией пути, редактор шаблонов и предпросмотр выборки (~3 месяца) сверх общего мета-кода (~2 месяца): ~5 месяцев программиста = 1.6 млн ₽;
- тестирование — прогоны выборок: после правки шаблона или правила проверяется не комната, а распределение: ~30 дней = 0.2 млн ₽;
- менеджмент — ~15% = 0.4 млн ₽.
Итого ~3.4 млн ₽ — на полмиллиона дешевле опоры.
Но тут есть важный нюанс. Равенство «один шаблон = четыре комнаты» — арифметика модели, а не ощущение игрока. Вариации меняют детали — проход, ловушку, площадку, — но не характер места: двадцать костяков читаются сквозь любые сотни раскладок, и игра на двадцати шаблонах ощутимо скучнее игры на восьмидесяти уникальных комнатах. Эти полмиллиона экономии покупаются частью «авторского ощущения». Поэтому сила шаблонов не в том, что они дешевле на той же дистанции, — а в том, что они вытягивают дистанции, на которых ручной контент недостижимо дорог. На короткой игре шаблоны экономят немного, а теряют заметно.
А когда генератор вообще окупается? Формула точки безубыточности:
N* = G / (R − T/k)
G — цена генератора, R — цена комнаты,
T — цена шаблона, k — сколько комнат заменяет шаблон
С нашими цифрами: N* = 600 000 / (30 000 − 12 500) ≈ 34 комнаты-эквивалента ≈ 15–20 часов контента. Почти любой коммерческий роглайк дальше этой точки; короткому проекту на 10 часов генератор не нужен — руками дешевле.
Структура: платформа, а не фича
Смета:
- разработка — движок правил с инструментами записи и отладки (4–5 месяцев; Unexplored строился на собственном инструменте годами, так что это оптимизм) плюс общий мета-код (~2 месяца): ~2.2 млн ₽;
- левел-дизайн — словарь ролей, типы циклов, параметры миссий четырёх биомов: ~70 дней = 0.7 млн ₽;
- отрисовка — комнаты-заготовки словаря, с итерациями правок: ~60 дней художника = 0.6 млн ₽;
- тестирование — каскадные проверки: правка одного правила меняет все уровни, проверяется выборка по всей игре: ~40 дней = 0.3 млн ₽;
- менеджмент — ~15% = 0.6 млн ₽.
Итого ~4.4 млн ₽ — дороже опоры на первой игре, и это нормально: экономика структуры переворачивается дальше. Грамматика переиспользуется — новый биом это словарь и пара правил, ~0.3 млн ₽ против ~0.8 млн ₽ у ручной стратегии, а «следующие 40 часов» стоят 0.5 млн против 3.2. Окупается не релизом, а дистанцией: дополнения, сиквел, живой сервис. Считать её надо как платформу студии, на горизонте нескольких релизов.
По сути, покупаете вы здесь не экономию первой игры, а другой сорт свежести — топологии, петли, секреты, которых не дают ни комнаты, ни шаблоны. Если вашему жанру этот сорт не нужен, структура — самый дорогой способ получить то, что шаблоны дадут дешевле.
Тайлы: дешёвое ядро, дорогая уверенность
Смета:
- разработка — ядро из открытых реализаций (~2 недели) — это меньшая часть; основное — автопроверки проходимости (~1 месяц), редактор тайлсетов и правил, инструменты зонирования и пайплайн пересборки (~2.5 месяца) + общий мета-код (~2 месяца): ~1.9 млн ₽;
- отрисовка — тайлсеты четырёх биомов, с итерациями согласований: ~80 дней художника = 0.8 млн ₽: сам тайл дёшев, дорога согласованность набора — и она дорожает с каждым новым тайлом;
- левел-дизайн — правила соседства, зонирование, веса, настройка: ~50 дней = 0.5 млн ₽;
- тестирование — постоянные прогоны сгенерированных выборок: ~30 дней = 0.2 млн ₽;
- менеджмент — ~15% = 0.5 млн ₽.
Итого ~3.9 млн ₽ за первые 40 часов — на уровне опоры: вся экономия тайлов живёт не в первой игре, а в следующих часах. И «бесплатны» эти часы только условно: набор требует подпитки новыми тайлами и постоянной ревизии выборок, иначе срабатывает предел реиграбельности.
Подвох здесь жёстче шаблонного: бесплатный вариант — это вариант без характера. Вариантов миллионы, а ощущаемая свежесть без управления не растёт (почему — в «Пределе реиграбельности» ниже); лечение — карта намерения из «Рычагов», и её цена входит уже в «интересный генератор», о котором тоже ниже.
Предел реиграбельности: когда варианты перестают работать
Вся модель меряется «часами свежей игры», и, собственно, тут и стоит сказать главное: у реиграбельности есть ёмкость — генерация не делает её бесконечной. Уровень, который немного другой, но по сути такой же, надоедает почти так же быстро, как точный повтор.
Причина в том, как игрок воспринимает новизну. Свежесть создаёт не новая раскладка стен, а новое решение, которое приходится принимать. Иерархия источников примерно такая:
- новая геометрия без новых решений — самый слабый источник: ×2–3 к живучести, дальше плато;
- новая комбинация врагов и наград — сильнее: меняется тактика боя (наш множитель ×3 в допущениях — отсюда);
- новые системные сочетания — оружие, бусты, модификаторы, синергии — главный источник: меняется стратегия всего забега.
Поэтому Hades с восемью десятками ручных комнат реиграбелен сотни часов — свежесть там делают системы (оружие × бусты × модификаторы), а комнаты ей просто не мешают. И поэтому же «бесконечные» тайловые миры без систем приедаются за вечер: вариантов миллионы, решений — одно.
Следствие для бюджета: после точки насыщения рубль, вложенный в «ещё сто вариантов комнат», приносит меньше часов, чем рубль, вложенный в новую систему. Генератор расширяет игру вширь, системы — вглубь; план «вечной игры» покупает обе оси, а не одну.
Сколько стоит интересный генератор
Цифры выше — за валидный генератор: он собирает проходимые уровни. Но обещание «бесконечной игры» подразумевает не валидные уровни, а интересные, и это другая статья расходов. В рабочем виде генератор интересных уровней — это:
- ядро генерации — то, что мы считали выше, и это меньшая часть: ~20–30% стоимости;
- декларативные конфиги — спавн-таблицы врагов, веса наград по глубине, правила расстановки секретов и точек интереса: десятки настроек, каждую из которых кто-то должен придумать, заполнить и сбалансировать;
- системы пост-обработки уровня — проверки связности, расстановка декора, сглаживание стыков, балансировка плотности боёв: отдельный код со своими правками;
- инструменты — предпросмотр выборки, фиксация сидов, сравнение версий: без них тюнинг слеп;
- тюнинг — месяцы плейтестов, в которых конфиги и пост-обработка переписываются по кругу.
Практический коэффициент: нужен интересный, а не «технически работающий» генератор — умножайте ступеньку из таблицы на 2–3. Точки окупаемости сдвигаются вместе с ней: шаблоны — к 50–70 часам контента, остальное — за горизонт одной игры (маржинальная таблица ниже это компенсирует: на «следующих 40 часах» коэффициент уже отработан).
И тогда видно главное: для небольшой игры генерация дороже ручной работы на порядок. Игра на 5–10 часов руками стоит 0.4–0.8 млн ₽ контента; полный генеративный конвейер с конфигами, пост-обработкой и тюнингом — 2.5–4 млн ₽, и ёмкость реиграбельности он всё равно не отменит. Генерация — инструмент длинных игр и живых сервисов; маленьким играм она почти всегда вредит бюджету.
Скорость выпуска: время на уровень и на пачку
Ещё один параметр, которого не видно в смете, но видно в календаре: сколько занимает выпуск нового уровня. Здесь генерация выигрывает не проценты, а порядки:
| Стратегия | Ещё один вариант уровня | Новый биом |
|---|---|---|
| Готовые комнаты | новый забег — секунды (порядок, награды, бои); новая геометрия — дни за комнату | ~20 комнат ≈ 4 человеко-месяца |
| Комнаты-шаблоны | секунды: перегенерация | ~5 шаблонов ≈ 1.5 человеко-месяца |
| Сначала структура | секунды: перегенерация | словарь узлов + правки правил ≈ 3–5 недель |
| Тайлы по соседству | пачка из сотни вариантов — минуты машинного времени + день ревизии | тайлсет с правилами ≈ 6–8 недель |
Для живого проекта эта таблица может перевесить всё остальное сравнение. Важно различать две вещи: «ежедневное подземелье» по силам даже ручной стратегии — новый забег из готовых комнат собирается за секунды. А вот ивент с новым этажом или биомом руками в короткое окно не успеть: новая геометрия — это месяцы. Генеративные стратегии закрывают и это за дни: сама генерация — минуты, остальное время — автопроверки и ревизия выборки. Если в планах живой сервис с регулярным новым контентом — смотрите сюда, а не на стартовую цену.
Маржинальная стоимость: где генерация выигрывает по-настоящему
Самая показательная таблица — не «сколько стоит игра», а «сколько стоят следующие 40 часов» (дополнение, сезон, сиквел на той же технологии):
| Стратегия | Первые 40 часов | Следующие 40 часов |
|---|---|---|
| Готовые комнаты | ~3.9 млн ₽ | ~3.2 млн ₽ — линейно, без скидок |
| Комнаты-шаблоны | ~3.4 млн ₽ | ~1.0 млн ₽ |
| Сначала структура | ~4.4 млн ₽ | ~0.5 млн ₽ |
| Тайлы по соседству | ~3.9 млн ₽ | ~0.5 млн ₽ (подпитка набора + ревизия) |
Генерация экономит не столько на первой версии, сколько на каждом следующем часе контента. Если планов на «жизнь после релиза» нет — преимущество генерации тает; если игра — сервис, оно решает.
Модельные кривые «стоимость ↔ часы контента». Ступенька слева — цена генератора и инструментов; наклон — цена каждого следующего часа. Кружки — пересечения с ручной работой: шаблоны ~30 ч, тайлы ~35 ч, структура ~45 ч.
Рычаги удешевления
У каждой стратегии есть свои оптимизации — приёмы, которые сдвигают её кривую вниз. Их стоит знать до выбора, потому что иногда рычаг меняет итог сравнения:
- Готовые комнаты: процедурное наполнение (волны врагов, награды, модификаторы) — множитель ×3–5 к живучести комнаты почти бесплатно; это главная причина, почему модель Hades вообще сходится экономически.
- Шаблоны: зеркалирование (бесплатное удвоение раскладок), вложенные вариации (шаблон внутри шаблона), взвешенные подстановки под сложность забега.
- Структура: грамматика пишется один раз — биомы и дополнения переиспользуют правила; проходимость доказывается на графе ещё до геометрии, что заменяет дорогое тестирование дешёвым.
- Тайлы: карта намерения — тепловая карта, которой дизайнер буквально кистью режиссирует темп и драматургию уровня (где арена, где передышка, где тайник), не трогая правила соседства. Стоит ~2–3 недели работы, а закрывает главный риск стратегии — безликость. Плюс зонирование тайлсетов и дешёвые послеправки скриптами.
Цена правок
Решили на полпути поменять размер дверей или темп биома — во что обойдётся? У готовых комнат правка точечная: трогаешь конкретные комнаты. Дорого становится, только если меняется сам формат комнаты — тогда руками проходят весь парк (80 комнат × полдня = два человеко-месяца на каждую мелочь формата). У шаблонов изменение правил стыковки тянет перепроверку всех шаблонов. У структуры правка грамматики меняет все уровни игры разом — мощно, когда задумано, и дорого в отладке, когда нет. У тайлов новый тайл означает пересмотр правил соседства со всем набором — цена растёт с размером словаря.
| Стратегия | Старт (ступенька) | Цена часа контента (наклон) | 40 часов | +40 часов | Риск непроходимости |
|---|---|---|---|---|---|
| Готовые комнаты | ~0.8 млн ₽ (мета-код + тесты) | ~80 тыс ₽ | ~3.9 млн ₽ | +3.2 млн ₽ | почти нулевой |
| Комнаты-шаблоны | ~1.8 млн ₽ (генератор + редактор) | ~25 тыс ₽ | ~3.4 млн ₽ | +1.0 млн ₽ | низкий: путь гарантирован |
| Сначала структура | ~3.0 млн ₽ | ~13 тыс ₽ | ~4.4 млн ₽ | +0.5 млн ₽ | средний |
| Тайлы по соседству | ~2.2 млн ₽ (ядро + инструменты) | ~13 тыс ₽ + ревизия | ~3.9 млн ₽ | +0.5 млн ₽ | высокий: нужны проверки |
Алгоритмы под микроскопом: что покупает каждый
До сих пор мы говорили о стратегиях производства. Внутри их «алгоритмического крыла» живут конкретные алгоритмы — и они не взаимозаменяемы: каждый покупает бизнесу свою способность за свою цену. Разберём шесть рабочих семейств — без формул, через вопрос «что я получу за эти деньги».
Разбиение пространства (BSP)
Классика жанра: пространство рекурсивно режется на половины, в листьях вырезаются комнаты, соседние комнаты соединяются коридорами. Что покупаете: каркас «комнаты и коридоры» за считаные дни — это самый быстрый путь от пустого проекта к играбельному данжену, проверенный десятилетиями рогаликов (разбор на RogueBasin). Цена: почти нулевая, реализации есть под любой движок. Предел: уровни геометрически правильные и эмоционально одинаковые — для прототипа идеально, для продукта понадобится слой дизайна сверху.
Клеточные автоматы
Карта засеивается случайным шумом, потом несколько проходов простого правила «клетка становится стеной, если вокруг много стен» — и шум сглаживается в пещеры. Что покупаете: органику — естественные гроты и побережья, которые руками рисовать дорого (классический метод, RogueBasin). Цена: дни. Предел: структуры нет вообще — вход, выход, связность и точки интереса добавляются отдельной обработкой; это алгоритм текстуры пространства, не уровня.
Случайное блуждание
«Копатель» ходит по сетке случайными шагами и прорезает туннели (подход, известный по Nuclear Throne). Что покупаете: плотный, хаотичный, быстро читаемый уровень для аркадного темпа — за день работы. Предел: управляемости почти нет; годится там, где хаос — фича жанра.
WFC
Главная покупка WFC — не «генерация тайлов», а перенос стиля: художник выкладывает один эталонный кусок уровня, алгоритм выводит из него правила соседства и продолжает в том же стиле сколько угодно (реализация Гумина). Это меняет способ кормить генератор: вместо явного описания таблиц стыковок — пример от художника; для студии с сильным артом это решающий аргумент (так Townscaper и Bad North получают свой почерк). Цена: недели на интеграцию. Пределы и рычаги: на больших картах ванильный WFC может зайти в противоречие и перезапускаться; управляемость из коробки слабая — лечится картами намерения (та самая режиссура хитмапами из «Рычагов»: тепловая карта кистью задаёт, где арена, где передышка, где тайник) и точечной фиксацией клеток («здесь точно вход»).
Model Synthesis: то же, но для больших карт
Старший родственник WFC (Меррелл, 2007 — и его сравнение двух алгоритмов): вместо «коллапса» самой неопределённой клетки — обход блоками, изменения по кусочку. Что покупаете: ту же стилевую генерацию, но стабильную на больших и трёхмерных картах — меньше срывов в противоречие, предсказуемое время работы. Если ваши уровни — крупные пространства или 3D-застройка, начинать стоит отсюда.
Решатели ограничений: доказуемые гарантии
Самый недооценённый бизнесом класс: уровень описывается декларативно («ровно один выход; путь от входа не длиннее N; секрет недостижим без ключа»), и решатель выдаёт только карты, где все условия выполнены — это не вероятность, а гарантия (Karth & Smith показывают, что WFC — частный случай такого решателя; промышленный инструмент — clingo/Potassco). Что покупаете: срезаете целую статью расходов — тестирование проходимости: непроходимый уровень не может быть сгенерирован по построению. Цена: самая высокая экспертиза из всех (месяцы), генерация медленнее — чаще годится для офлайн-генерации контента, чем для «на лету».
Строить или покупать
Половина этого зоопарка доступна готовыми инструментами, и для малой студии это меняет расчёт из «Экономики» — ступенька генератора падает с месяцев до дней:
- Edgar — генератор «граф уровня + комнаты-шаблоны» для Unity (модель Dead Cells из коробки);
- Tessera — WFC-генератор для Unity от автора лучших разборов темы;
- LDtk — редактор уровней от дизайнера Dead Cells, закрывает производство комнат и шаблонов;
- реализации WFC/Model Synthesis с открытым кодом — отправная точка для своего инструмента.
Покупка не отменяет работу дизайнера над контентом — она убирает инженерную ступеньку. Правило простое: своя разработка оправдана, когда генератор — часть уникальности игры (как циклы Unexplored), а не способ сэкономить.
| Алгоритм | Что покупаете | Когда брать | Цена входа | Готовое |
|---|---|---|---|---|
| BSP-разбиение | каркас «комнаты-коридоры» сразу | прототип, классический данжен | дни | в любом движке |
| Клеточные автоматы | органика пещер | природные биомы | дни | сниппеты |
| Случайное блуждание | плотный аркадный хаос | темп важнее структуры | день | сниппеты |
| WFC | стиль задаёт художник примером | застройка, почерк арта | недели | Tessera, открытый код |
| Model Synthesis | то же на больших/3D картах | крупные пространства | недели | открытый код |
| Решатели ограничений | гарантии вместо тестирования | непроходимость недопустима | месяцы | clingo |
Как это ложится в стратегии из начала: BSP, автоматы и блуждание — дешёвые «геометрические моторы» для развёртки структуры (стратегия 3) или фона под шаблоны (стратегия 2); WFC и Model Synthesis — ядро тайловой стратегии 4; решатели ограничений — усилитель гарантий для стратегий 3 и 4. Выбор алгоритма — второй шаг; первым остаётся выбор стратегии производства.
Настраиваемость: какими ручками дизайнер управляет уровнем
Выбор стратегии — это ещё и выбор рабочего места левел-дизайнера: что именно он открывает по утрам, чтобы влиять на темп, сложность и секреты. Пройдёмся по инструментарию каждой стратегии — и отдельно по тайловому семейству, потому что внутри него инструменты различаются сильнее, чем между стратегиями.
Сравнивать будем по одной величине — времени одной правки: сколько проходит от идеи дизайнера («хочу арену здесь») до изменённой картинки на экране, и кто нужен по дороге. Чем быстрее и автономнее правка, тем больше полировки игра получит за те же деньги.
Готовые комнаты: редактор комнат и таблицы
Дизайнер работает в четырёх инструментах: сама комната (геометрия, укрытия, точки появления врагов), пул комнат биома с тегами глубины («ранняя», «поздняя», «перед боссом»), таблицы боёв и наград (волны, элита, что за какой дверью) и правила порядка («после арены — передышка», «не больше двух арен подряд»). Темп и кривая сложности правятся таблицами, без программиста. Одна правка: открыл комнату, поправил, запустил — минуты.
Шаблоны: слоты и веса
Инструменты: шаблон с размеченными слотами, наборы подстановок на слот, веса подстановок (чаще/реже в зависимости от глубины забега), теги ролей (вход, спуск, арена), флаги зеркалирования. Правка быстрая, но эффект распределённый: трогаешь один шаблон — меняются сотни будущих комнат. Поэтому обязательный пятый инструмент — предпросмотр выборки: кнопка «сгенерировать сотню комнат на экран». Без неё дизайнер крутит ручки вслепую; с ней одна правка — минуты-часы.
Структура: правила и словарь
Дизайнер мыслит драматургией и работает с тремя вещами: набором типов циклов («замок и ключ», «скрытый обходной путь», «петля с возвратом»), словарём комнат на роль узла и параметрами миссии (длина, ветвистость, число секретов). Это самый выразительный язык из всех — «хочу два секрета и петлю с возвратом» записывается почти дословно. Но правка правила меняет все уровни игры разом, поэтому каждая итерация сопровождается проверкой выборки, и половина инструментов здесь — инженерные. Одна правка: часы-дни.
Тайловое семейство: четыре разных рабочих места
Вот где «выбор алгоритма» становится выбором повседневного инструмента:
- Явные таблицы стыковок. Правила соседства — декларативные: таблица «что с чем стыкуется» (теги, сокеты), и править её может сам дизайнер, без кода. Медленным это рабочее место делает не инженер, а глобальность: каждая строка таблицы влияет на весь генератор сразу, последствия видны только на выборке, а с ростом словаря число пар стыковок растёт квадратично — за согласованность платят временем проверки. Одна правка: минуты на саму правку, часы с проверкой выборки.
- WFC по образцу. Правила не пишутся вообще — выводятся из эталонного куска, который дизайнер рисует. Перерисовал образец — получил новый стиль: одна правка — минуты. Ручки тонкой настройки: веса тайлов (этот — чаще, этот — редкость), фиксация клеток («здесь вход», «эта линия — граница арены»), зонирование масками («в этой области — только набор „руины“»).
- Карта намерения поверх тайлов. Кисть, которой дизайнер рисует драматургию прямо по уровню: здесь напряжение, здесь передышка, здесь дальний тайник, — а генератор строит отмеченные зоны первыми и подчиняет им остальное. Это инструмент режиссуры темпа в семействе, где темп иначе недостижим; по моему опыту на прототипах именно эта надстройка переводит тайловую генерацию из «техно-демки» в инструмент левел-дизайна. Одна правка — минуты.
- Решатели ограничений. Дизайнер пишет требования списком — «путь от входа не длиннее двенадцати комнат», «секрет недостижим без ключа» — а инженер кодирует их один раз. Новое требование — дни, зато список требований читается и ревьюится как документ, а выполняется — как контракт.
Матрица «цель → инструмент»
| Дизайн-цель | Готовые комнаты | Шаблоны | Структура | Тайлы (WFC + надстройки) |
|---|---|---|---|---|
| Темп забега | правила порядка + теги глубины | веса ролей по глубине | форма графа миссии | карта намерения |
| Кривая сложности | таблицы волн и элиты | веса подстановок | параметры миссии | веса тайлов по зонам |
| Риск и награда | комната + таблица наград | слоты наград | узел «сокровище за петлёй» | вероятности тайлов от зон |
| Секреты | заскриптованы в комнате | редкий вариант слота | тип цикла «скрытый обход» | фиксация клеток + пик карты намерения |
| Лицо биома | сам арт комнат | набор шаблонов на биом | словарь узлов на биом | тайлсет + зонирование |
| Время одной правки | минуты | минуты-часы | часы-дни | минуты (образец, кисть) — часы (таблицы, с проверкой) |
| Время на уровень | забег — секунды; новая геометрия — дни/комната, биом ≈ 4 мес | вариант — секунды, биом ≈ 1.5 мес | вариант — секунды, биом ≈ 3–5 нед | пачка вариантов — минуты + день ревизии, биом ≈ 6–8 нед |
Меряйте время правки
Самая дорогая строка матрицы — последняя. «Авторское ощущение» уровня — это сумма правок полировки, которые команда успела сделать, а их число — это рабочее время, делённое на время одной правки. Стратегии, где дизайнер правит сам и за минуты (комнаты, шаблоны, WFC по образцу с картой намерения), выигрывают в полировке. Стратегии, где в правке участвует инженер или обязательная проверка выборки, платят за каждую идею дороже — их берут не за удобство, а за гарантии и масштаб. Если задать подрядчику или своей команде один вопрос, пусть это будет: «покажите путь от идеи дизайнера до картинки на экране — и засеките время».
Вывод
Вопрос «какая генерация лучше» не имеет ответа; ответ есть у вопроса «какая стратегия закрывает наши дизайн-цели при нашем бюджете и составе команды». По профилям это раскладывается так:
- Маленькая команда, первый роглайк, сильные художники и дизайнеры. Готовые комнаты + процедурный забег (порядок комнат, награды за дверями, состав боёв) — модель Hades. Самый дешёвый и предсказуемый путь к уровням, которые «ощущаются авторскими», потому что геометрия и есть авторская — генерируется маршрут по ней.
- Нужны сотни часов свежести при ограниченном объёме контента. Комнаты-шаблоны со сборкой — модель Spelunky. Комбинаторика даёт отдачу с каждого куска, гарантия пути закрывает главный риск.
- Ядро жанра — исследование, секреты, «как это спланировано?» Структура-первая — модель Unexplored. Закладывайте бюджет на инструменты и инженера, который будет жить в правилах.
- Органические пространства: застройка, пещеры, песочница. Тайловая сборка — модель Townscaper и Caves of Qud. И сразу планируйте надстройку управления (карту важности) и тесты проходимости — без них стратегия не доедет до релиза.
Три сквозных наблюдения. Первое: в продакшне побеждают гибриды. Dead Cells — это граф структуры плюс комнаты-шаблоны; Unexplored — грамматика плюс тайловая развёртка; Hades — ручные комнаты плюс процедурные награды и бои. Чистые стратегии живут в докладах, в продакшне они смешиваются. Второе: генерация окупается контент-планом, а не релизом. Точка безубыточности генерации в нашей модели — 25–35 часов контента (структуры-платформы — около 45); интересный, а не просто валидный генератор (конфиги, пост-обработка, тюнинг) сдвигает её в 2–3 раза дальше — потому для небольшой игры генерация дороже ручной работы на порядок и попросту не нужна. Главная экономия приходит на «следующих 40 часах» (дополнения, сезоны, сиквел). Поэтому рабочий процесс выбора такой: посчитать контент-план в часах, подставить свои ставки в модель из раздела «Экономика» — и нанимать алгоритм тогда, когда дизайнер перестаёт успевать, не раньше. Третье: реиграбельность делают системы, генерация её только поддерживает. У реиграбельности есть ёмкость: уровень «немного другой, но по сути такой же» приедается почти как повтор — новые раскладки работают, пока рождают новые решения игрока. Бюджет «вечной игры» делится между генератором и системами (враги, награды, модификаторы), а не уходит в генератор целиком.
Источники
- Hades: разбор Kotaku; доклад Эдуардо Горинстейна, Konsoll 2021
- Spelunky: разбор генератора уровней
- Dead Cells: гибридный подход, Deepnight
- Unexplored: циклическая генерация, Game Developer; разбор Бориса Брейва
- Тайловая сборка: WaveFunctionCollapse, Максим Гумин; сравнение с Model Synthesis, Пол Меррелл; Karth & Smith, FDG 2017
- Нейросети: обзор PCGML; обзор интеграции LLM в PCG
