This project is a Unity C# idle mobile game that serves as a showcase of programming architecture principles, particularly focusing on the application of SOLID principles. The game utilizes third-party packages such as Firebase for backend functionalities, and DoTween for smooth animations.
Breaking.Bread.Idle.Bakery.mp4
IdleBakery exemplifies SOLID principles in its design:
- Single Responsibility Principle: Core logic resides in managers, separating it from gameplay logic in components.
- Liskov’s Substitution Principle: Features are divided into subclasses or interfaces, ensuring interchangeable components.
- Interface Segregation Principle: The interface is designed to be specific to the needs of its clients, avoiding unnecessary dependencies.
- Upgrade Manager: Holds data about main gameplay features, generating baked goods based on manual or per-tick generation.
- Research Manager: Amplifies generation through a multiplier or cap on off-screen production.
- Milestone Manager: Manages current milestones, awarding special currency.
- Config Manager: Utilizes Remote Configuration to fetch values for gameplay managers.
- Monitor Manager and Analytics Manager: Wrappers for the Crashlytics and Analytics modules.
