особенности применения нелинейных схем для написания квест-игр
В предыдущем моем посте (ссылка) сделано несколько серьезных замечаний и показаны основные недостатки игр жанра «поиск предметов» в рамках линейной схемы прохождения. Также, были приведены свойства, которыми должна обладать современная квест-игра. Данный пост раскрывает особенности применения нелинейных схем для написания квест-игр. Материал направлен, в первую очередь, на разработчиков данных игр, а также на игроков, имеющих определенный опыт в этой области. Главной проблемой линейной схемы квест-игр (далее ЛСК) является заранее известная четко-определенная цепочка следующих друг за другом сюжетно-смысловых событий (шагов), переход между которыми осуществляется с помощью условий. Приведем описание следующего сюжета: Игрок должен поговорить с мистером К, зайти в дом и взять старинную монету. Данный сюжет является полностью вымышленным и служит исключительно для того, чтобы показать, как он реализуется с помощью различным схем. Не трудно догадаться, что смысл такой игры будет очень простой и короткий. Поэтому, опишем прохождение в рамках ЛСК детально.Вначале игры мы видим видеозаставку (полноэкранное видео), где игрок с каким-то мужчиной подходят к дому. Затем, управление передается игроку. Он поворачивается к мистеру К и активирует диалог (видеозаставку). После чего, этот таинственный джентльмен исчезает и управление снова передается игроку. Теперь ему нужно попасть в дом, но без ключа это сделать невозможно, так как это единственный предусмотренный способ продвинутся дальше по сюжету. Следовательно, игрок должен найти горшок с цветком возле входной двери, в котором и будет лежать этот самый ключ, взять его, открыть дверь и зайти внутрь. Он попадет в коридор с множеством комнат, но только в одной из них лежит старинная монета. Это вторая дверь справа. Зайдя в нее, игрок видит эту монету на краю письменного стола, берет ее и далее следует видеозаставка, и мы видим, как игрок уходит из дома в неизвестном направлении. Следует отметить несколько важных особенностей данного прохождения в рамках ЛСК: игрок не может зайти в дом, не поговорив предварительно с мистером К; при обходе дома игрок может обнаружить открытое окно, через которое, в общем случае, несложно попасть внутрь, но в данном конкретном — это сделать невозможно (не предусмотрено); время, отведенное игроку на то, чтобы попасть в дом и найти старинную монету не ограничено (поэтому, чем дольше игрок будет искать способ проникнуть внутрь, тем дольше будет идти игра и, вместе с этим, в одних местах игры будет вечный день, а в других — вечная ночь); Этих неприятных моментов можно избежать, применив нелинейные схемы. Я хочу разделить их на два типа, согласно учета времени: Нелинейные схемы квест-игр без учета времени (НСК-В); Нелинейные схемы квест-игр с учетом времени (НСК+В); Это две альтернативы, которые справляются с недостатками ЛСК, но имеют очень существенные отличия. Рассмотрим их более подробно.НСК-В — это расширенный ЛСК, дополненный несколькими локальными вариантами прохождения в определенных сюжетных моментах. Как и ЛСК, он не учитывает время и длительность каждого события. Опишем это же прохождение, но уже используя схему НСК-В (новые положения отмечены жирным шрифтом).Вначале игры мы видим видеозаставку (полноэкранное видео), где игрок с каким-то мужчиной подходят к дому. Затем, управление передается игроку. Он может повернуться к мистеру К и активировать диалог (видеозаставку). Но он может этого и не делать, а сразу подойти к дому. Тогда этот таинственный джентльмен исчезнет и игрок его больше не увидит. Нужно попасть в дом. Это можно сделать с помощью ключа (игрок должен найти горшок с цветком возле входной двери, в котором и будет лежать этот самый ключ, взять его, открыть дверь и зайти внутрь), лома (игрок должен осмотреть ящик с инструментами возле входа в подвал, взять лом и взломать входную дверь) или через открытое окно с восточной стороны (игрок должен будет подвинуть высокий ящик с инструментами под окно, залезть на него и пробраться внутрь). Он попадет в коридор (если он пробрался в дом первыми двумя способами) с множеством комнат, но только в одной из них лежит старинная монета. Это вторая дверь справа. Зайдя в нее (если он пробрался в дом через окно, то он окажется в этой самой комнате со старинной монетой), игрок видит эту монету на краю письменного стола, берет ее и далее следует видеозаставка, и мы видим, как игрок уходит из дома в неизвестном направлении. Следует отметить несколько важных особенностей данного прохождения в рамках НСК-В: у игрока появился необязательный выбор (разговор с мистером К) и обязательный выбор (проникновение в дом); количество действий, необходимое для прохождения игры теперь определяется игроком; время, отведенное игроку на то, чтобы попасть в дом и найти старинную монету по-прежнему не ограничено (поэтому, чем дольше игрок будет искать способ проникнуть внутрь, тем дольше будет идти игра и, вместе с этим, в одних местах игры будет вечный день, а в других — вечная ночь); НСК+В намного сложнее, чем НСК-В, которая требует ввода следующих понятий: — коэффициент времени (Кв); — алгоритм поведения каждого персонажа (Вi, где i = 1…N, N — общее количество персонажей). Коэффициент времени определяет, как быстро будет идти время в игровом мире. Если он равен 1, значит 1 час «реальный» будет равняется 1 часу «виртуальному». Общая формула записывается следующим образом: Tвирт = Tреал / Кв где Твирт — виртуальное игровое время; Треал — реальное время. Чем больше коэффициент (главное, чтобы он не был равен 0), тем быстрее будет идти время в игре и, следовательно, быстрее нужно будет принимать решения. Если он будет в диапазоне от 0… 1 (к примеру 0,5), то тогда игровое время будет замедленно в 2 раза. Алгоритм поведения персонажей определяет их персональный план, по которому они (персонажи) перемещаются по игровым локациям и выполняют различные действия исходя из текущих параметров (условий) игры. Все это будет проще показать на простом примере с киоском и продавцом. Продавец находится в киоске с 8:00 и до 20:00. Все остальное время его там нет и киоск закрыт (то есть войти в него обычным способом не получится). Поэтому, план поведения продавца будет описываться следующим алгоритмом (при условии, что игра начинается в 6:00): — изначально запускаем таймер на 2 виртуальных часа (ровно столько времени он должен подождать, чтобы прийти в киоск); — если продавец находится не в киоске, то запускаем таймер на 12 виртуальных часов (ровно столько времени он должен находится в киоске) и перемещаем продавца в киоск; — иначе (если продавец в киоске) — запускаем таймер на 12 виртуальных часов (ровно столько времени он должен не находится в киоске) и убираем продавца с киоска. Это самый простой пример поведения персонажей, который является цикличным и, следовательно, ни одно внешнее (от других персонажей, событий) условие на него не влияет. Если же нужно, например, чтобы продавец не пришел в киоск по какой-нибудь причине (заболел, уехал, убили и т.д.), то нужно добавить дополнительное условие или несколько условий, которые будут определять, нужно ли ему быть в киоске или в совсем другом месте. Таким образом, нужно заранее «проработать» поведение каждого персонажа, чтобы все они смогли «принимать» решения в любой момент игры. Поэтому, данная схема обладает следующими свойствами: все персонажи игры (кроме игрока) параллельно играют в эту игру, используя заранее подготовленные схемы расписаний; игрок не играет в игру, он как бы «вмешивается» в привычный ход распланированных событий (другими словами, если несколько раз начать новую игру и ничего не делать, то исход будет один и тот же, потому что игрок ни разу не вмешался в расписания других персонажей); время теперь жестко контролируется и может влиять как на игровой мир (день-ночь), так и на процесс прохождения в целом; невозможно заранее определить, сколько действий нужно совершить для удачного прохождения игры, так как здесь имеет место большая вероятностная сложность; игра становится практически абсолютно непредсказуемой, что увеличивает интерес различных вариантов прохождения. Опишем первоначальный вариант прохождения (ЛСК), но уже используя схему НСК+В (новые положения отмечены жирным подчеркнутым шрифтом).Вначале игры мы видим видеозаставку (полноэкранное видео), где игрок с каким-то мужчиной подходят к дому. Затем, управление передается игроку. Он может повернуться к мистеру К и активировать диалог (видеозаставку) только в течении 5 виртуальных минут с момента начала игры, иначе появится видеозаставка, где будет видно, как этот таинственный джентльмен уходит. Но он может этого и не делать, а сразу подойти к дому. Нужно попасть в дом. Это можно сделать с помощью ключа (игрок должен найти горшок с цветком возле входной двери, в котором и будет лежать этот самый ключ, взять его, открыть дверь и зайти внутрь), лома (игрок должен осмотреть ящик с инструментами возле входа в подвал, взять лом и взломать входную дверь) или через открытое окно с восточной стороны в течении 10 виртуальных минут с момента начала игры, иначе его закроет мужчина изнутри (игрок должен будет подвинуть высокий ящик с инструментами под окно, залезть на него и пробраться внутрь). Он попадет в коридор (если он пробрался в дом первыми двумя способами) с множеством комнат, но только в одной из них лежит старинная монета. Это вторая дверь справа. Зайдя в нее (если он пробрался в дом через окно, то он окажется в этой самой комнате со старинной монетой), игрок видит эту монету на краю письменного стола, берет ее и далее следует видеозаставка, и мы видим, как игрок уходит из дома в неизвестном направлении. Если игрок попадается на глаза мужчине внутри (т.е. если игрок и мужчина оказываются на одной сцене), то запускается видеозаставка, где видно, как этот мужчина «вырубает» игрока, после чего его увозят в полицейской машине и сажают за решетку за незаконное проникновение в дом.Алгоритм поведения мужчины в доме: Мужчина в доме, где 4 комнаты и коридор, по очереди заходит в каждую комнату и находится в ней в течении 5 минут, затем переходит в следующую комнату через коридор (переход длится 30 секунд). Для составления рассмотренных выше нелинейных схем очень полезно иметь линейный сюжет (он будет выступать в качестве основного, именно от него сценарист будет отталкиваться). Но, вместе с этим, у них есть общий недостаток — они в несколько раз сложнее в плане реализации (особенно НСК+В), что делает их применение весьма затруднительно в короткие сроки. Но этот недостаток можно ликвидировать, если постепенно переходить от самых простых нелинейных сюжетов к самым сложным (как, например, чтобы написать сложную игру, нужно сначала пройти путь из более простых). Тем самым, набить руку на составление нелинейных схем. Поэтому, я считаю, что при написании квест-игры и выборе сюжетной схемы, в первую очередь, нужно исходить из навыков разработчика и сроков, отведенных на реализацию конкретной квест-игры.