A pixel-art emotional virtual pet mobile game focused on emotional well-being and habit formation.
Built with Unity 6.3 LTS · C# · Android
Current build features:
- Pixel-art cat with idle blink and sway animations
- 4 stat bars (Hunger, Happiness, Energy, Cleanliness) with real-time decay
- 5-state emotion system (Happy, Sad, Hungry, Tired, Neglected) driven by stat thresholds
- Sleep mechanic with gradual energy regeneration and button locking during sleep
- Overeating penalty (feeding past a hunger threshold reduces happiness)
- Combo "neglected" state triggered when multiple stats drop critically low simultaneously
- Mobile portrait UI (1080x2400) with pixel-perfect scaling across resolutions
- Built in Unity 6.3 LTS (C#) targeting Android
AnimaFelis is a 2D mobile game where players care for a pixel-art cat whose mood and health reflect the player's daily habits. The pet reacts expressively to neglect, play, feeding, and rest, making emotional well-being tangible and interactive.
This project is a self-directed Final Year Project (FYP) and primary portfolio piece, demonstrating mobile game development in Unity, state-driven game systems, PixelArt UI design, and iterative gameplay design.
- Emotion Engine — 5 emotional states:
HAPPY,SAD,HUNGRY,TIRED,NEGLECTED - Stat System — 4 stats tracked in real time: Hunger, Happiness, Energy, Cleanliness
- Stat Decay — all 4 stats decrease over time at tuned rates, driving automatic state transitions
- Sleep Mechanic — gradual rest/sleep toggle with button locking during sleep state; Energy restores on wake
- Overeating Penalty — feeding when Hunger is full triggers a negative happiness penalty
- Cleanliness Drain — Cleanliness drains independently; low cleanliness affects overall pet state
- Dark purple (
#1a1a2e) background theme with lavender (#e8b4f8) accents - 4 stat bar sliders (HungerBar, HappinessBar, EnergyBar, CleanlinessBar) wired to the emotion engine
- 4 action buttons anchored to the bottom of screen via a ButtonPanel:
- 🐟 Feed · 🧶 Play · 🌙 Rest · 🫧 Clean
- Custom pixel-art icons (normal + pressed states via Sprite Swap)
- Conditional state-based locking (e.g. buttons lock during sleep)
- 32×32px pixel-art cat sprite (Point filter, RGBA 32-bit)
- Idle blink animation with ear and tail movement
- Idle sway animation
- All pixel-art UI assets designed in Pixel Studio
- Core pet state machine (5 emotions, 4 decaying stats)
- Action buttons (Feed, Play, Rest, Clean) wired to gameplay logic
- Per-state sprite variants (happy, sad, hungry, tired, neglected)
- Sleep mechanic with gradual energy fill and button locking
- Overeating/Overplaying/Too-clean penalties
- Combo "neglected" state (multiple stats critically low at once)
- PixelArt stat bar icons
- Mobile portrait UI (1080x2400), tested across resolutions
- Button press animations
- Action-specific animations (cat reacts visually when Fed, Played with, Rested, or Cleaned)
- Multiple home background themes (seasonal and time-of-day variants)
- Outdoor exploration mode (grid-based overworld)
- Tilemap setup
- Grid movement script
- Cat directional walk animations
- Camera follow
- Scene transition from home scene
- Stat system integration (outdoor actions affect stats)
- Sound effects for actions and state changes
- Habit tracker integration, real-world habits feed pet stats
- Daily check-in system (mood logging tied to pet mood)
- Notification system (pet reminds you when neglected)
- Save/load system (persist pet state between sessions)
- Multiple pet types / unlockable skins
- MiniGames triggered by the Play action
- Android build and Play Store deployment
- WebGL build for browser demo (stretch goal)
- Engine: Unity 6.3 LTS
- Language: C#
- Target Platform: Android
- Art: Custom pixel art (32x32, drawn in Pixel Studio)
- Architecture: Single state machine (
PetStateMachine) driving stat decay, emotion transitions, and sprite swapping via a singleSpriteRenderer
AnimaFelis/
├── Assets/
│ ├── Animations/ # Sprite animation clips and controllers
│ ├── Scripts/ # C# game logic (PetStateMachine.cs, ...)
│ ├── Scenes/ # Unity scenes
│ └── Sprites/ # Pixel-art sprites and icons
├── .gitignore
└── README.md
These Android/Java prototypes were built first to validate the core logic before moving to Unity:
animafelis-pet-state— Pet state machine: 5 states, 3 stats, 4 actions (Java, Android Studio)animafelis-mood-logger— Mood logging app with real-time scrollable history (Java, Android Studio)
Lai Zie Jin (AzuMaooo) · Year 2 Software Engineering, UTAR Sungai Long Campus
Solo developer on all AnimaFelis projects. Seeking a game development internship (October 2026).


