Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 3.69 KB

README.md

File metadata and controls

35 lines (28 loc) · 3.69 KB

Kuhpik Bootstrap

Создан для упрощения разработки маленьких игр на Unity.

Решает большинство рутинных задач вроде создания менеджера окон, сохранения данных и закладывания архитектуры.

Установка

  • Скачайте последний Unitypackage
  • Для построения более гибкой архитектуры я рекомендую так же поставить плагин Signals
  • Переместите на вашу сцену префабы Bootstrap и UI Canvas которые находятся в папке Kuhpik's Bootstrap/Source

Какие плагины используются?

  • Naughty Attributes. Для быстрого прототипирования окон инспектора.
  • Odin Serializer. Для сохранения данных. Позволяет сериализовывать такие коллекции как Dictionary.

Зачем это использовать?

  • Наличие готовых инструментов, например, для адаптирования FOV камеры, сохранений прогресса, UI-менеджер и т.д.
  • Всю логику программы можно разбить на игровые состояния, что позволяет не плодить сотни флагов в проекте.
  • При правильном дизайне все существующие фичи проекта очень будут видны в иерархии сцены. Не нужно будет прыгать по проекту.
  • Оптимизированная работа с жизненным циклом Unity. Все скрипты работают в едином апдейте
  • Настройка очереди выполнения систем прямо из сцены.
  • Слабосвязанный модульный код при правильном дизайне. Системы не общаются друг с другом, общение происходит через данные.

Какие есть минусы?

  • Не лучшая работа с UI-окнами. Нет анимаций и красивых переходов.
  • Нет привычной инъекции зависимостей. Прокинуть можно только Scriptable Objects и только в системы. Думаю, скоро это поменяется.
  • Дизайн и возможности фреймворка подталкивают к использованию паттерна MVP, из-за чего системы могут стать достаточно толстыми.
  • Отсутствие нормальной документации :(

FAQ

Подходит ли этот фреймворк для реальной разработки?

Конечно! На данный момент выпущено и протестировано более 200 проектов в жанре Hypercasual, парочка головоломок и idle-action проектов.

Contributors

Oleg Kravchenko - Помощь в переходе на OdinSerializer. Написал удобный AOTBuilder.

Dmitri Sychev - Инициативность в улучшении чистоты кода, особенно, касательно UI-менеджера.