Skip to content

DizzyJump/DoorsAndButtons

Repository files navigation

DoorsAndButtons

Демонстрационный проект на котором я отрабатываю различные идеи связанные с архитектурой и дизайном кода.

В данном проекте я попытался объединить сервисную архитектуру управляющую жизненным циклом игры с ECS подходом к реализации геймплейной логики. Проект реализован в обвязке из DI фреймворка Zenject.

Интересной особенностью проекта является то, что геймплейная логика инкапсулированная в GameplayModeService не только реализована ECS-way, но так же реализована полностью отвязанной от движка Unity таким образом, что бы была возможность без проблем вынести её на сервер где нет Unity и использовать один и тот же код как на сервере так и на клиенте где могут быть разные архитектурные и инфраструктурные реализации.

Высокоуровневые требования были следующими:

  1. Расширяемая архитектура Unity-приложения
  2. Геймплейная часть должна быть реализована полностью отвязанной от движка Unity. Должна быть возможность вынести геймплейную логику в другую среду, например, на сервер. Геймплей должен быть реализован ECS-way с использованием LeoEcs.
  3. Продемонстрировать подход к следующим моментам: управление жизненным циклом игры, работа с зависимостями, работа с UI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published