Наверх

Сюжетные квесты и как их готовить

Сюжетные квесты и как их готовить
В этой статье мы рассмотрим самый сложный и увлекательный тип тестов в нашем сообществе – текстовые квесты, так же называемые древами.

Эти тесты отличаются от остальных тем, что каждый последующий вопрос напрямую зависит от вашего ответа на предыдущий.  Эта особенность позволяет создать ветвистый сюжет и сделать каждое прохождение уникальным.
При входе на страницу редактора текстовых квестов, перед вами будет только пустое полотно с единственным повествовательным элементом «Стартовый вопрос». Этот элемент служит точкой отправки в любой истории, а полотно – схематичной визуализацией структуры вашего теста.
Кроме того, в правом нижнем углу экрана вы можете увидеть элементы «Вопрос», «Результат» и «Секция», каждый из которых можно перетянуть на полотно редактора, тем самым добавив его в сюжет. Давайте подробнее рассмотрим «Вопрос» и «Результат», а «Секцию» пока оставим напоследок:
«Вопрос» - базовая составляющая любого теста. При прохождении теста игрок отвечает на вопросы, видя на экране их заголовок, описание, иллюстрацию и возможные варианты ответов. «Стартовый вопрос» не отличается от обычного вопроса ничем, кроме цвета в редакторе.
«Результат» - так же как и вопросы является обязательным элементом. Это концовка вашей истории, тот элемент повествования, который приведет пользователя на финальный экран и прохождение будет завершено.

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

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

Вы можете редактировать параметры ответа так же, как и других повествовательных элементов, нажатием по нему.
Просуммировав всё описанное выше, вы уже можете создать простую повествовательную структуру: добавить желаемое число вопросов, связать их ответами и привести каждую цепочку к своему результату. Имейте в виду: чем больше вариантов развития сюжета вы придумаете и чем шире будет выбор ответов у пользователя – тем интереснее будет ваш квест.
Наконец пришло время разобраться с тем, что же такое «Секция». Бывают случаи, когда вы увлеклись разработкой своей истории и не заметили, как создали огромную повествовательную структуру, за которой уже попросту сложно следить, а при отдалении полотна устройство начинает глючить из-за большого количества элементов на экране.

В таких случаях вам поможет элемент «Секция», который представляет собой отдельное вложенное пространство для ваших сюжетных элементов. Если проводить аналогию, секция это папка на рабочем столе вашего гаджета: вы складываете туда файлы, которые не хотите видеть на главном экране.
Для просмотра содержимого секции вы можете открыть её полотно, просто нажав на неё. Для выхода из полотна секции предусмотрена кнопка со стрелочкой в левом верхнем углу экрана.

Внутри секций можно расположить целые ветки сюжета, подключив её к вопросам на основном полотне. Единственный нюанс: секцию нужно добавлять на полотно заранее, так как перетащить в неё уже существующие элементы нельзя.
Теперь, используя все эти знания, вы можете создавать большие и сложные сюжеты. Но что если вам этого недостаточно и вы хотите сделать прохождение теста более интерактивным? Например, спросить у пользователя его имя, чтобы использовать его в текстах вопросов, либо хранить и использовать информацию о том, сколько яблок он сорвал с дерева на том вопросе про фруктовый сад? Пока вы читали это, у вас появились новые идеи?

Тогда пришло время погрузиться в понятие «Атрибут» и функционал, связанный с ним!
Итак, что же такое «Атрибут»? Для простоты понимания, давайте скажем, что это образная ячейка, в которой хранится информация для прохождения теста, но проще будет разобраться на примере.

Представим, что мы хотим создать в своем повествовании торговую систему и для этого нам нужно как-то хранить текущее количество денег у игрока, чтобы проверить, может ли он купить, допустим, яблоко. Мы можем создать в тесте атрибут, назвать его MONEY и по умолчанию (в начале прохождения) присвоить ему значение, например 0. По ходу сюжета, при выборе ответов, мы можем менять значение этого атрибута, например при правильном ответе на один из вопросов добавим игроку 10 монет к его текущему значению, чего как раз хватит на яблоко. Тогда, в следующих вопросах мы можем проверить значение этого атрибута и сделать ответ с покупкой яблок доступным. Если игрок решит купить одно или несколько яблок, а для последующего сюжета важно, сколько яблок в его кармане – вы можете создать еще один атрибут APPLES и назначить ему значение при данном ответе.

А если вкратце: атрибуты позволяют хранить, изменять и выводить в текст сюжетных элементов свое значение, а так же блокировать варианты ответов. При этом для каждого игрока, при каждом прохождении квеста, значения атрибутов будут обособленными (то есть не перенесутся из другого прохождения).
Давайте научимся создавать атрибуты: откройте меню атрибутов кнопкой с иконкой «А» в левом нижнем углу редактора. При нажатии кнопки «Добавить атрибут» вы сможете назначить ему название (отображается в редакторе и при прохождении теста), короткий код (используется в редакторе), тип атрибута (строка или число) и его значение по умолчанию, которое будет присвоено ему в начале прохождения (если нужно).

Типы атрибутов отличаются целью: если вы хотите использовать математические функции в отношении значения атрибута – выбирайте «число», если нет - подойдет тип «строка»
Любые действия с атрибутами запускаются игроком, а значит, происходят при ответах на вопросы. Исходя из этого, интерфейс действий с атрибутами находится в параметрах элемента повествования «Ответ». Откройте параметры любого ответа на вашем полотне чтобы увидеть доступные действия.

Вместо простого выбора ответа, вы можете позволить игроку ввести значение и сохранить его в атрибут для дальнейшего использования. Для этого переключите ответ в режим «Для ответа нужно ввести» и выберите тип атрибута, а так же атрибут, в котором вы хотите хранить введенное значение.
Так же при выборе или вводе ответа игроком, вы можете заложить изменение значения атрибута на заготовленное при помощи пункта «Изменение атрибутов». Добавив атрибут для изменения, вы сможете назначить новое значение атрибута, а так же использовать математические функции (увеличить/уменьшить и т.д.) для числовых атрибутов.
Вы можете позволить игроку выбирать ответ только при определенных условиях. Для этого воспользуйтесь пунктом «Условия отображения», добавив в нём атрибут и метод сравнения. Для строчных атрибутов доступны только методы «значение равно» и «значение не равно», тогда как для числовых атрибутов доступны также математические операторы «больше чем», «меньше чем» и тому подобные. Вы можете добавить несколько условий, используя логические операторы «И» и «ИЛИ» между ними, чтобы управлять обязательностью совпадения всех условий или одного из них.

Ответ с назначенными условиями отображения будет заблокирован по умолчанию, но доступен при совпадении назначенных условий. Вы можете управлять отображением текста заблокированного ответа при помощи поля «Текст блокировки», либо вовсе скрыть ответ, переключив его в режим «не отображается если заблокирован».
А еще, вы можете использовать текущие значения атрибутов в текстах ваших повествовательных элементов, например в заголовке вопроса, тексте ответа или описании результата. Для этого просто вставьте в любой текст короткий код вашего атрибута и оберните его знаком #.

Например, мы спросили у игрока, как его зовут и сохранили введенное значение в атрибут NAME. Теперь мы можем использовать его в тексте последующих вопросов следующим образом: «Привет, #NAME#! Рад познакомиться». Игрок увидит вместо #NAME# введенное им ранее имя.
Мы закончили! Теперь вы знаете всё, что необходимо для создания эпичной текстовой игры с нелинейным сюжетом и сложными механиками.

Спасибо за то, что дочитали эту статью. Мы надеемся, она оказалась полезной.

Привет, дорогой посетитель сайта!

Я заметил, что ты здесь уже больше чем 5 минут и надеюсь, это время проведено интересно.

Наше сообщество живет за счет щепотки платных объявлений, поэтому я был бы очень благодарен за добавление Pikuco в исключения твоего блокировщика рекламы ;)

Надеюсь на тебя!

Создатель Pikuco и ваш admin