Архитектура диалоговой системы в Unity
Когда я начинал разработку своей игры, то не смог найти каких-то внятных гайдов с описанием архитектуры диалоговой системы. Зачастую авторы упоминали верстку да логику UI, но не отвечали на вопросы “как менять сюжетные стейджи”, “как работать с разными типами диалогов”, “как менять статус персонажам на сцене” и т.п. Мне не хватало найденной информации и я потратил какое-то время на написание диалоговой системы самостоятельно. Для опыта конечно же… но и, будем честными, денег я зажал на готовые плагины. Надеюсь, что эта статья поможет таким же новичкам в Unity как и я, кто решил учиться разработке через практику и прототипирование. Небольшая оговор очка: я занимаюсь автоматизацией тестирования и мой основной язык python. Так что заранее прошу извинить за не самые лучшие конструкции C#. Также хочу упомянуть, что статья эта не про код, а про архитектуру, так что первого в принципе будет не так уж и много. А что за игру я делаю? Сюжетное 2д приключение, где я решил брать не механиками, а историей. Часть 1. Планирование архитектуры Без четкого ТЗ результат ХЗ. Для начала планируем и фиксируем, что хочется вообще сделать. На моем примере: 1) Система линейная, диалоги без вариантов ответа; 2) Каждая сцена - это грубо говоря отдельная игра, которая не связана с другими сценами, их все можно запускать независимо. Сохранения реализованы в момент перехода между сценами; 3) На каждой сцене есть n стейджей. На каждом стейдже m диалогов. Заканчиваются стейджи - на этой сцене заканчивается сюжет, можно переходить на новую сцену;
https://habr.com/ru/articles/893592/
#Unity #unity2d #диалоговые_системы #диалоги #разработка_игр #c# #gamedev