A classic memory matching game featuring fantasy creatures called "Astors" with original background music. Built with Kotlin Multiplatform and Compose Multiplatform, targeting both Android and iOS.
Flip cards to reveal Astor creatures and find matching pairs. Clear the board by matching all cards!
Scoring System:
- Starting Score: Based on difficulty (e.g., 12 pairs = 1200 points)
- Combo Bonus: Points increase with consecutive matches
- Miss Penalty: Score decreases for mismatched cards
- Cross-platform game engine (Android & iOS)
- Unique AI-generated Astor creatures fetched dynamically
- Original background music and sound effects
- Multiple difficulty levels (1 to 30 pairs)
- Dark mode support
- Configurable grid layouts
- Local high scores
- Clean, responsive interface
- No registration required
This project demonstrates modern Kotlin Multiplatform (KMP) development with shared business logic across platforms.
Multiplatform Core:
- Kotlin Multiplatform (KMP) - Shared codebase for Android & iOS
- Compose Multiplatform - Declarative UI framework for both platforms
- SQLDelight - Type-safe database for local persistence
- Koin - Dependency injection
- Kotlinx Coroutines - Asynchronous programming
Platform-Specific:
- Android: SoundPool & MediaPlayer for audio
- iOS: AVAudioPlayer for audio playback
- Shared Preferences (Android) / NSUserDefaults (iOS) for settings persistence
- Expect/Actual Pattern for platform-specific code (audio, preferences)
- Dynamic Layout Calculations for responsive grid sizing
- Custom Audio System with sound effects and background music
- Navigation with type-safe Compose Navigation
- State Management with Kotlin StateFlow
- Original Version: AstorMemory (Native Android)
- Background Music: AI-composed tracks
- Astor Creatures: Assets from:
- Mythic Monsters I
- Mythic Monsters II
- Lucky Bestiary
- Farm Animals
- Font Pixellari
- Retro 8-Bit Monster Pack
A cross-platform memory game showcasing modern Kotlin Multiplatform development practices.


