mirror of
https://github.com/cmclark00/mintris.git
synced 2025-05-18 05:55:20 +01:00
- Added global leaderboard functionality via Google Play Games Services. - Implemented sign-in process for Google Play Games and score submission. - Updated UI to include leaderboard buttons in both MainActivity and HighScoresActivity. - Enhanced README to document new online features and leaderboard integration. - Added necessary dependencies in build.gradle and updated AndroidManifest.xml for Google Play Games configuration.
120 lines
No EOL
4 KiB
Markdown
120 lines
No EOL
4 KiB
Markdown
# pixelmintdrop
|
|
|
|
A modern falling block puzzle game for Android, featuring smooth animations, responsive controls, and a beautiful minimalist design.
|
|
|
|
## Features
|
|
|
|
### Core Gameplay
|
|
- Familiar block-stacking gameplay
|
|
- 7-bag randomizer for piece distribution
|
|
- Ghost piece preview for precise placement
|
|
- Hard drop and soft drop controls
|
|
- Advanced move detection (e.g., T-Spins) and scoring
|
|
- Persistent high score system (Top 5)
|
|
- Global leaderboard via Google Play Games Services
|
|
|
|
### Modern Android Features
|
|
- Optimized for Android 11+ (API 30+)
|
|
- Smooth hardware-accelerated rendering
|
|
- High refresh rate support for fluid visuals
|
|
- Haptic feedback for tactile interaction (piece movement, line clears)
|
|
- Automatic Dark theme support
|
|
- Intuitive and responsive touch controls
|
|
- Full edge-to-edge display utilization
|
|
- Google Play Games Services integration for leaderboards
|
|
|
|
### Scoring System
|
|
|
|
Pixelmint Drop features a comprehensive scoring system designed to reward skillful play:
|
|
|
|
#### Base Scores
|
|
- Single line clear: 100 points
|
|
- Double line clear: 300 points
|
|
- Triple line clear: 500 points
|
|
- Quad line clear (4 lines): 1200 points
|
|
|
|
#### Multipliers & Bonuses
|
|
|
|
1. **Level Multiplier**
|
|
- Score multiplied by the current level.
|
|
- Level increases every 10 lines cleared (Max Level: 20).
|
|
|
|
2. **Combo System**
|
|
- Consecutive line clears increase a combo multiplier.
|
|
- Resets if a piece is placed without clearing lines.
|
|
- Multipliers: 1x (1), 1.5x (2), 2.0x (3), 2.5x (4), 3.0x (5+ combos).
|
|
|
|
3. **Back-to-Back Quad Bonus**
|
|
- 50% bonus (1.5x) for clearing 4 lines consecutively.
|
|
- Resets on non-Quad clears.
|
|
|
|
4. **Perfect Clear Bonus**
|
|
- Bonus multiplier for clearing lines leaving an empty board.
|
|
- Multipliers: 2x (Single), 3x (Double), 4x (Triple), 5x (Quad).
|
|
|
|
5. **All Clear Bonus**
|
|
- 2x multiplier for clearing the entire grid of blocks.
|
|
|
|
6. **T-Spin Bonuses**
|
|
- Additional multipliers for executing T-Spin maneuvers.
|
|
- Single: 2x, Double: 4x, Triple: 6x.
|
|
|
|
### Controls
|
|
- **Swipe left/right:** Move piece horizontally.
|
|
- **Swipe down quickly:** Hard drop (instant placement).
|
|
- **Swipe down slowly:** Soft drop (faster downward movement).
|
|
- **Single tap:** Rotate piece.
|
|
- **Swipe up:** Hold piece.
|
|
|
|
### Visual Effects
|
|
- Silky-smooth piece movement animations.
|
|
- Dynamic pulsing border glow during line clears.
|
|
- Clear ghost piece preview for accurate drops.
|
|
- Subtle block glow effects.
|
|
- Clean grid lines for better visibility.
|
|
- Engaging animated title screen featuring falling pieces.
|
|
- Multiple theme options with ability to change manually or enable Random Mode (unlocked when 2+ themes are available).
|
|
- In Random Mode, themes change automatically every 10 line clears (1 level).
|
|
|
|
### Online Features
|
|
- Global leaderboard support through Google Play Games Services
|
|
- Sign in with your Google account to compete with players worldwide
|
|
- Your highest scores are automatically submitted to the leaderboard
|
|
- View the global leaderboard directly from the game
|
|
|
|
## Technical Details
|
|
|
|
### Requirements
|
|
- Android 11 (API 30) or higher.
|
|
- Hardware acceleration support.
|
|
- Minimum 2GB RAM recommended.
|
|
|
|
### Performance Optimizations
|
|
- Leverages hardware-accelerated rendering via Android Canvas.
|
|
- Efficient collision detection algorithms.
|
|
- Optimized grid data structures and operations.
|
|
- Targets smooth 60fps animations.
|
|
- Score calculations performed on a background thread to maintain UI responsiveness.
|
|
|
|
### Architecture
|
|
- Developed entirely in Kotlin.
|
|
- Utilizes Android Canvas API for custom drawing.
|
|
- Adheres to Material Design principles for UI/UX.
|
|
- Persists high scores using SharedPreferences.
|
|
|
|
## Building from Source
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/cmclark00/pixelmintdrop.git
|
|
```
|
|
2. Open the project in Android Studio.
|
|
3. Build and run on a compatible Android device or emulator (API 30+).
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a Pull Request with improvements or bug fixes.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the `LICENSE` file for details. |