3,8K подписчиков

Как генерируются бесконечные Radiant квесты в Скайриме

4,6K прочитали
Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.
Написать диалоги, заскриптить сценки, анимации, записать озвучку и, наконец, зафиксировать цели задания на программном уровне это, знаете ли, не травку с кустиками по поляне раскидать.

Одной из первых с такой задачкой решила бороться строптивая сторонница бескрайних опенворлод - Bethesda. Начав с обливиона и захватив все игры компании прошлого десятилетия, система Radiant AI с её идеологическими потомками, не то чтоб решили, но отлично разбавили геймплей одноликими, но бесконечными приключениями.

Цель и логика

Пред последовательным описанием непосредственно генерации квестов,
не лишним будет обрисовать всё в общих чертах.

Главной целью системы, не смотря на бесконечность, является конечно удержание игрока в игре на подольше, однако в более благородной
форме - эксплоринг еще не увиденного.

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.-2

Любые пещеры и локации, что есть например в Скайриме, имеют свой скажем так тип. Так называемый искусственный интеллект не отправит нас по заданию гильдии воров похищать золотое блюдце в шахту с бандитами, где не то что блюдца нет, нет вообще ничего, ведь подземелье зачищено, а системе никто не давал отмашку генерировать в неё новых плохишей, бандитов по заданию ярла или вампиров от Стражей Рассвета например.

В этом и главный обман - система не ищет вам новые цели, она их создает.
И делает это с важнейшей для неё условностью - нужного типа локация в идеале должна быть еще не исследована, в другом случае - на пути к ней должно быть поболее неисследованных локаций.

Пошаговая бесконечность

Бесконечный квест можно получить как правило у представителей фракций, трактирщика, ярла или горожанина, поговорив с ними.
Еще есть способ триггернуть систему сделав плохое дело - обокрасть рядового NPC и попасться, убить его или просто стукнуть, но это я лучше расскажу в другой статье.

Система существует не абстрактно как одно из девяти божеств вселенной, а, вероятнее всего, привязано к каждому из радиант-квест-гиверов, ибо закончить его всё же можно - консольной командой.
Каждый из типов радиант квестов отличается - кого-то убить, зачистить подземелье, украсть, добыть, запугнуть, изучить, но самая по-моему мнению интересная и структурно насыщенная цепочка генерации у темного братства, потому на его примере и разберем.

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.-3

Итак, после разговора с Матью Ночи, системка триггерится и избирает первую цель - заказчика, если быть точнее то его социальное положение скажем так, возможные вариации с елдерскроллс вики прилагаю :

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.-4

В зависимости от выбранного системой заказчика, располагаться он будет в разных местах, жрец например в одном из храмов, слуга в доме ярла, а нервный посетитель в одной из таверн, что находятся не только в городах.

Вспоминая выше написанное, каждое из возможных мест выбирается сначала из еще неисследованных, потом из тех, что на своем пути имеют побольше других неисследованных локаций и потом наверно рандом.
Кстати неисследованные локации точно находятся в специальном списке ибо на нем висит так же работа с картой и возможностью фаст-тревела.

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.-5

Заказчик генерируется и это совсем не является проблемой, ведь игра уже содержит в себе генератор персонажей, но есть ограничения.
Например роль продажного агента со скриншота выше, логичнее всего займет персонаж расы Имперец, пол и внешность могут генерироваться на усмотрение системы, однако не исключаю наличие пресетов.

Сам диалог не то что генерируется, но состоит из нескольких частей - двух частей : приветствие, цель, окончание фразы и местоположение цели, воткнутое посреди. Кстати не будь его, всего возможных вариаций фраз было бы всего 110, по 10 возможных жертв у каждого из 11 заказчиков.

Технически, наличие в игре огромного открытого, а то и сгенерированного мира, давно не является чем-то удивительным и инновационным, другое дело - его наполнение.-6

С генерацией жертвы всё вообщем-то так же : выбор локации согласно её соц. положению с неизменной приоритетностью неисследованных локаций, генерация визуального образа с учетом ограничений иии...

Всё. Генерируется всё вышеописанное конечно сразу, но в своих объяснениях я старался быть последовательным как и квест.
В догонку расскажу об отслеживании выполнения квестов :

  • в случае с убийством кого-либо как в Тёмном Братстве, система может отслеживать очки здоровья жертвы и, в случае если они равны нулю, переводить квест в следующую стадию - снова прийти к Маме Ночи.
    Именно стадия, ведь как я уже писал, квест можно закончить консольной командой, а значит он по сути действительно бесконечен, просто генерируются новые его этапы.
  • в случае с воровством, система может отслеживать наличие предмета (который она сама и сгенерирует) с нужным id в инвентаре игрока и по сдаче квеста делать это еще раз.
  • в случае если надо наоборот, подкинуть что-либо кому-либо, система может отслеживать наличие предмета в их инвентаре, ведь по сути инвентарь - всего лишь скрипт, имеющий возможность висеть хоть на бочке, хоть на неписе, хоть на мешке.

Вот так, тратя кучу ресурсов, Тодд Говард сделал свои игры по-настоящему бесконечными, доказав свое неоспоримое величие в RPG мире, пока какие-то там поляки тратят еще больше ресурсов на создание какой-то там смешной сотни побочных квестов в Ведьмаке 3, хах.