👉 https://radigirl.github.io/pengphin-adventures/
PengPhin Adventures is a responsive Angular memory game designed for children, combining playful gameplay with thoughtful UX and educational elements.
Players join Peng the penguin and Phin the dolphin on a journey through multiple themed worlds, matching animals, discovering special cards, and progressing through a structured adventure.
This project started as a way to build something meaningful and fun for my child. The goal was to create a simple but engaging memory game that feels playful, visually clear, and rewarding to interact with.
It is also developed as a portfolio project, focusing on clean Angular architecture, responsive design, and product thinking beyond basic functionality.
- Angular (standalone components)
- TypeScript
- SCSS
- Web Speech API (in progress)
-
Multi-world progression system
(Ocean → Farm → Jungle → Arctic → Dinosaur → Space) -
Global level progression across all worlds
(continuous level numbering instead of resetting per world) -
Memory-based gameplay with matching mechanics
-
Special cards:
- 🎁 Bonus cards (reward coins)
- 😈 Mischief cards (swap positions with another hidden card, or move the first selected card if revealed second)
-
Hint system to support young players
-
Mascot-driven interaction
Peng 🐧 and Phin 🐬 guide the player, provide feedback, and enhance engagement -
🗣️ Speech-enhanced interaction (in progress)
Character voice feedback is being developed using the Web Speech API to create a more engaging experience -
🌍 Bilingual support (English 🇬🇧 / Bulgarian 🇧🇬) – in progress
The game is being prepared for multilingual content and speech in both English and Bulgarian -
Responsive design (mobile, tablet, desktop)
-
World-specific visual theming:
- different backgrounds per world
- board styling variations
- score bar styling
- mascot presentation and UI colors
- Adaptive layout across mobile, tablet, and desktop
- Game board dynamically adjusts rows and columns based on screen size and level complexity
- Card sizes scale to maintain usability and visual balance
- Mascots reposition responsively:
- Desktop: full side placement
- Mobile: partially hidden “peek” design to preserve space while keeping character presence
- Layout carefully prevents overlap with UI elements (HUD, feedback banner), even for tall boards
The game is designed with simple educational goals in mind:
- Improve memory and recall
- Support focus and concentration
- Encourage pattern recognition
- Introduce language elements (through future speech and descriptions)
The game has been tested with a real young user — my 5-year-old child — helping guide design decisions around interaction, clarity, pacing, and feedback.
This influenced:
- simpler interactions
- clear visual feedback
- accessible and child-friendly gameplay mechanics
- engaging reward systems
The game uses a structured progression system designed to gradually introduce new mechanics.
| Level | Mechanics |
|---|---|
| Level 1 | Pure memory (no special cards) |
| Level 2 | Bonus cards (reward-focused) |
| Level 3 | Bonus + Mischief cards |
| Level 4 | Mischief cards (challenge-focused) |
- Ocean
- Farm
- Jungle
- Arctic
- Dinosaur
- Space
Levels are continuous across worlds (not reset per world), creating a stronger sense of progression:
- Ocean → Levels 1–4
- Farm → Levels 5–7
- Jungle → Levels 8–10
- Arctic → Levels 11–13
- Dinosaur → Levels 14–16
- Space → Levels 17–19
- Final Celebration Level → Level 20 (planned, combining animals from all worlds)
Peng and Phin are more than visual elements — they are part of the gameplay experience:
- Guide the player through the game
- Provide feedback during gameplay events
- Support onboarding and transitions between worlds
- Add personality and emotional engagement
- World content is defined through configuration (
WorldConfig) - Levels are structured per world and combined through global progression logic
- UI styling is driven by per-world theme configuration
- Game state is managed through component logic and services
(Current version – visuals are actively being improved)
Run the project locally:
ng serve
Then open:
- Hint can be triggered multiple times before being consumed (edge case)
- UI polish improvements still in progress
- Some animations and transitions are simplified for now
- Add a final celebration level (Level 20) combining animals from all worlds
- Introduce distinct voices for Peng and Phin
- Improve speech timing and interaction flow
- Complete speech system for Peng and Phin (timing, voices, interaction flow)
- Complete bilingual support (English and Bulgarian content and speech)
- Add animations and celebration moments
- Enhance accessibility and interaction polish
PengPhin Adventures aims to grow into a playful, child-friendly learning experience that combines engaging gameplay with strong frontend engineering.
The goal is to balance fun, accessibility, and clean architecture in a project that demonstrates both technical skill and product thinking.
This project is for educational and portfolio purposes.


