Раздел
Мир и уровни
Как строить мир, по которому интересно идти и ехать: замысел и масштаб, земля и вода, дороги, лес по правилам, места и подгрузка большого мира. Теория общая для любых движков, практика — на Unreal.
Замысел
Как собирают мир: от крупного к мелкомуУрок · с нуляПочему мир строят проходами по всей карте, а не по одному углу: замысел, земля и вода, дороги и места, покрытие, детали, свет. Что от чего зависит, почему инструменты для мира делают такими, чтобы всё можно было переделать, и с чего начинать.Масштаб мира: метры, минуты и плотностьУрок · с нуляПочему размер мира считают не в километрах, а в минутах пути: рост и скорость игрока, пешком и на машине, дальность обзора, сколько интересного встречается по дороге и почему маленький плотный мир кажется больше большого пустого.Дизайн открытого мира: регионы и ориентирыУрок · базаКак открытый мир тянет вперёд без стрелок: регионы со своим характером, ориентиры, видные издалека, холмы, которые прячут и открывают, пустота как пауза. Как это сделано в Zelda, Firewatch и Ghost of Tsushima.Мир, в который веришь: где живут люди и куда ведут дорогиУрок · базаПочему деревня стоит у воды, но выше поймы, город растёт у брода, поля лежат у домов, а лес — на склоне. Место и положение поселений, узлы путей, кольца Тюнена, которые гнёт рельеф, и истории, которые рассказывает само место.
Левел-дизайн
Путь игрока и ориентирыскороКак игрок понимает, куда идти: подсказки от тихих до прямых, форма, которая обещает действие или запрещает его, свет, проёмы и движение, следы и хлебные крошки, спор о жёлтой краске и проверка плейтестом.Метрики: уровень под тело герояскороПочему уровень строят от того, как высоко прыгает и как быстро бежит герой: высота прыжка, ширина прохода, высота укрытия, радиус поворота. Как измерить своего героя и сделать коробки-образцы.Блокаут: мир из коробокскороПочему уровень сначала собирают из простых форм и что на этом этапе проверяют.Планировка: петли, развилки и тупикискороКак устроен уровень сверху: основной путь и боковые, петли, которые возвращают к знакомому месту, развилки с выбором и тупики с наградой. Как нарисовать план на листе до того, как строить.Темп уровня: напряжение и отдыхскороПочему после боя нужна тихая комната, а перед боссом — длинный коридор: кривая напряжения, чередование действий, открытые и тесные места и как темп ощущается в минутах.Ворота и ключи: мир открывается по частямскороКак игра держит игрока там, где он должен быть: запертые двери, способности как ключи, места, которые видно, но нельзя достать, срезы, которые открываются позже. Почему хорошие ворота не кажутся стенами.Вертикаль: высота как инструментскороЧто дают уровню высота и глубина: обзор сверху и угроза снизу, путь, видимый заранее, лестницы, обрывы и шахты — и почему игрок редко смотрит вверх.
Пространство и бой
Композиция в 3DУрок · базаКак правила композиции работают, когда камеру держит игрок.Интерьер и экстерьерУрок · базаЧем помещение отличается от улицы: масштаб внутри, переход снаружи внутрь, свет и экспозиция, окна и двери, история, которую рассказывает комната. Как интерьеры живут в большом мире: готовыми блоками, отдельными уровнями, слоями.Бой на уровне: арены, укрытия и линии огняскороКак место делает бой интересным: форма арены, укрытия разной высоты, линии видимости, фланги и высоты, входы врагов и пути отступления. Как один и тот же бой меняется от расстановки.Стелс на уровне: свет, тени, маршруты и укрытияскороКак строят уровни, где прячутся: зоны света и тени, маршруты охраны с окнами для проскока, укрытия и обходные пути, шум под ногами — и почему игрок должен понимать, видят его или нет.Карты для мультиплеера: баланс и маршрутыскороКак устроены карты для многих игроков: дорожки и их пересечения, точки контроля, симметрия и честная асимметрия, время до встречи, укрытия и обзор — и почему одни карты живут годами.События уровня: триггеры, двери и сценкискороКак уровень реагирует на игрока: зоны-триггеры, двери и лифты, сохранения, появление врагов, сценки — и как сделать, чтобы скрипт не ломался, если игрок пришёл не тем путём.
Земля
Ландшафт: земля из карты высотУрок · с нуляКак земля в играх устроена внутри: сетка вершин и карта высот, сколько метров на вершину и сантиметров на ступеньку высоты, куски сетки и детализация вдали, кисти и слои правок. Как это сделано в Unreal, Unity и Godot и чего карта высот не умеет.Как выглядит настоящая земляУрок · базаПочему горы, долины и берега выглядят именно так: эрозия, осыпи, наносы, речные долины и террасы. Как генераторы рельефа повторяют работу воды и времени и почему земля без эрозии похожа на пластилин.Gaea: первые шагискороПо шагам: граф из нод, первые формы гор и холмов, эрозия, размер и разрешение мира, сборка и выгрузка карты высоты — первый рельеф, который не стыдно отправить в движок.Эрозия в Gaea: вода, осыпи и наносыскороЧто на самом деле считают ноды эрозии: вода уносит породу и кладёт наносы, склоны осыпаются до угла откоса, мягкая и твёрдая порода размываются по-разному, и всё зависит от масштаба мира. Почему несколько проходов разной силы выглядят естественнее одного.Рельеф из генератора в движокФлоуПо шагам: рельеф из генератора или из реальных данных высот, 16-битная карта, размер под движок, масштаб по высоте, импорт в Unreal и проверка, что метры остались метрами.Материал земли: слои, уклон и повторскороКак землю красят несколькими слоями: веса слоёв, смешивание по высоте, автоматический материал по уклону и высоте, борьба с повтором вблизи и вдали, стык камней и земли, трава из слоя. На примере Unreal и других движков.Маски из рельефа в Gaea: склон, течение и наносыскороКак рельеф сам подсказывает, где трава, где камень и где песок: карты склона, высоты, течения воды и наносов, их выгрузка и как они становятся слоями материала земли и правилами расстановки.Пещеры, арки и нависания: когда карты высот малоскороПочему карта высот не умеет пещеры и навесы и как их добавляют: скалы-модели поверх земли, дыры в ландшафте, воксельный рельеф и рельеф из сетки. Как спрятать стык и сколько это стоит.
Вода и дороги
Вода в мире: озёра, реки и берегаУрок · базаКак вода устроена в игре: уровень и ложе, почему река течёт только вниз, берег, глубина и цвет, прозрачность, пена у кромки, дно. Как вода вырезает себе место в земле в Unreal и как её делают в других движках.Озеро и река в UnrealФлоуПо шагам: озеро и река системой Water — ложе в ландшафте, уровень, берег, течение, материал и проверка с камеры игрока.Дороги и тропыУрок · базаКак дорога ложится на рельеф: уклон, повороты и серпантины, мосты и броды, обочины и колеи, тропа, которую протоптали. Чем делают дороги — сплайн, который прижимает землю, меш вдоль сплайна, декали — в Unreal и других движках.
Растительность и расстановка
Биомы: как устроен лесУрок · с нуляПочему в природе ничего не растёт равномерно: ярусы леса, влага, склон, высота и свет, опушки и поляны, группы и одиночки, старые и молодые деревья. Правила природы, которые потом станут правилами расстановки.Расстановка по правиламУрок · базаКак компьютер засаживает гектары: точки на поверхности, карты плотности, фильтры по уклону и высоте, разброс без наложений, зерно случайности, пересчёт после правок, генерация вокруг игрока. PCG в Unreal и как то же делают в других инструментах; что правила не умеют и где нужна рука художника.Засадить лес по правилам в PCGФлоуПо шагам в Unreal: граф PCG от поверхности до готового леса — точки, фильтры по уклону и высоте, ярусы, поляны, исключение воды и дорог, ручные правки поверх.Расстановка вдоль дорог и береговФлоуПо шагам в Unreal: PCG вдоль сплайна — камыш у воды, камни на обочине, столбы забора вдоль дороги.
Большой мир
Воздух и даль: туман, небо, время сутокУрок · базаПочему даль светлее и голубее и как воздушная перспектива продаёт масштаб; туман, небо и солнце как одна система, время суток и погода, как воздух ведёт взгляд.Открытый мир: как он грузится кускамиУрок · глубжеКак большой мир грузится вокруг игрока: сетка ячеек, дальность загрузки, упрощённые копии вдали, слои мира, большие координаты и что ломается на стыках кусков. World Partition в Unreal и как это решают другие движки.Бюджет открытого мираШпаргалкаОдин экран чисел и проверок: размеры ландшафта, ячейки и дальности загрузки, плотность растительности, дальность отрисовки, что смотреть в профайлере и чек-лист перед тем, как расширять мир.
Разборы миров
Zelda: Breath of the Wild — треугольники и притяжениескороКак Nintendo ведёт игрока по огромному полю без маркеров: холмы, которые прячут и открывают, ориентиры, которые притягивают, и плотность находок.Firewatch: лес силами маленькой командыскороКак небольшая команда собрала стилизованный лес, который ведёт игрока без карты: виды, цвет, ориентиры и тропы.Horizon Zero Dawn: расстановка правиламискороКак Guerrilla расставляет лес и камни по картам плотности, которые складываются из правил, — теория, на которой стоит любая процедурная расстановка.Far Cry 5: мир правилами в HoudiniскороКак Ubisoft генерировала рельеф, скалы, реки, дороги и леса инструментами на Houdini, а художники направляли результат.Ghost of Tsushima: остров, трава и ветерскороКак Sucker Punch строила остров и поля травы и как ветер стал и красотой, и навигацией.Примеры PCG от EpicскороКак устроены графы PCG в бесплатных примерах Epic, которые можно открыть в движке: биомы, ярусы растительности, правила у воды и дорог и что из них взять себе.
Разборы уровней
Как разбирать чужой уровеньскороПо шагам: пройти, нарисовать план сверху, отметить путь, бои, ворота и ориентиры, засечь темп и записать, что работает и почему. Метод, по которому сделаны разборы этого подраздела.de_dust2: почему карта живёт десятилетиямискороКак устроена самая известная карта Counter-Strike: три дорожки, время до встречи, длинные и короткие линии огня, укрытия — и почему на ней всегда понятно, где ты.Dark Souls: мир, который замыкается сам на себяскороКак первый Dark Souls сворачивает мир без загрузок в клубок: срезы и лифты, которые возвращают к костру, виды на места, куда попадёшь позже, и ощущение, что мир — одно целое.Hitman: Сапиенца — уровень-песочницаскороКак устроен уровень, который проходят десятками способов: кольца доступа, маскировки, маршруты персонажей, истории-подсказки и точки, откуда видна цель.