mintris/README.md
cmclark00 220caa39f7 Enhance: Integrate Google Play Games Services for global leaderboard
- 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.
2025-04-02 14:32:09 -04:00

4 KiB

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:
    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.