Skip to content

An AI that learns to play Super Smash Bros. Melee via imitation learning

License

Notifications You must be signed in to change notification settings

jdipalermo27/ssbm-bot

 
 

Repository files navigation

SmashBot

A psuedo imitation learning AI to play super smash bros

Disclaimer: I am making the code public, however I am not able to dedicate the time to help anybody troubleshoot anything, or to make the tool more user friendly. Utilize and build upon at your own risk. I'm very sorry but I'm too lazy to make most things work through arguments, so you will need edit variables in the code to change stuff.

Usage

Step 0: Follow the libmelee setup instruction. Set the dolphin path in Args.py

Step 1: Get a melee ISO, name it SSBM.iso and put it in the main folder.

Step 2: Get alot of slippi replays. For my project, I used this dataset, however even this was more limited then I would like. Best case scenario, is alot of replay by a single player against a bunch of different opponents. Your mileage may vary.

Step 3: Change the replay_folder variable to the path to your dataset, and run organize_replays.py

Step 4: Run generate_data.py . Depending on the size of your dataset, this may take a very long time.

Step 5: Set player_character, opponent_character, and stage to your desired targets and run train.py. You will need to tune the optimizer, learning rate, network structure with different targets.

Step 6: Set the same targets in duel.py and run it. You can very the models "attack weighting" by changing the denominator in Datahandler.py line 231

About

An AI that learns to play Super Smash Bros. Melee via imitation learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%