Discover and explore top open-source AI tools and projects—updated daily.
Create custom Smash Bros: Melee AI
Top 99.8% on SourcePulse
The libmelee
library provides a Python 3 API for creating custom AI for Super Smash Bros. Melee, compatible with Slippi Online. It allows developers to interact with the game's state and control characters programmatically, enabling the development of AI agents for training, research, or competitive play.
How It Works
libmelee
interfaces with the Melee game through Slippi's online functionality and Dolphin emulator's input mechanism. It captures the game state frame-by-frame, providing detailed information on character positions, animations, and game events. The library then allows AI agents to send controller inputs back to the game, enabling real-time interaction and control. libmelee
normalizes some of Melee's internal inconsistencies, such as animation frame indexing, to provide a more intuitive and consistent API for developers.
Quick Start & Requirements
pip3 install melee
./Slippi_Online-x86_64.AppImage --appimage-extract
.GALE01r2.ini
with the one found at https://github.com/altf4/slippi-ssbm-asm/blob/libmelee/Output/Netplay/GALE01r2.ini. On Linux AppImage, this file is located at squashfs-root/usr/bin/Sys/GameSettings/GALE01r2.ini
.python3 example.py -e PATH_TO_SLIPPI_FOLDER
(replace PATH_TO_SLIPPI_FOLDER
with the Slippi folder, e.g., squashfs-root/usr/bin/
on Linux AppImage).Highlighted Details
Maintenance & Community
The library is actively improved. Users are advised to stay updated via pip3 install --upgrade melee
. Specific community links (Discord/Slack) or social handles are not mentioned in the README.
Licensing & Compatibility
The license is not specified in the provided README. Compatibility for commercial use or closed-source linking is not detailed.
Limitations & Caveats
Users are strictly warned against playing on Unranked matchmaking with AI bots until official bot account support is implemented, as violations may lead to account bans. Some game values are unintuitive but unavoidable due to Melee's internal workings, requiring developers to understand these nuances. The API has undergone changes, with older values slated for removal in version 1.0.0.
1 year ago
Inactive