Auto Maple
Auto Maple is an intelligent Python bot that plays MapleStory, a 2D side-scrolling MMORPG, using simulated key presses, TensorFlow machine learning, OpenCV template matching, and other computer vision techniques.
Community-created resources, such as command books for each class and routines for each map, can be found in the resources repository.
Minimap
Command Books
The above video shows Auto Maple consistently performing a mechanically advanced ability combination.
Designed with modularity in mind, Auto Maple can operate any character in the game as long as it is provided with a list of in-game actions, or a "command book". A command book is a Python file that contains multiple classes, one for each in-game ability, that tells the program what keys it should press and when to press them. Once a command book is imported, its classes are automatically compiled into a dictionary that Auto Maple can then use to interpret commands within routines. Commands have access to all of Auto Maple's global variables, which can allow them to actively change their behavior based on the player's position and the state of the game. |
Routines
|
A routine is a user-created CSV file that tells Auto Maple where to move and what commands to use at each location. A custom compiler within Auto Maple parses through the selected routine and converts it into a list of Component objects that can then be executed by the program. An error message is printed for every line that contains invalid parameters, and those lines are ignored during the conversion.
Below is a summary of the most commonly used routine components:
|
Runes
Auto Maple has the ability to automatically solve "runes", or in-game arrow key puzzles. It first uses OpenCV's color filtration and Canny edge detection algorithms to isolate the arrow keys and reduce as much background noise as possible. Then, it runs multiple inferences on the preprocessed frames using a custom-trained TensorFlow model until two inferences agree. Because of this preprocessing, Auto Maple is extremely accurate at solving runes in all kinds of (often colorful and chaotic) environments. |
Video Demonstration
Click below to watch the full video
Setup
- Download and install Python3.
- Download and install the latest version of CUDA Toolkit.
- Download and install Git.
- Download and unzip the latest Auto Maple release.
- Download the TensorFlow model and unzip the "models" folder into Auto Maple's "assets" directory.
-
Inside Auto Maple's main directory, open a command prompt and run:
python -m pip install -r requirements.txt
-
Lastly, create a desktop shortcut by running:
This shortcut uses absolute paths, so feel free to move it wherever you want. However, if you move Auto Maple's main directory, you will need to run
python setup.py
python setup.py
again to generate a new shortcut. To keep the command prompt open after Auto Maple closes, run the above command with the--stay
flag.