No description
Find a file
cmclark00 14205b2b0a Enhance: Update Google Play Games integration and versioning
- Incremented version code to 5 and version name to 0.4 in build.gradle.
- Removed Google Play sign-in buttons from both portrait and landscape layouts.
- Updated HighScoresActivity to hide the leaderboard button.
- Improved score submission process in GooglePlayGamesManager with forced sign-in and user feedback.
- Enhanced MainActivity to submit scores to Google Play Games upon game over.
2025-04-02 19:52:02 -04:00
.vscode Initial commit: Modern Tetris implementation with official rules and scoring system 2025-03-26 12:44:00 -04:00
app Enhance: Update Google Play Games integration and versioning 2025-04-02 19:52:02 -04:00
gradle/wrapper Refactor: Introduce ViewModel for score/level, fix game over flow 2025-04-01 14:39:27 -04:00
website Add Pixel Mint Games website with Pixel Mint Drop game showcase 2025-04-01 12:00:27 -04:00
.gitignore Enhance: Add gradle.properties for keystore configuration and update .gitignore to include gradle.properties and hprof files 2025-04-01 16:12:08 -04:00
build.gradle Initial commit: Modern Tetris implementation with official rules and scoring system 2025-03-26 12:44:00 -04:00
gradle.properties Enhance: Add gradle.properties for keystore configuration and update .gitignore to include gradle.properties and hprof files 2025-04-01 16:12:08 -04:00
gradlew Initial commit: Modern Tetris implementation with official rules and scoring system 2025-03-26 12:44:00 -04:00
gradlew.bat Initial commit: Modern Tetris implementation with official rules and scoring system 2025-03-26 12:44:00 -04:00
README.md Enhance: Integrate Google Play Games Services for global leaderboard 2025-04-02 14:32:09 -04:00
settings.gradle Rename project from Mintris to Pixel Mint Drop, updating all relevant namespaces, package names, and UI elements to reflect the new branding. Adjust styles, themes, and repository links accordingly. 2025-04-01 07:52:15 -04:00
tatus Rename project from Mintris to Pixel Mint Drop, updating all relevant namespaces, package names, and UI elements to reflect the new branding. Adjust styles, themes, and repository links accordingly. 2025-04-01 07:52:15 -04:00

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.