1. Назначение
Quest Architect нужен для визуального проектирования квестового потока: что говорит игрок, что проверяется, где обновляются цели и где сценарий завершается.
- Редактор помогает держать структуру, а не только отдельные реплики.
- Главная цель UX: быстро видеть, где ветвление, где риски и где финал.
- Используй граф как «дизайн-карту» квеста, а не только как хранилище данных.
2. Быстрый старт
- Построй «скелет» от
Startдо основных развилок. - Добавь
Dialog/Condition/Switchдля основных решений. - Отметь прогресс через
Objective Setи закрытие черезObjective Complete/Fail. - Явно поставь
Quest Endдля финального состояния ветки. - Проверь warnings, пройдись по иерархии и только потом полируй тексты.
3. UX-принципы графа
Слева направо
Держи основное направление чтения слева направо. Это упрощает ревью и снижает ошибки в сложных ветках.
Один экран - одна мысль
Если в зоне слишком много пересечений, разбей ее на блоки и свяжи через Link Entry/Link State.
Минимум «скрытой логики»
Критичные переходы не должны быть неявными. Финалы и ключевые проверки лучше делать отдельными нодами.
4. Роли нод
Dialog: коммуникация с игроком, выборы.Action: изменение значений.Condition/Switch: маршрутизация.Wait Event/Wait Condition: длинные сценарии с ожиданием.Objective*: UX-прогресс задачи.Quest End: явный финал.Comment/Group: документация и структурирование.
5. Ветвление
Condition
Считай корректной только ветку, где подключены оба выхода: true и false.
Switch
Всегда оставляй default как fallback. Это снижает риск «тихого» тупика при новых значениях.
Dialog
У каждой значимой реплики должен быть исходящий путь. Пустые ответы и тупики усложняют UX игрока.
6. Ожидания и длинные квесты
- Используй
Wait Eventдля внешних триггеров (событие мира, завершение активности). - Используй
Wait Conditionдля ожидания конкретного состояния переменной. - Ставь рядом
Commentс условием и ожиданиями дизайна, чтобы при ревью не терялся контекст.
7. Работа с objective
Идентификаторы
Для одной цели придерживайся одного objectiveId во всех нодах (Set, Complete, Fail).
Жизненный цикл
Хорошая практика: Objective Set -> игровая работа -> Objective Complete/Fail -> Quest End.
8. Нода Quest End
Quest End фиксирует явный итог ветки. Это лучше, чем «случайный» конец в тупике.
- Выбери результат:
complete,failилиabort. - Не веди из нее исходящие связи.
- Стремись, чтобы финальные ветки доходили до нее осознанно.
9. Link State / Link Entry
Используй link-ноды для переиспользуемых точек входа, когда прямые длинные провода ухудшают читаемость.
Link Entry: именованная точка продолжения.Link State: переход к выбраннойLink Entry.- Имена entry должны быть уникальными и смысловыми.
10. Group и Comment
Group
Разделяй крупные квесты на смысловые области: «Вход», «Проверка», «Развязка», «Фейл-ветки».
Comment
Фиксируй правила ветки, критерии успеха и временные допущения. Это ускоряет согласование в команде.
11. Hierarchy и Warnings
- Hierarchy используй как «каркас чтения» большого графа.
- Поиск хорошо работает по частям слов, а не только по точной фразе.
- Warnings проверяй до полировки контента: сначала структура, потом тексты.
- Нажатие на warning должно быть частью регулярного ревью-процесса.
12. Горячие клавиши
D+ click: DialogA+ click: ActionC+ click: ConditionS+ click: SwitchE+ click: Wait EventW+ click: Wait ConditionO+ click: Objective SetK+ click: Objective CompleteF+ click: Objective FailQ+ click: Quest EndG+ click: Group
13. Чеклист ревью
- От
Startесть валидный путь. - У условий и свитчей нет потерянных веток.
- Ключевые ветки заканчиваются
Quest End. - Нет «немых» dead-end без смысла.
- Цели имеют консистентные
objectiveId. - Комментарии и группы помогают читать граф, а не мешают.
14. Антипаттерны
- Граф без явного финала (опора только на случайный тупик).
- Слишком длинные «провода» вместо link-механики.
- Смешивание нескольких логических сценариев в одной зоне без группировки.
- Пустые/дублирующиеся имена ключевых нод.
- Откладывание структурной проверки до конца работы.