"Meow-sion Impossible" offers a thrilling experience where players assume the role of an optimistic cat. Through a special syringe shooter, strategy, and cunning, escape from the veterinary lab!
With four unique levels, Meow-sion Impossible is a puzzle game that strongly emphasizes stealthily maneuvering throughout the laboratory. However, stealth is not everything! Using the syringe shooter on the back of the cat, take out your enemies! But be warned, the syringes are of a limited capacity, so use them deliberately! you help the cat escape the clutches of the evil scientists in the veterinary lab? Or will the cat be doomed to a life of experimentation and captivity?
As one of the programmers on the team, I mainly focus on cat control, animation implementation, and user interface in the game. Besides, I also contributed to finding suitable audio assets and implementing them into the game. Wrapping up the game, making it published and no-bugs, and building the apk of the game are also my responsibilities.
One of the key elements of this top-down game is the cat's movement – TAP to move the cat. Each time the player touches the screen, if the touch position fulfills the condition, the touching position would be stored in the touches array, and the target position of the cat would be set, making it move in the FixedUpdate().
In order to make the sprite animated, I made the sprite changer which change the sprite render of the Enemy or the Car based on the rotation or facing direction. The animated cat movement is also made by the sprite changer.
Once the player picks up the ammo, the shoot button will have a pick-up cooldown animation. After the cooldown, the button becomes red. If the ammo number is less than 1, the button area will be grey. The player can’t shoot by pressing the grey shoot button during the cooldown or 0 ammo number.
Implement the wonderful art comic created by the amazing artist Emily Yin and add some sound effects into the game.
Good Vision: Early stage we established a strong vision which we stuck with.
Scheduled time in advance for bug-fixing which saved a lot of time later.
The great warm atmosphere brought joy to the workplace, i.e. team lunch, music, and snacks.
Artists had great creative freedom which brought passion and motivation.
Organized: Stick to documents like Miro board and GDD. Had most of the tasks listed in sprint planning and followed the scrum board.
Productive disagreement in the POCT stage helped the team to have a clear vision.
Respect other people's work and be aware of other people's efforts.
Bedtime check-ins. Help be aware of everyone's health stage.
Perforce wise good: We had no overwriting, and we were always checking if something was checked out.
Prioritizing: We cut many things before implementing them, making our game kind of in-scope.
Slow start: We barely met a couple of early milestones. This is because we did not have Plan B for stakeholders if things did not go well for Plan A.
Unity rendering pipeline ate up time and caused lag and issues.
The new input system wasted time. Not knowing how much time was needed to implement new features caused difficulties for planning.
Work overtime: changes for stakeholder requests or internal decisions.
Lack of accountability: We sometimes missed that part of accountability in RACI when we needed to test new features or new changes in level. This could result in some final changes in the build that may be problematic.
Sleep deprivation: impact on efficiency in impact.
Weak time estimation on tasks. Underestimate the time of tasks.
LD was suffering from the chaos of the Unity Editor and SD did this to LD.
Have a contingency plan for milestone showcase: Do not implement something that is not currently working right now. Prepare a playable version.
Always stick with the simplest and easiest way of solving the problem instead of using some fancy new methods, even though that's CPU-consuming.
Importance of organizing files: Naming convention and folder path, otherwise it is hard to find names.
How to work with other disciplines and adjust communication styles based on individuals.
Choose the rendering pipeline carefully, otherwise, issues may creep up i.e. lighting.
Clean code is easier to debug. Comment properly.
Prioritize tasks based on importance not randomly.
Playtest more with other random testers, not internally, because the play styles can vary.
What testers said was not always what they meant.