Feline Friendship Force
Feline Friendship Force (FFF) is a 2D turn-based puzzle game with 12 levels where the player guides cats using a laser pointer to rejoice in the power of friendship.
Created node editor for level designers
Worked with artist to integrate sprite animation with character movement
Worked on UI interaction
Implemented Enemy AI state machine and transition
Polished the rewarding win screen with better visual effects
Implemented box and water gameplay mechanics
Implemented level progress data saving and loading system
All the movement of the characters is controlled by player input. At the beginning of the game, GameController starts to listen to all events like OnNodeDown, OnNodeUp, and OnNodeDragHit. In MouseController script, the program detects player’s input every frame. Whenever player triggers an event, MouseController informs GameController through the EventManager to call the corresponding method.
NodeConnection indicates how nodes connect with each other. Players can re-pick the node when they keep pressing on the screen and can only move to the adjacent node.
Box element can hide cats from dogs. When the player moves the cat into a box, the cat disappears along with a green outline shader showing on the box, indicating that player can move the cat outside the box as well.
Dogs cannot see the cat inside the box, but they can move through the node with a box on it still.
Water is an obstacle which blocks the movement of both cats and dogs. Dogs cannot even see through the water. There is a pressure plate on another node which controls the water. Whenever there’s an object standing on it, no matter a cat or a dog, the water is off, which means the obstacle is gone.
Enemy AI conveyance is clear. Dogs can see through nodes connected in a straight line unless there are any obstacles. If the dog sees a cat, it turns to chase mode. If the dog cannot see a cat anymore, it turns to still mode with a question mark on its head.
When both cats are on the same node the win screen shows the player what achievements they earned. And the data will be saved locally so that players can restart the level and change their strategy to get extra items or find the shortest path to beat the level.