CATAGOCHI ML
A downloadable game
AI IMPLEMENTATIONS:
Navigation (Pathfinding & NavMesh)
The mesh (room) contains Points of Interest: Food Bowl, Bed, etc.
In the room there are many obstacles (table, TV, sofa) and the cat must use NavMesh to
recalculate his path avoiding the obstacles.
The cat can adopt different behaviours:
- Wander: Randomly navigates through the room
- Pursuit: If the player throws a toy or puts food in the bowl, the Cat enters Pursuit
mode to intercept the ball or eat the food.
Reinforcement Learning
The cat is a Reinforcment Learning agent.
Observations:
- Current levels of Hunger, Energy and Affection (0.0 to 1.0)
- Distance to the nearest POI
- Is the Player scolding?
Actions:
- Discrete Branch 1: Move to [Food, Bed, Sofa]
- Discrete branch 2: Action [Meow, Scratch, Eat, Sleep]
Reward Function:
- Eating when hungry: +1.0
- Scratching post: +0.5
- Scratching sofa: -1.0 If scolded by player.
The cat, for instance, can learn that scratching the sofa is risky while behaving well has
positive benefits.
Behaviour Trees
Priority 1: Emergency -> “Is my [Hunger, Sleep] under 0.5?” If yes, it triggers the NavMesh to
find the [Bowl, Bed]. If no, moves to the next branch.
Priority 2: Affection -> “Is my affection under 0.5?” If yes, the cat Meaws until is noticed by
the player. If no, continues to the next branch.
Priority 3: Free Will -> If the cat is safe, full, and loved, the ML-Agent takes over. The cat’s
trained brain will decide if he wants to nap, play, wander or scratch.
Personality Test
At the beginning of the game there is a personality test with multiple questions. We used an
apikey from openai to generate random questions inside unity. But they just generate once
and its not random between builds so it would actually been easier to just generate 10
questions with chatgpt online.
Depending on how the questions are answered, the player gets a cat between multiple
options with different appearance, name and personality.
THE ENVIRONMENT:
The living room is a closed box with 1 NavMeshSurface. It has different Points Of Interest:
- The Food Bowl: If its empty, it will not trigger anything into the cat, if the player fills it
and the cat is hungry he will eat.
- Furniture: Non interactable except for the sofa, which the cat can scratch. If the
player catches him he can scold him.
- Toys: The player can throw toys into the living room, and if the cat is happy he can
play with them.
- Cat Bed: The cat will use it if he’s sleepy.
THE PLAYER INPUTS:
The Player can:
- Pet the cat: If the cat has low affection or if he has been behaving well, the player
can pet the cat to teach him how to behave.
- Scold the cat: If the cat has been behaving badly (scartching the sofa), the player can
scold him so he learns he should not do that.
- Throw toy: Give the cat something to play with.
- Fill food bowl: TO let the cat eat when he’s hungry.
CORE LOOP
1. Monitor: Observe the Cat’s needs (Hunger, Energy, Affection, Boredom)
2. Interact: The player provides stimuli (Food, Toys, Discipline).
3. Learn: The cat’s ML-Agent brain updated its policy based on rewards and
punishment.
4. Evolve: The Cat develops unique habits.
| Published | 2 days ago |
| Status | Released |
| Author | PauGonzalez |
Download
Click download now to get access to the following files:

Leave a comment
Log in with itch.io to leave a comment.