TGViewer
Анонимный дотнетчик Анонимный дотнетчик @dotnetter · 1.81K subscribers
Post #9429 477
Архитектура диалоговой системы в Unity

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

Читать далее

https://habr.com/ru/articles/893592/?utm_campaign=893592&utm_source=habrahabr&utm_medium=rss
More from @dotnetter
  1. Oct 14, 2025.NET and .NET Framework October 2025 servicing releases updates A recap of the latest serv…
  2. Oct 14, 2025Announcing .NET 10 Release Candidate 2 .NET 10 Release Candidate 2 focuses on final qualit…
  3. Oct 14, 2025Announcing the .NET Security Group Learn how to join the .NET Security Group for early acc…
  4. Oct 14, 2025Выбор языка программирования для создание более трудных проектов: как сделать правильный в…
  5. Oct 13, 2025Система резервации на 600 заказов в секунду без буферизации и другой дичи Я прочитал стать…
  6. Oct 13, 2025Минималистский графический интерфейс, на C++ / WTL, для консольного загрузчика Введение Вс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →