Доброго времени суток, господа корсары! Сегодня я расскажу вам как планировалось и осуществлялось… создание острова и квестово-диалоговая архитектура. Какими плагинами я воспользовался для создания ландшафта и диалоговой системы. И с какими проблемами пришлось столкнуться в процессе их встраивания в игру.
Я, наверное, ретроград, но мне не нравится.
Каждый инструмент избовляет тебя от части возможностей, взамен делая за тебя часть работы.
Конкретно этот выглядит так, будто он избавляет от части возможностей, взамен заставляя работать больше. Я не вижу преимущества в стрелочке с условием, вместо "if" в коде, в этом случае, в отличие, например, от Behavioral Tree или Animation Blueprint.
В моем ретроградном представлении, должен существовать "глобальный" набор квестовых переменных, а дальше все управляться скриптами. При грамотной организации кода (а не ужасе на скриншоте), должно получиться емко, коротко и удобно.
Вот тебе пример создания диалогового окна для персонажа в одной малоизвестной игре.
До третьей главы у него можно по клику на диалог "чекак?" взять квест. В процессе выполнения другого квеста получить информацию. А во всех остальных случаях ничего не значащий ответ.
Коротко, емко, удобно, вариативно, и нет никакого миллиарда стрелок.
Бесспорно, у вашего подхода есть плюсы. Но лично я не сторонник размазывания переменных по всему проекту. Это удобно если у вас много квестов которые друг с другом связаны, но в моем случае квесты по большей части унитарны.
+ в вашем кейсе, если придется менять диалоги, то придется менять и комментарии. А если в диалоге разные текста в зависимости от репутации и рандома...
В целом я считаю что диалоги и квесты - это не те вещи, которые должны решаться кодом. Даже непрограммист после краткого экскурса должен смочь сделать квест в моем понимании. Делать это через код - сильно прибавляет к порогу входа, среду разработки установи, IDE настрой...
Так что это скорее вопрос точки зрения и стоящих задач.
Сразу докину, как выглядит код "сдачи" квеста: