- Tilemap
- Represents the board and allows the product owner to create boards with different shapes.
- Board
- Holds the items properly related to the Tilemap.
- Has a fill behavior.
- Controls the player input through a state system.
- Validates when there aren't available moves and shuffles the items.
- Validates when the Player hasn't interacted for a while and suggests a tip.
- Validates movements that would result in a match, swapping back the items if it isn't the case.
- Items
- Move to available positions.
- Can match in two directions.
- Have information about themselves such as their current position and the ID.
- Skills
- Bomb that explodes a square range around the selected fruit.
- Potion that transforms X fruits into the selected one.
- Lightning strikes every fruit on the board that matches the selected one.
- UI
- Responsive UI created for the WEBGL platform.
- UI Animations to improve satisfaction.
- Integration between the system and the UI.
- Level System
- System that allows quick level creation based on inputs representing the goals and obstacles.
- Skill availability per level to make it easier to create good game design.
- Feedbacks
- Game Sounds.
- Game VFX.
- Game Animations to ensure smooth gameplay.
- Settings
- Pause.
- Mute Sounds/Effects.
- Retry/Quit option.
- Win/Lose actions.
- Asynchronous System
- Utilized Coroutines to manage the system appropriately to ensure the functionalities without losing performance.
- Events
- Utilized events to reduce coupling and create nested code.
- Particles
- Created and edited particles using Unity's Particle System.
- Animations
- Created animations using Unity's Animator component and DoTween system.
HungryBat.mp4
Credits: