Разработка ремейка методами чайника 9. Создание острова, архитектура диалогов и квестов

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

3434

Я, наверное, ретроград, но мне не нравится.

Каждый инструмент избовляет тебя от части возможностей, взамен делая за тебя часть работы.
Конкретно этот выглядит так, будто он избавляет от части возможностей, взамен заставляя работать больше. Я не вижу преимущества в стрелочке с условием, вместо "if" в коде, в этом случае, в отличие, например, от Behavioral Tree или Animation Blueprint.

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

Вот тебе пример создания диалогового окна для персонажа в одной малоизвестной игре.

До третьей главы у него можно по клику на диалог "чекак?" взять квест. В процессе выполнения другого квеста получить информацию. А во всех остальных случаях ничего не значащий ответ.

Коротко, емко, удобно, вариативно, и нет никакого миллиарда стрелок.

Бесспорно, у вашего подхода есть плюсы. Но лично я не сторонник размазывания переменных по всему проекту. Это удобно если у вас много квестов которые друг с другом связаны, но в моем случае квесты по большей части унитарны.
+ в вашем кейсе, если придется менять диалоги, то придется менять и комментарии. А если в диалоге разные текста в зависимости от репутации и рандома...

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

Так что это скорее вопрос точки зрения и стоящих задач.

4

Сразу докину, как выглядит код "сдачи" квеста: