This repository contains a collection of Python-based automation projects for various minigames in Mario Party DS. These projects demonstrate the application of computer vision techniques, input simulation, and game-specific algorithms to automate gameplay.
Automatically plays the Domino Effect minigame by detecting and responding to on-screen button prompts.
Key Techniques:
- Real-time window capture
- RGB-based button prompt detection
- Automated key pressing
- Stack-based sequence tracking
Automates the Rail Riders minigame by simulating rapid touch screen swiping.
Key Techniques:
- Mouse movement simulation
- Keyboard input detection
- Window management
- Timing optimization
Uses computer vision to detect and automatically click on stars in the Star Catchers minigame.
Key Techniques:
- Binary masking for white pixel detection
- Connected components analysis
- Real-time star shape identification
- Automated mouse control
Across these projects, the following technologies and libraries are utilized:
- OpenCV: For image processing and computer vision tasks
- NumPy: For efficient array operations
- PyAutoGUI: For mouse and keyboard input simulation
- Keyboard: For key press detection and simulation
- Win32GUI: For window management and focus
- MSS: For screen capture
Each project has its own specific setup instructions, but generally, you'll need:
- Python 3.x installed
- A Nintendo DS emulator (e.g., melonDS)
- Mario Party DS ROM (not provided)
To install the required libraries:
pip install opencv-python numpy keyboard mss pywin32 pyautogui
- Clone this repository
- Navigate to the specific project directory
- Install the required dependencies
- Run the Python script while the emulator is open and focused on the appropriate minigame
The development of these projects involved:
- Analyzing game mechanics and visual cues
- Implementing initial detection and automation strategies
- Optimizing performance through various techniques (e.g., region of interest reduction, algorithm refinement)
- Overcoming challenges specific to each minigame (e.g., timing issues, false positives)
All projects in this repository are released under the MIT License.