This is a parkour game.
Objective : Perform parkour, save as many cats as possible including yourself from the calamity.
1. Movements: w,a,s,d or arrow kays.
2. Jump: space (only if it is allowed.)
3. Climb: space (only if there are anything to climb)
4. Jump down: space (If there is a ledge)
5. Drop to hang: c (if there is a climb ledge near)
6. Drop from hanging: c (if the player is hanging)
You can use combination of these to play.
Design patterns:
1. Singleton: (for maintaining data persistancy across scences)
2. MVCS : (for modular code and ceparation of concern of entities)
3. Object Pooling : (For collatables)
4. Observer : (for on screen message and other UI and triggers)
5. Dipendency injection : (To manage dependancy)